Func links: Caml Trading, Lift/Scala, XMonad, Pragmatic Haskell
ADEptОпубликовано 18.05.2007 в Linkdump, Ресурсы Сети
Этот пост - первый из серии более-менее регулярных (я надеюсь) сообщений о интересных и полезных проектах и статьях, так или иначе имеющих отношение к функциональному программированию. Даже если вы никогда не слышали о Haskell, OCaml, Scala и других подобных языках, вам может интересно (и небесполезно) ознакомиться со ссылками, хотя бы для расширения кругозора.
Have fun!
Caml Trading: Experiences in Functional Programming on Wall Street
Yaron Minsky написал интереснейшую статью об опыте использования OCaml для написания программного обеспечения, задействованного в автоматизации торгов на фондовой бирже. Что заставило финансовую компанию отказаться от VBA и C# в пользу OCaml? Какие свойства языка привели к выбору в пользу OCaml, какие сильные и слабые стороны проявились в процессе написания и эксплуатации программного обеспечения? Как можно подсумировать опыт, накопленый с 2005-го года, и каковы перспективы использования OCaml для написания “больших” приложений?
Обо всем этом можно прочитать на 23 странице седьмого выпуска онлайнового журнала The Monad.Reader.
Lft/Scala
Scala, гибридный язык, сочетающий в себе элементы функциональной и объектно-ориентированой парадигм и компилирующийся в байт-код JVM, теперь обзавелся собственным web framework-ом.
Библиотека, называемая Lift, по утверждению авторов, делалась с оглядкой на лидеров в этом сегменте, и взяла от них все самое лучшее (… lift borrows from the best of existing frameworks including Seaside’s highly granular sessions and security, Rails fast flash-to-bang, Django’s “more than just CRUD is included”, and Erlyweb’s scalability for Comet-style applications.).
Утверждается, что код на lift/Scala получается таким же лаконичным, как при использовании Ruby On Rails, но при этом приложения исполняются в шесть раз быстрее и в многопоточном режиме. Кроме того, статическая типизация Scala позволяет устранить бОльшее количество ошибок на этапе разработки, а компиляция в байт-код JVM позволяет програмисту использовать любые существующие библиотеки, написанные на Java.
В качестве примера использования lift/Scala можно привести клон набирающей популярность “социальной IM-системы” Twittr.com. Код длиной в 900 строк позволяет (по утверждению автора) обслуживать более миллиона клиентов на системе из двух комьютеров на базе Core 2 Duo.
Window Manager на Haskell в 500 строк
В рамках графической подсистемы X Window, используемой в большинстве совеременных *nix-совместимых ОС, управление окнами (перемещение, максимизация/минимизация, расположение на экране, отрисовка бордюров и кнопочек и т.п.) выполняется не самой графической системой, а отдельной программой, называемой window manager.
Сушествуют десятки window manager-ов на любой вкус и цвет, но если в конце-концов выбор вас не удовлетворил, вы всегда можете написать свой, с нужными вам функциями и свойствами. Именно так поступили Don Stewart, Spencer Janssen и Jason Creighton - разочаровавшись в существующих tiling window manager-ах (ion3, wmii, ratpoison, …), они написали свой. На Haskell. Уложившись в 500 строк кода.
Дон Стюарт разместил в своем блоге детальный рассказ о том, как проектировался, писался и тестировался (автоматически!) этот проект. Изложение содержит большое количество кода на Haskell, но рекомендуется к прочтению даже тем, кто его не знает. Первая часть и вторая часть.
Следующая книжка из серии Pragmatic Programmer будет посвящена Haskell
Издательство Pragmatic Programmers, известное такими книгами, как “My job went to India”, “Agile Web Development with Rails и “Pragmatic Programmer: From Journeyman to Master”, приняло решение издать книгу о Haskell. Новость из первых рук сообщил (будущий) автор книги в своем блоге.
Очевидно, на положительное решение повлияли положительные обзоры книги “Programming Erlang”, которая месяц тому назад вышла на “финишную прямую” и попала в руки бета-тестеров.
Понравилась статья? Подпишись на обновления по RSS/E-mail




Интересно, чем dons’у Ion3 не понравился… Меня пока все устраивает.
lift очень интересный фреймворк, рекомендую посмотреть. Оно конечно все в альфа версии на данный момент, и тем не менее …
Прочитал Caml trading, очень интересно. Спасибо за ссылку.
Интересны замечания автора по поводу hiring и programming in the large в сравнении Python. Ну и конечно, интересно было узнать чем именно Камл-как-язык их так привлек.