• Какой ФП язык выучить?

    @benoni
    программер-любтель, иногда подрабатываю фрилансом
    Еще есть:
    - Nemerle (тоже дот.нет, как и упоминавшийся F#, но инфы про немерле мало),
    - Rust (набирающий известность от мозилы, есть вроде даже книженция на руссом),
    - hy (лисп для питона, пока он больше экспериментальный),
    - Elm (хаскелеподобный язык, компилируется в JS),
    - Common Lisp (классический лисп, так сказать),
    - Scheme (больше учебный диалект лиспа, хотя есть Racket (диалект Scheme), который вроде кем-то даже для продакшена применяется),
    - Prolog (наиболее известный язык логического программирования).

    А так плюсы минусы наиболее популярных:
    - Erlang (ПЛЮСЫ: один из наиболее легких в изучении ФП языков, применяется в продакшене в сфере телекоммуникаций, а также в последнее время в вебе, в основном чаты и т.п.; МИНУСЫ: не является языком общего назначения, специфический прологовский синтаксис).
    - Clojure (ПЛЮСЫ: довольно легкий в изучении, JVM-платформа, ClojureScript (диалект кложуры для компиляции в джаваскрипт), есть порт на .NET-платформу, лисп; МИНУСЫ: JVM-платформа, другие реализации менее развиты, лисповые скобочки на любителя).
    - F# (ПЛЮСЫ: поддерживается майкрософтом и заточен под .NET, МИНУСЫ: ограниченность .NET-ом).
    - Scala (ПЛЮСЫ: набирает популярность, может через время очень потеснить джаву, доступна и ООП и ФП парадигмы, мощный, МИНУСЫ: сложный для новичнов в ФП).
    - Haskell (ПЛЮСЫ: очень мощный, практически универскальный, многие фишки современного программирования пришли из хаскеля, МИНУСЫ: довольно сложный для новичков, как и скала).

    P.S. я бы выбирал из кложуры, эрланга и хаскеля.
    P.P.S. если интересно в целом для себя можно ограничится Scheme и изучением SICPа.
    Ответ написан
    3 комментария