代码之家  ›  专栏  ›  技术社区  ›  empi

F#vs Haskell vs Lisp-学习哪种语言[关闭]

  •  39
  • empi  · 技术社区  · 16 年前

    我听说过很多函数式编程语言,我愿意学习一种。我想这主要是为了好玩,不过,我希望它能提高我的编程技能。

    你能比较一下F#,Haskell和Lisp吗?你会选择哪一种语言?

    9 回复  |  直到 15 年前
        1
  •  45
  •   Nafiul Islam    12 年前

    F#是我的首选语言,但我强烈建议大家都学习。他们都很不一样,而且都很有趣。这里是对每一个的快速浏览(可能有一点F#偏见),你可以通过谷歌搜索轻松找到更多信息:

    Haskell-是一种纯粹而懒惰的函数式语言,是一种罕见甚至独特的语言。这意味着没有任何副作用,除非他们是由单子跟踪。Haskel也有元组、代数数据和模式匹配。

    Lisp—F#和Haskell是静态类型,而Lisp是动态类型。它具有独特的语法,使用了大量括号,并提供了一个有趣的宏功能,允许您对程序本身进行转换并扩展语法。

        2
  •  28
  •   Olivier De Meulder    9 年前

    我曾经有过同样的问题

    从那以后,我用F#做了一些编程。现在我很高兴我做到了,因为理解C#中的LINQ真的很有帮助,而这恰好也是我的背景(自从我学会了F之后,我几乎从未在C中使用foreach

    我通过F#学到了很多关于延迟求值、列表和序列的知识,所有这些都可以选择任何语言,并对列表、元组等提供良好的支持(就像我猜的任何函数式语言),但如果选择F#,所有这些在C#中也将非常有用。也许你已经知道所有这些东西并正确使用,但如果你不知道,选择F。

    我出发了 here :一个非常好的视频教程,非常令人印象深刻,非常鼓舞人心的导师。

        3
  •  18
  •   Tony The Lion    16 年前

    现在我在看 these 第九频道有关于函数式编程基础的视频。这是用Haskell解释的,但基础知识适用于所有语言。我必须说,它的信息量很大,很容易理解。

        4
  •  8
  •   sastanin    16 年前

    这是一个非常主观的问题。

    SICP 这是正确的。你会学到很多。

    但出于实际目的,如果您是.NET开发人员,那么F#可能更好。

        5
  •  8
  •   sastanin    15 年前

    我不知道F#但有时我喜欢玩它。我的语言是Clojure,它非常实用,也适用于CLR,但JVM版本是主要版本。

    顺便提一下 你知道F#是因为Haskell很难在CLR上运行而产生的吗(这当然不是整个故事,而是其中的一部分。)

        6
  •  8
  •   Justin    15 年前

    实际上,没有人回答这个特定的问题:“我想知道F#是否具有Lisp宏或Haskell高阶函数之类的功能。”

    Func 委托是.NET framework的一部分。

        7
  •  7
  •   Rayne    16 年前

    为什么选择? 自己学习Lisp和Haskell。 不过,在自己的时间里学习F#没有意义。如果你在工作中需要它,你会在工作中学习;)

        8
  •  5
  •   Nemanja Trifunovic    16 年前

    我对所有这些都有不同程度的了解,我建议从Scheme(一种Lisp方言)开始,因为它最容易学习。Haskell和F#是静态类型的,这对于现实项目来说是一个很大的优势,但我觉得它们的语法有点“太多”,不像Scheme那么容易理解。

    对于.NET-IronScheme有一个很好的方案实现。你可以看看我的文章“ Playing with IronScheme “看看你是否喜欢。

        9
  •  5
  •   Kakadu    14 年前