Pull to refresh
25
0
Евгений Тарасов @tranquil

Пользователь

Send message

Simon Marlow уходит из Microsoft Research в Facebook

Reading time1 min
Views9.3K
Сегодня в почтовой рассылке Simon Marlow объявил о том, что он уходит из MIcrosoft Research.

«Я планирую взять небольшой перерыв и завершить мою книгу о многопоточном и параллельном программировании на Haskell для издательства O'Relly, а затем начать работу в британском офисе Facebook в марте 2013 года» — пишет он.

Simon Marlow — один из создателей языка Haskell и один из ведущих разработчиков единственного наиболее популярного компилятора, GHC.
Читать дальше →
Total votes 39: ↑32 and ↓7+25
Comments9

Жизнь без объектов

Reading time5 min
Views21K
(Перевод)

Последние несколько лет я провел в изучении и экспериментах со многими языками программирования. В частности, я начал использовать Scala как основной язык, стараюсь использовать функциональный стиль везде где это возможно. Меня также весьма заинтересовал Haskell (чистый функциональный язык) и Clojure (современный диалект Лиспа).

Таким образом, я постепенно отказываюсь от объектно-ориентированной парадигмы, несмотря на то, что использовал в основном её последние 17 лет моей профессиональной деятельности. У меня появляется чувство, что объекты это то, что мешает нам писать лапидарный, структурированный и повторно используемый код.
Читать дальше →
Total votes 181: ↑160 and ↓21+139
Comments226

JQuery-UI внутри бинарника

Reading time3 min
Views1.1K
У программ на хаскеле есть одно свойство. После компиляции мы получаем самодостаточный бинарник, один файл с исполняемым машинным кодом. Языков с компиляторами, удобных для веб разработки, не так уж и много. Это свойство не имеет особого значения. Однако, оно позволяет добиться непревзойдённого удобства установки программ. И не только установки, но и всего того, что скрывается за английским словом deployment.

Веб-приложения используют дополнительные данные — изображения, стили css, скрипты javascript. Как правило они хранятся отдельно от исполняемого кода приложения в файловой системе веб-сервера. Но если этих дополнительных ресурсов меньше мегабайта — почему бы не встроить их прямо в бинарник? Сделаем deployment веб-приложений проще!
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments7

Haskell в настоящем проекте

Reading time5 min
Views10K
Мне приходилось участвовать в проектах на c++ с количеством строк более 600 000. Поэтому сложно назвать проект на 5000 строк настоящим. И тем не менее, для хаскеля и мотивации just for fun это немалый объём.

Эта небольшая программа[1] пишется в свободное время, поэтому времени ей сильно не хватает.

Хотелось бы описать некоторые впечатления об использовании хаскеля на практике.
Читать дальше →
Total votes 55: ↑45 and ↓10+35
Comments52

Web-интерфейс для Iptables

Reading time4 min
Views73K
# iptables -t nat -N test
# iptables -t nat -A test -p tcp -j REDIRECT --to-port 80
# iptables -t nat -A test -p tcp -j MASQUERADE
# iptables -t nat -A POSTROUTING -j test
iptables: Invalid argument. Run `dmesg' for more information.
# dmesg | tail -n 1
ip_tables: REDIRECT target: used from hooks POSTROUTING, but only usable from PREROUTING/OUTPUT
# iptables -t nat -A PREROUTING -j test
iptables: Invalid argument. Run `dmesg' for more information.
# dmesg | tail -n 1
ip_tables: MASQUERADE target: used from hooks PREROUTING, but only usable from POSTROUTING


Это пост о программе Iptables и о веб-интерфейсе для неё.
Читать дальше →
Total votes 91: ↑61 and ↓30+31
Comments49

Haskell без монад

Reading time10 min
Views7.1K
Любой программист, изучающий haskell, рано или поздно встречается с таким непостижимым понятием как монада. Для многих знакомство с языком заканчивается монадами. Существует множество руководств по монадам, и постоянно появляются новые (1). Те немногие, кто понимает монады, тщательно скрывают свои знания, объясняя монады в терминах эндофункторов и естественных преобразований (2). Ни один опытный программист не может найти монадам место в своей устоявшейся картине мира.

В результате java-программисты только посмеиваются над хаскелем, не отрываясь от своего миллионострочного энтерпрайзного проекта. Разработчики на С++ патчат свои сверх-быстрые приложения и придумывают ещё более умные указатели. Веб-разработчики листают примеры и огромные спецификации по css, xml и javascript. А те из них, кто в свободное время изучает haskell, сталкивается с труднопреодолимым препятствием, имя которому монады.

Итак, узнаем как программировать на хаскеле без монад.
Читать дальше →
Total votes 66: ↑59 and ↓7+52
Comments26

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity