关于函数式编程,什么是好的入门文本?[关闭]
-
09-06-2019 - |
题
我喜欢学习我舒适区之外的语言,但我很难找到函数式语言的起点。我听到了很多关于 计算机程序的结构和解释, ,但是当我几年前尝试阅读它时,它似乎就在我的脑海中掠过。我对书籍的了解比对网站的了解要好得多,但是当我访问当地的书店时,有关 LISP 的书籍看起来有点可怕。
那么什么是一个好的起点呢?我的目标是能够在 6 个月左右的时间内使用函数式编程语言解决简单的问题,并能够转向更高级的主题,识别函数式语言何时是适合工作的工具,并使用该语言来解决问题。 2-3年内解决更多问题。我喜欢那些例子较多但也包含需要解决的挑战的书。函数式语言存在这样的事情吗?
其他提示
尝试 现实世界哈斯克尔. 。在线免费。
SICP 是一本很棒的书。
这可能是我的偏见,但我认为 ocaml 很容易进入。您可以选择使用几种不同的风格进行编程,直到您完全适应为止。我 发布了一堆链接 Haskell 和 Ocaml 的参考文献 是 书籍、示例等似乎正合您的胃口。
如果你更喜欢 Lisp,你可以尝试通过 Lisp 中的 99 个问题(实际上,您可以用任何语言执行此操作),或者您可以观看 讲座 来自编写 SICP 的人。
再往前走,抓住“纯函数式数据结构”,因为它将涉及到在函数式语言中必须考虑的硬核深层设计和注意事项——它使用 ML(ocaml 源自于此)。
我强烈推荐 Paul Graham 的《On Lisp》。
即使对于函数式编程的初学者来说(就像我读它时一样),它也非常简洁且易读。它包含许多非常简短的示例,每个示例都有助于理解一件事。
读这本书时我常常想到:这正是包含我在其他(非功能性)语言中想要但从未得到的功能的语言。:-(这正是学习它的书,总是可以理解的,有时甚至很有趣!
您可以在以下位置免费获得: 作者的网站!
我真的很喜欢汤普森的“哈斯克尔:函数式编程的工艺”,因为它写得很好,而且 Haskell 比其他函数式语言更容易上手,同时又完全纯粹(与 Lisp 或 Scheme 不同)。
由于函数式编程语言有很多,因此很难推荐书籍。但如果你对 Common Lisp 感兴趣,最近我一直在读 《实用通用 Lisp》 作者:Peter Seibel,您可以 免费在线查看 在把你辛苦赚来的钱投入其中之前。这是对 CL 的相当温和的介绍,有很好的解释和大量的例子。塞贝尔是一位伟大的作家(例如:读 麦克的故事,) 他很擅长让你保持专注,我认为这正是 SICP 失败的地方。简直太干了!但是,虽然 Practical Common Lisp 的示例非常多,但它并没有真正需要解决的挑战,尽管这些示例主要是为了让您继续工作并在它们的基础上进行构建而设计的。
另一本好书,这本是面向方案的: 如何设计程序. (在线的)我没有这本书的时间太多了,比本人更像是个发脾气,但是写得很好,有很好的解释和示例,并且有很多练习可以进行。它似乎在计划人群中很受欢迎。
《策划者指南》和相关软件——非常好的东西
查看 函数式编程简介. 。它提供了不同的视角。
我发现 小阴谋家 对函数式编程非常非常好的介绍。它完全基于简单的、小型的示例,这些示例是随着本书的继续而构建的。
我从杰弗里·厄尔曼那里学到了 机器学习编程的要素, ,这相当不错。当 OCaml、F# 和 Haskell(看起来)更流行时,它会因为与标准 ML 相关而失去分数。
我觉得 纯函数式数据结构 克里斯·冈崎的作品值得一看。
Haskell 对于初学者来说是一种非常好的函数式编程语言。有人问过 Haskell 的好资源,所以我会指出你 那里.
如果您正在寻找一本关于函数式编程的好书,我会推荐《函数式编程:实践与理论》作者:Bruce J.麦克伦南。
然而,在阅读之前,您需要温习一下集合论和逻辑。它包括 LISP、Haskell 和其他语言的示例。
如果您有 .NET 经验, 专家#F 很好。
F# 源自 OCaml。作为函数式语言,Lisp 更加纯粹。
现实世界的函数式编程 (包含 F# 和 C# 中的示例)
我听说过一些好消息 Haskell 函数式编程, ,但我也发现了这个 列表 亚马逊上的一些函数式编程书籍可能对您有帮助。