通用编程语言的兴衰是常态。在你的一生中,你可能会学习一两种。今天,它们是Python和Java。昨天,它们是Pascal和Cobol。在此之前,它们是Fortran和Lisp。谁知道明天会是什么?在这个快速变化的领域,你需要能够迅速适应。一个好的程序员必须学会超越任何特定语言的具体细节的编程原则。从函数式编程的角度来学习编程是了解这些原则的最好方法。从头开始学习一种新语言为沿途反思编程与用一种语言编程之间的差异提供了机会。
如果在 OCaml 之后你想了解更多关于函数式编程的知识,那么你将做好充分的准备。OCaml 在阐明和简化函数式编程的本质方面做得很好,这是其他混合函数式和命令式编程的语言(如 Scala)或将函数式编程发挥到极致(如 Haskell)所没有的。
即使你在学习 OCaml 后再也没有使用过 OCaml 编码,你仍然可以为未来做好更好的准备。函数式语言的高级特性具有预测更主流语言的新特性的惊人趋势。Java 于 1995 年将垃圾收集带入了主流;Lisp 在 1958 年就有了。Java 直到 2004 年的第 5 版才有泛型。ML 家族在 1990 年就有了它。在过去的 10 年里,首类函数和类型推断已被纳入 Java、C# 和 C++ 等主流语言,远在函数式语言引入它们之后。
Python 刚刚宣布计划在 2021 年 2 月支持模式匹配。
注:本书是康奈尔大学 CS 3110 数据结构和函数式编程的教材。原书为英文版,在学习的过程中,根据自己的理解,翻译了一些,做一个记录,版权归原作者所有,如有侵权,请联系我删除。