你会推荐哪个英文教程来学习OCaml?

19

我想向初学者推广OCaml,并且正在寻找好的英文教程;不仅是你听说过的,而是你实际尝试过并发现有用的...

7个回答

22

我相当喜欢这本书《用 Objective Caml 开发应用程序》 -- 我猜标题应该更新以反映“OCaml”命名决定。它很老,因此略微过时,但仅在一些小方面--例如,它将流语法呈现为核心语言的一部分,但现在已经外包为Camlp4扩展。 这本书非常全面,第2、3、4章已经有很多内容了。

这本书涵盖了一些系统编程,但如果读者感兴趣,我更愿意推荐另外一本书《在OCaml中进行Unix系统编程》 -- 也是由社区努力翻译成英文的。

最后,如果有人想要发现OCaml的理论基础,我发现U3书籍《使用、理解和解开OCaml语言的秘密》 是一个很好的资源。 但这只适用于已经了解OCaml的读者。

附:我也对Jason Hickey的《Objective Caml入门》有非常好的看法,但我不能说我已经完整地阅读过它,只是浏览了一下。这就是“初学者”书籍的问题,你最多只能阅读一本好书。


这些是好书,但不是真正的教程,对吧? - Fabrice Le Fessant

8

对我来说,主要的是:

$ apt-cache show ocaml-book-en
Package: ocaml-book-en
Source: ocaml-book
Version: 1.0-5
Installed-Size: 7061
Maintainer: Debian QA Group <packages@qa.debian.org>
Architecture: all
Recommends: www-browser | pdf-viewer
Description-en: English book: "Developing applications with Objective Caml"
 This is the English translation of the O'Reilly's OCaml French
 book "Developpement d'applications avec Objective Caml" that can
 be found in the ocaml-book-fr package.
 .
 This package contains both the HTML and PDF version of the book.

:)

另外,还有一本关于OCaml系统编程的好书和类似于食谱的资源在这里


我不知道系统编程书已经被翻译成了英文+OCaml,太好了! - Fabrice Le Fessant

5

我学习过并始终推荐给初学者的教程是 ocaml-tutorial.org(原网站已关闭,现在在ocamlcore上作为镜像保存)。


我认为这个教程现在正式驻扎在http://www.ocaml-lang.org/tutorials/。 - lukstafi
1
作为一个从未接触过Ocaml的人,我发现这些文档唯一的问题在于缺少介绍。没有为用户提供简要的语言用途/历史概述和安装环境以及指向编辑器的快速指南。 - sayth

3

我刚开始学习Ocaml,以下是我认为最有用的教程:

文档和用户手册 - 最有用且官方的教程

Caml入门 - 这个教程在我最初几天学习时非常有帮助,因为它很简单易懂。


3
这本书旨在帮助编程新手和那些想学习函数式编程范式的人,以及想学习OCaml的人。其中一个 OCaml版本 由Nicolas Monje创建,是 如何像计算机科学家一样思考 的一个翻版。根据网站上的说明,应下载此书的 PDF版本。以下是书中内容:
本书的目标是教你像一名计算机科学家一样思考。这种思维方式结合了数学、工程和自然科学的最佳特点。像数学家一样,计算机科学家使用形式语言来表示思想(具体地说是计算)。像工程师一样,他们设计东西,将组件组装成系统,并评估替代方案之间的权衡。像科学家一样,他们观察复杂系统的行为,形成假设并测试预测。
计算机科学家最重要的技能是解决问题。解决问题意味着有能力制定问题,创造性地思考解决方案,并清晰准确地表达解决方案。事实证明,学习编程的过程是锻炼解决问题技能的绝佳机会。这就是为什么本章被称为“程序之道”的原因。
一方面,你将学习编程,这本身就是一项有用的技能。另一方面,你将使用编程作为手段来达到某个目的。随着我们的学习深入,这个目的将变得更加清晰。

上次我检查时,它还没有完全完成。现在完成了吗? - Fabrice Le Fessant
我检查了一下,看起来这是一个正在进行中的工作,并且作者正在积极地开展工作。 - Animesh
thinkocaml.com网站已于2015年12月关闭。 - Arto Bendiken

2
有一本新书 "Real World OCaml",作者为Jason Hickey,即将出版。在网站上,有一个免费的公共测试版本可供使用。尽管该书尚未完成,但我没有注意到任何重大错误或不相关之处。
它让我完全理解了OCaml。它包含大量的例子来说明概念,并且可以轻松地被视为教程。我也喜欢它部分涵盖了标准模块(如ListListLabelsMapSysString等)。
该书中的“运行时系统”部分非常有用。它提供了编译器实现、内存管理、与外部代码的链接以及语言成本直觉等详细信息。后者我认为非常重要,因为许多函数式编程书籍只涵盖概念,而不说明它们在内存和时间方面的开销。强烈推荐这本书,特别是当有免费在线版本时。

2

我认为Jason Hickey的《Objective Caml入门》非常好(这是我阅读过的关于该语言唯一的文本,也是我的起点)。INRIA的文档也很好;一旦你掌握了模块签名,单独阅读它们就会非常有启发性;)

信不信由你,OCaml是我(真正)学习的第一种编程语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接