Erlang vs OCaml(适合的最佳利基)

19 erlang ocaml functional-programming

嗨,我想选择一种FP语言(当你在一个不需要你学习的位置工作时总是很痛苦),经过一些研究后,我觉得Erlang和OCaml是我真的两个喜欢弄湿我的脚,原因如下:

1)我主要使用C++中的高可用性Web服务器后端系统.我听说Erlang在可扩展性和容错性方面是一个很好的解决方案.虽然我不认为我现在的公司会在Erlang有任何项目,但我觉得Erlang可能是我长期职业发展的好语言.

2)我有一个非常擅长OCaml的同事,我的意思是他真的很擅长(但他现在没有为他的日常工作工作.他维护着几个图书馆).所以我认为如果我学习OCaml,他可能是一个很好的资源.

我的兴趣主要是分布式系统(我目前的工作是一些中间件开发工作)和高性能计算(猜猜看,我有几年的研究生院研究,特别是金融应用程序中的PDE - 所以我总觉得我可能会在以后的某个时候回去做一些财务建模工作)

有什么建议?请不要建议"同时学习",因为我不聪明:-)

谢谢

bro*_*ool 8

Ocaml是一种很棒的语言 - 我最喜欢的语言之一 - 但如果您对分布式系统感兴趣,那么我建议使用Erlang,这与其他FP语言相比,在分布式系统方面领先一步(尽管有一个分支) Ocaml称为Jocaml,它有一些有趣的方面).

考虑到它的底层架构,即使只考虑并行性,Ocaml也会变弱.Haskell和Clojure都有更好的故事,imho.(也就是说:一旦你获得了一种FP语言,你就能够很容易地将基本原理传递给其他语言,并且它们将来可能会有用.Scala和Clojure都可以通过它们很容易地进入组织JVM.)


小智 6

我认为Ocaml是开始使用FP的好方法,一旦你掌握了基本的FP概念,Erlang就不是很难了.

但是来自'aneccodeal'的建议太棒了 - 也就是说,如果你对Ocaml感兴趣并且有一个已经很强大的朋友,那么就一定要为它开发一个并发(也许是MPI)库.

但请记住,使Ocaml并发的一个障碍是缺少并发垃圾收集(或者我已阅读).