我应该阅读Bird& Sons的第一版或第二版“功能编程简介”吗? Wadler?

时间:2010-10-22 03:42:16

标签: haskell functional-programming

我听说最好阅读Bird& Sons撰写的“功能编程简介”first edition。 Wadler比second edition。第一版使用Miranda,第二版使用Haskell。

这是一个共同的建议吗?我的目标是认真对待函数式编程。彻底了解函数式编程的概念对我来说比了解语言的语法更重要,所以如果第一版在某种程度上更好的话,我对学习Miranda很好。

我知道F#和Scala。

4 个答案:

答案 0 :(得分:18)

我强烈推荐第二版,这是第一版的经过广泛修订,扩展和大部分改进的版本。我读过两个版本。第一版有一个关于用回溯解决8皇后问题的例子,不幸的是这个例子在第二版中被删除了。第二版是我最喜欢的关于Haskell的书。

这些例子来自数学,包括归纳证明。在第二版中鸟类从他们的规范中获取程序的材料非常棒,我喜欢这本书。如果你能从数学中处理这些例子,那么这本书就是精湛的。

我认为这本书也是关于Haskell的一篇很好的介绍性文章,但我发现只要我尝试编写Haskell程序,我就不得不阅读其他教程中的材料,并不得不参考Real World Haskell

关于数学和逻辑的另一个伟大的文本,使用有助于理解数学的Haskell的例子是Haskell Road to Logic, Maths and Programming。 Bird的文本在Haskell编程方面更加深入。

答案 1 :(得分:3)

我还没看过Bird& Wadler,但Miranda和Haskell是相似的 - 纯函数,非严格,静态类型等。如果选择版本时语言是你唯一的考虑因素,我会选择Haskell,因为它更受欢迎和免费,因此更容易获得 - 关于经验。

我没有使用Miranda,但我的理解是它是Haskell的主要前身,并且Haskell不会存在,除非它的创建者关闭了源并试图使其成为商业产品。由于这个原因,它仍然被称为MirandaTM。

答案 2 :(得分:0)

我使用的是Haskell,它是一种纯函数式语言,非常标准。我不太清楚米兰达,但我认为这不是纯粹的功能,与F#和Scala相同。我的消化是学习纯粹的方式,它可能是最困难的,但不要采取功能性编程的任何捷径,这样你永远不会学习它,因为它是最好的。据我所知,米兰达几乎没有采用,而且Haskell多年来稳步增长。

答案 3 :(得分:0)

是的,您应该阅读Bird& Sons的第一版或第二版“功能编程简介”。 Wadler。

(我的意思是包容性的)或