ReactJS, TypeScript, Micro FrontendsReact fwdays | 27 березня. Долучайся!
×Закрыть

Func links: Caml Trading, Lift/Scala, XMonad, Pragmatic Haskell

Этот пост — первый из серии более-менее регулярных (я надеюсь) сообщений о интересных и полезных проектах и статьях, так или иначе имеющих отношение к функциональному программированию. Даже если вы никогда не слышали о Haskell, OCaml, Scala и других подобных языках, вам может интересно (и небесполезно) ознакомиться со ссылками, хотя бы для расширения кругозора.

Have fun!

<hr/>

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», которая месяц тому назад вышла на «финишную прямую» и попала в руки бета-тестеров.

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn

Похожие статьи




Підписуйтесь: SoundCloud | Google Podcast | YouTube


3 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Прочитал Caml trading, очень интересно. Спасибо за ссылку.Интересны замечания автора по поводу hiring и programming in the large в сравнении Python. Ну и конечно, интересно было узнать чем именно Камл-как-язык их так привлек.

lift очень интересный фреймворк, рекомендую посмотреть. Оно конечно все в альфа версии на данный момент, и тем не менее...

Интересно, чем dons’у Ion3 не понравился... Меня пока все устраивает.: -)

Подписаться на комментарии