December 27th, 2009

Третий выпуск журнала «Практика функционального программирования»

Двадцатого декабря вышел третий выпуск журнала «Практика Функционального Программирования»: http://fprog.ru/2009/issue3/! Доступен в PDF в нескольких удобных разрешениях (eBook, чтение с большого экрана, печать, компактная печать), а также в HTML.

Обсуждение всего выпуска тут.
  • Конкурс! Две довольно интересных и не-академических задачи, подобранных по критерию «не давать преимущества ни одной парадигме, но позволить каждой и каждому показать себя». У каждой задачи 4 уровня сложности — можете развлечься и потратить пару часов на самый легкий, а можете хорошенько покрасоваться и показать всему свету, как C++ не оставляет и шанса всяким там Хаскелям и Окамлям, виртуозно реализовав самый сложный.

    С призами (8192р за первое место, 4096р за второе). Обсуждение тут.

  • Дмитрий Астапов: Рекурсия + мемоизация = динамическое программирование.
    Рассказывается о красивом применении ленивых вычислений к динамическому программированию на примере задачек с одного из недавних конкурсов Google CodeJam.
    HTML тут, обсуждение тут.

  • Лев Валкин: Проектирование Erlang-клиента к memcached.
    Разбирается клиентская библиотека к memcached на Erlang, обеспечивающая отказоустойчивый доступ к фермам memcached-серверов.
    HTML тут, обсуждение тут.

  • Дмитрий Астапов, Алексей Щепин (тот самый, который написал
    ejabberd, стабильно держит первые места на projecteuler.net и регулярно в одиночку всех надирает на ICFP): Как построить Google Wave из Erlang и Tcl при помощи OCaml.

    Рассказывается о том, как утилита camlp4, предназначенная для создания DSL, использовалась при реализации протокола Google Wave в сервере ejabberd (Erlang) и клиенте Tkabber (Tcl).
    HTML тут, обсуждение тут.

  • Роман Душкин: Полиморфизм в языке Haskell.

    Рассказывается о различных видах полиморфизма в Haskell: параметрический в различных ипостасях, и специальный (typeclasses).
    HTML тут, обсуждение тут.

  • Евгений Кирпичёв: Элементы функциональных языков. Описаны основные концепции, характерные для ФЯ: алгебраические типы, замыкания, бесточечный стиль и т.п. Описана их история, сущность, разновидности, применения и имитация в языках без встроенной поддержки. Статья адресована в первую очередь профессиональным программистам, работающим с «общепринятыми» языками.
    HTML есть, но лучше PDF; обсуждение тут.

    Статья — не учебник по Haskell (примеры приведены далеко не только на нём) и не очередная агитка «бросайте джаву и плюсы, берите Haskell».
    Цель статьи — вооружить идеями из мира функционального программирования даже тех читателей, кто не планирует менять основной язык разработки.
    Евгений потратил очень много времени и сил именно на то, чтобы максимально убрать из нее "матан" и сделать интересной и полезной именно для тех, кто не разбирается в ФП, и продемонстрировать, в том числе, как ФП-шные идеи могут быть применены в не-ФП-языках.

    Откройте, почитайте, вооружитесь — это не экзотика, а «просто» полезные новые приемы программирования, применимые где угодно и кем угодно.


Ну, и если вы считаете, что труды авторов достойны награды — то не стесняйтесь помочь материально: это несложно и недолго, достаточно обычной кредитки или WebMoney/PayPal/Яндекс.Денег. Было бы ошибкой думать, что fprog.ru золотые горы загребает, так что вклад каждого будет весьма ощутимым и достойным благодарности!

Креативно утащено у antilamer