Tuesday, May 29, 2007

Функциональные языки: вести с полей

Последние полгода-год видно не сказать чтобы неожиданный, но значительный рост интереса к ФЯ. Поэтому я тут решил немножко пошариться по всяким сообществам, блогам и форумам и оценить, так сказать, динамику. Выходит вот что:

Haskell

Мейнстримом, понятно, ему не быть, слишком много сложных экспериментальных фич, язык, крутая learning curve -- учитывая все это, можно сказать что хаскель уже популярен донельзя. Кое-где даже встречается в объявлениях о поиске сотрудников, у "них" вот Credit Suisse его использует. Pugs тоже сыграл большую роль в том что название "хаскель" слышали даже не очень сильно интересующиеся вопросом товарищи. Насчет того чтоб он как-то серьезно применялся в России -- не слышно и не видно.

O'Caml

Окемлу лет тоже уже много, так что резкие всплески популярности он уже пережил -- самый прагматичный язык, с замечательным оптимизирующим компилятором. В Jane's Capital вроде как его активно любят (почитать можно тут). Рекрутеры продвинутые тоже знают. Вот тут  люди в Москве на нем даже игры разрабатывают.

F#

Бурно развивающийся диалект Ocaml'а для .net. Точнее от ocaml он уже довольно-таки далеко. Огромный плюс в том что засчет использования .net нахаляву получаем интеграцию с C#, гуи и IDE. В этом году выходят сразу три книжки по F#,  активно пиарятся две консалтинговые конторы специализирующиеся на F#: вот и вот. ИМХО вполне себе положительный знак. Программеров на F# правда пока никто не ищет.

Scala

Новый язык, на базе JVM, поддерживает кучу интересных фишек, типа GADT, ОО модель плотно интегрирована с функциональщиной. Больше всего сейчас слышно про веб-фреймворк на scala -- lift. В качестве killer app приводится клон вебдваноль сервиса twitter в 800 строчек, вроде как способный обслуживать до миллиона юзеров с одного сервера. В общем, по мне так -- язык просто замечательный, даже приятнее окемла.

Становится все популярнее и популярнее -- у меня в google alerts уже половина упоминаний scala относится к языку программирования, а не к одноименному оперному театру. Полгода назад показатель составлял 20%.

Erlang

Эрлэнг это, кажется, наиболее успешный функциональный язык после excel'я -- потому что изначально создавался для решения практических задач, и рассчитан на относительно низкий порог вхождения для обучаемых программистов. Killer App из мира open source это jabber-сервер ejabberd. Ну и хрестоматийный пример про маршрутизатор AXD301 на эрланге.

В плане работы -- есть несколько организаций в России которые, похоже, используют Erlang вполне промышленно. Судя по объявлениям о приеме на работу в Питере это StanaPhone (российское отделение крупной американской компании, разрабатывающей VoIP приложения). А в Москве прям сейчас ищет Erlang-программистов довольно крупная медиа-компания A1.