最近,我读了很多有关函数式编程语言的主题(实际上,几乎是去年)。我真的很想选一个并彻底学习它。
上学期,我被介绍给Scheme。我爱它。喜欢语法的极端简单性,同调性原则,宏(卫生和非卫生),过程的n个类等。
Scheme的问题在于它是一种学术语言。我认为它不是真正在生产环境中使用的。我也不认为拥有我们的简历特别好。因此,我一直在寻找替代方案。它们很多,而且它们的流行程度似乎都差不多。
我还考虑过一些其他功能语言的想法:
- Clojure:这听起来很不错,因为它可以访问Java世界,面向可伸缩性和并发性,但是Java世界现在不处于边缘吗?我已经非常了解Java,但是根据JVM添加更多能量是否明智?
- Haskell:看起来像是一种很受赞赏的语言,但是根据我的阅读,它也更多是一种学术语言。
- Lisp:一直存在至今。它似乎具有Scheme所提供的大部分功能。它有一个很大的社区。据我所知,它可能是业界使用最广泛的函数式编程语言。
- F#:不是真的考虑过。我不是MS资料的忠实拥护者。我没有钱购买他们的软件(我可以让他们摆脱大学联盟的束缚,但我更倾向于使用社区驱动的解决方案)。虽然...我想这将是最佳的职业导向选择。
今晚,我倾向于Lisp。一周前是Haskell。在此之前是Clojure。在过去的一年中,我在做一些Scheme是为了娱乐,而不是因为您知道的原因而推动它。现在,我想变得认真起来(关于学习一个,关于使用它进行实际的项目,关于也许最终与其进行专业合作)。我的问题是,我需要先深入学习它们,然后才能选择其中的一个。