Ответы пользователя по тегу Haskell
  • Лисп или хаскел?

    @benoni
    программер-любтель, иногда подрабатываю фрилансом
    1. если интересует/нравится одна из платформ JVM или .NET и интересует/нравится лисп, то можно выбрать из следующих диалектов лиспа:
    - JVM : Clojure, Armed Bear Common Lisp или Kawa (диалект схемы)
    - .NET: IronScheme

    2. Если будешь использовать в качестве редактора/IDE Emacs, то наверное стоит выучить ELisp, чтобы можно было конфигурировать емакс под себя или написать какой-нить полезный плагин.

    3. И, наконец, если таки есть свободное время и хочется покопаться в функциональщине, то есть еще: Standard ML, OCaml, Scala, F#, Neverle и другие менее известные. Типа на вкус и цвет)

    4. На хаскеле написаны языки: Elm (для вэба), Idris и Agda. И если интересует сугубо вэб, то может стоит посмотреть на Elm, который имеет хаскельный синтаксис и вроде проще хаскеля (насколько мне известно). Также на хаскеле написан диалект схемы HuskScheme(вроде так называется).
    Ответ написан
    Комментировать
  • Какой ФП язык выучить?

    @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 комментария