Показаны сообщения с ярлыком язык OCaml. Показать все сообщения
Показаны сообщения с ярлыком язык OCaml. Показать все сообщения

вторник, 17 января 2012 г.

[prog] Прочитал тут статью Аарона Минского “OCaml for the Masses”…

…которая на acmqueue с подзаголовком “Why the next language you learn should be functional” (статья не новая, от 27 сентября 2011, но мне попалась на глаза случайно пару дней назад).

Сразу скажу: не торкнуло меня. Не понял ни почему следующим для изучения языком должен быть функциональный, ни почему этим функциональным языком должен быть OCaml. В очередной раз вижу причину этого в том, что евангелисты функциональщины не могут привести нормальных примеров, которые заинтересовали бы обычных разработчиков вроде меня.

Развитие темы под катом, поскольку букв много.

понедельник, 25 января 2010 г.

[comp.prog] Ссылки от читателей: OCaml в Jane Street

Ув.тов.Rustam дал в комментарии к одной из предыдущих заметок ссылку на сайт компании Jane Street Capital, в которой активно используется OCaml: http://www.janestreet.com/technology/ocaml.php

На этой странице перечислены три PDF-ки с описанием того, как Jane Street пришла к использованию OCaml, что хорошего в OCaml, что плохого, чем им OCaml помог.

Первая PDF-ка, Caml Trader: Adventures of a functional programmer on Wall Street (2006 год) – это слайды презентации с конференции Commercial Users of Functional Programming. Такой небольшой, в виде тезисов, рассказ. Кроме того, там приведен объем написанного в Jane Street OCaml-овского кода – на 2006 год это 250KLoc (учитывая, что OCaml-овский код в 1.5-2.5 раза компактнее C++ного, это вполне внушительная цифра).

Две следующие PDF-ки, Caml Trading: Experiences in Functional Programming on Wall Street (2007 год) и Caml trading: experiences with functional programming on Wall Street (2008 год), по сути, являются раскрытием тезисов из первой презентации. Причем обе настолько похожи между собой, что при беглом просмотре не понятно, чем они друг от друга отличаются.

В кратце, суть такова: была маленькая, никому не известная трейдинговая компания Jane Street, у которой в 2003 году даже не было клиентов. Софт у нее был написан, в основном на Excel-е и VB (плюс еще что-то на C#, Java и C++). Поскольку Excel+VB не справлялись с возрастающим объемом торгов, то нужно было переходить на что-то более быстрое. Попытки использовать C# не увенчались успехом, зато OCaml эпизодически применялся в Jane Street с 2002-го года и в 2005 руководство дало добро на его широкомасштабное применение. С тех пор OCaml является основным языком разработки.

Перечислять сильные и слабые стороны OCaml-а, которые упоминались в статье, я не буду – лучше их прочитать и самостоятельно сделать выводы. Поскольку некоторые моменты там интересные (например, во второй PDF-ке одним из достоинств OCaml-а называют возможность программирования без использования наследования).

Я же заострю внимание на двух вещах.

Во-первых, как OCaml проник в Jane Street. Как я понял, основным “разносчиком заразы” ;) стал Yaron Minsky. Который получил PhD в области распределенных систем в Cornell, потом около года работал консультантом (в том числе и на Jane Street), а затем перешел в Jane Street на постоянную работу. OCaml он использовал еще в Cornell-е, потому и подвинул его в Jane Street. Но важнее как раз сам факт наличия PhD – я давно подозревал, что для успешного использования функциональных языков нужна ученая степень ;)

Во-вторых, в каждой из трех перечисленных работ подчеркивается один и тот же важный момент: OCaml помогает им набирать хороших программистов. Мол, Java-разработчиков полно и среди них есть отличные ребята, но вот как толковых найти среди толпы посредственностей – вопрос без ответа. А с OCaml все просто – раз человек программирует на OCaml, значит он уже по факту не может быть бестолковым (грубо говоря).

Так что я еще раз повторю мысль, которую озвучивал уже неоднократно: сейчас функциональное программирование выглядит очень привлекательно потому, что его применяют очень умные люди в очень ограниченных контекстах. Как только ФП проникнет в широкие массы и на OCaml/Haskell/Erlang начнут писать толпы обычных программистов, то мало никому не покажется. Если не верите – посмотрите на то, что мы уже сделали с ООП ;)

PS. Еще одно соображение не могу не высказать. OCaml в 2003-2005 действительно был вне конкуренции по сравнению с VB и C#. Тогда ведь в C# даже дженериков не было. Сейчас, возможно, преимущества OCaml над C# не так очевидны. Хотя практика показывает, что .NET для биржевых приложений – это как-то не очень… ;)

вторник, 1 декабря 2009 г.

[comp.prog] Ссылки от читателей: OCaml => JavaScript

Иногда в комментариях читатели блога дают интересные ссылки. Чтобы эти ссылки не потерялись, буду выносить их наверх отдельными заметками. Вдруг со временем пригодятся.

Cсылки на трансляторы из OCaml в JavaScript от ув.тов.Rustam:

ocamljs – транслятор OCaml-а в JavaScript (при этом используется стандартный фронт-энд компилятора OCaml-а, поэтому со временем можно ожидать полной поддержки языка).

O’Browser – виртуальная машина OCaml-а, написанная на JavaScript. Позволяет, как я понимаю, запускать в Web-страничке написанные на OCaml скрипты. В самом руководстве есть примеры того, как это выглядит – можно запустить OCaml скрипт и можно посмотреть, как он выглядит:

(как по мне, так OCaml в виде скрипта еще менее читаемый, чем в виде автономной программы ;)