F#vs Haskell vs Lisp

我听过很多关于函数式编程语言的内容,我很乐意学习。 我想这主要是为了好玩,但是,我希望这会提高我的编程技能。

我主要是C#/ .net背景,所以我的第一选择是学习F#(因为.NET和熟悉Visual Studio)。 另一方面,我想知道F#是否具有诸如Lisp宏或Haskell高阶函数的功能。

你可以比较F#,Haskell和Lisp吗? 哪一个将成为您选择的语言?


F#是我选择的语言,但我强烈建议学习它们。 他们都是完全不同而且有趣的。 这里有一个快速浏览每一个(也许有一个轻微的F#偏见),你可以很容易地找到更多的信息,谷歌搜索:

F# - 是一种语言,可以轻松地在功能风格中进行编程,让您轻松复制对象而不是变更它们。 它还为您提供有趣的数据类型,如元组和代数数据类型,有用的语言结构,如模式匹配和列表解析。 它还具有面向对象和命令性功能以及对库的良好访问,因为您可以使用任何.NET框架组件。

哈斯克尔 - 是一种纯粹而懒惰的功能性语言,它是一种罕见的甚至是独一无二的野兽。 这意味着根本没有副作用,除非他们被monad跟踪。 Haskel也有元组,代数数据和模式匹配。

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


我有同样的问题一次

从那以后,我用F#做了一些编程。 现在我非常高兴我这么做了,因为它对于理解C#中的LINQ是非常有帮助的,而且恰巧也是我的背景。 (从我学习F#开始,我几乎从不在C#中使用foreach)

我通过F#学习了很多关于懒惰评估,列表和序列的内容,所有这些都可以选择任何支持列表,元组等的语言(就像我猜想的任何功能语言),但是如果您选择F# ,所有这些在C#中都会非常有用。 也许你已经知道所有这些东西并正确使用它,但如果你不知道,请选择F#。

我从这里开始:一个非常好的视频教程,非常令人印象深刻,非常鼓舞人心的导师。


目前,我正在通道9上观看这些视频,其中介绍了函数式编程的基础知识。 这是使用Haskell解释的,但基本适用于所有语言。 我必须说这是非常丰富和容易理解的。

链接地址: http://www.djcxy.com/p/80863.html

上一篇: F# vs Haskell vs Lisp

下一篇: F# development and unit testing?