Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Functional programming 什么';这是函数式编程的一个很好的开始?_Functional Programming_Lisp_Scheme - Fatal编程技术网

Functional programming 什么';这是函数式编程的一个很好的开始?

Functional programming 什么';这是函数式编程的一个很好的开始?,functional-programming,lisp,scheme,Functional Programming,Lisp,Scheme,我喜欢在舒适区之外学习语言,但我很难找到一个函数式语言的起点。我听到了很多关于它的好消息,但几年前当我试图阅读它的时候,它似乎在我的脑海中闪过。与网站相比,我在书籍方面做得更好,但当我访问当地书店时,LISP上的书看起来有点吓人 那么什么是好的起点呢?我的目标是能够在6个月左右的时间内使用函数式编程语言解决简单的问题,并且能够转移到更高级的主题,识别函数式语言何时是工作的正确工具,并在2-3年的时间内使用该语言解决更多的问题。我喜欢书中有大量的例子,但也包括一些需要克服的挑战。函数式语言中存在这

我喜欢在舒适区之外学习语言,但我很难找到一个函数式语言的起点。我听到了很多关于它的好消息,但几年前当我试图阅读它的时候,它似乎在我的脑海中闪过。与网站相比,我在书籍方面做得更好,但当我访问当地书店时,LISP上的书看起来有点吓人

那么什么是好的起点呢?我的目标是能够在6个月左右的时间内使用函数式编程语言解决简单的问题,并且能够转移到更高级的主题,识别函数式语言何时是工作的正确工具,并在2-3年的时间内使用该语言解决更多的问题。我喜欢书中有大量的例子,但也包括一些需要克服的挑战。函数式语言中存在这样的东西吗?

非常好地教授递归,而且它有趣且易于阅读


我还喜欢对语言进行更广泛的介绍

我发现了一个非常棒的函数式编程入门。它完全基于简单的、小规模的示例,这些示例随着本书的继续而不断完善。

Haskell是一种非常适合初学者的函数式编程语言。有人问过Haskell的好资源,所以我会告诉你

如果你想找一本关于函数式编程的好书,我推荐Bruce J.Maclennan的《函数式编程:实践与理论》

然而,在阅读之前,你需要温习一下你的集合论和逻辑。它包括LISP、Haskell和其他语言的示例。

如果您有.NET方面的经验,那就好了

F#来自OCaml。随着函数式语言的发展,Lisp更加纯粹。

SICP是一本好书

这可能是我的偏见,但我认为ocaml很容易进入。您可以选择几种不同的编程风格,直到您完全满意为止。我会参考Haskell和Ocaml的参考资料,这些参考资料都是书,还有一些例子等等,这些似乎都是你的拿手好戏

如果您喜欢Lisp,您可以尝试通过(实际上,您可以在任何语言中使用),或者您可以从编写SICP的人那里观看


再往前走,抓住“”,因为它将进入核心的深层设计,以及在函数式语言中必须考虑的因素——它使用ML(ocaml的前身)。

我听说过,但是我在amazon上也发现了这本函数式编程书籍,可能对你有所帮助。

我真的很喜欢汤普森的《Haskell:函数式编程的技巧》,因为它写得很好,Haskell比其他函数式语言更容易上手,而且完全是纯语言(不像Lisp或Scheme)因为有很多不同的函数式编程语言,所以很难推荐书籍。但如果你对Common Lisp感兴趣,最近我读了Peter Seibel的文章,你可以在把辛苦赚来的钱花在上面之前阅读。这是对CL的一个相当温和的介绍,有很好的解释和大量的例子。Seibel是一位伟大的作家(例如:read),他善于让你保持专注,我认为这正是SICP失败的原因。太干了!但是,尽管实用的Common Lisp非常重于示例,但它并没有真正的挑战,尽管这些示例主要是为了让您继续工作并在它们的基础上进行构建而设计的

另一本好书,这本是面向方案的:。()
我读这本书的时间不多,与其说我是个阴谋家,不如说我是个口齿不清的人,但它写得很好,有很好的解释和例子,还有很多练习要做。它在Scheme人群中似乎很受欢迎。

我从Jeffrey Ullman的ML编程元素中学到了很多东西,非常好。当OCaml、F#和Haskell(似乎)更受欢迎时,它会因为接近标准ML而失去分数。

试试看。在线免费。

Schemers指南和相关软件-非常好的东西

我觉得Chris Okasaki的纯功能数据结构值得一看

仅供参考

我真的推荐Paul Graham的“关于Lisp”

即使是函数式编程的初学者(就像我读它时一样),它也很简洁,可读性很强。它包含许多非常简短的例子,每一个都有助于理解一件事

我经常想读这本书:这正是我在其他(非功能)语言中想要的功能,但从未得到的语言-( 而这本书正是要学习它的,总是可以理解的,有时甚至是有趣的


您可以在!

上免费获得它。它提供了一个不同的视角。

(以F和C为例)

我不认为Lisp比OcAML更纯粹。大多数Lisp没有阻止你发生变异。另一方面,OcAML也不可能改变变量除非你声明它们是可变的。你当地的书店实际上有Lisp的书籍。我上个星期访问的一个计算机书店有“Lisp之地”,“实用的普通Lisp”。d'SICP'…+1,这本书有很多很好的练习,因为它主要是作为教科书编写的。解释和叙述也使这本书成为一个很好的选择。我现在正在读SICP,但我不确定你在说什么:“拉格朗日”?在我第二版的平装本中,索引中唯一提到拉格朗日的地方是关于拉格朗日插值的脚注:那部分是指SICM(经典力学的结构和解释),这是我的错误。