我需要学习函数式编程,不知道该选择LISP还是Haskell。但是我听说LISP很古老了,你有什么建议吗?
我需要学习函数式编程,不知道该选择LISP还是Haskell。但是我听说LISP很古老了,你有什么建议吗?
为了 echo 其他人的建议,我会推荐你学习 Scheme(一种更加函数式的 Lisp 方言)和 Haskell。Scheme / Lisp 教会你“代码即数据 / 数据即代码”和宏等实用技巧。Scheme 鼓励好的函数式风格,我建议你从《The Little Schemer》系列书籍开始入手。SICP 是一本很棒的书 http://mitpress.mit.edu/sicp/full-text/book/book.html ,也可能是有史以来关于编程最好的书之一。作为第一门函数式语言,Scheme 更容易上手。
一旦你掌握了 Scheme,你可能会对缺乏库、缺乏并行性以及小而精的社区感到沮丧。这就是我学习 Haskell 时的情况。Haskell 非常成熟、非常有用和非常函数式化,在掌握基础后学习起来颇具挑战性,因此在另一门函数式语言中打好基础将会帮助你很多。你不会后悔学习任何一个(或两个)。
Haskell是一门很好的编程语言,一旦学会了Haskell,你就会爱上它。然后,你就能够学习Common LISP。但是,如果你使用的编辑器是Emacs,那么最好从Lisp开始。
基于年龄选择编程语言是愚蠢的,Haskell比如C#存在的时间更长,其历史也更为悠久。无论如何,我建议最终都要学习这两种语言,对于学习函数式编程来说,Haskell专注于纯函数式编程(在多个意义上),而Scheme则是Lisp的一个函数式导向后代。