容错,并行,并发,云计算:看看 ERLANG 做对了什么?C++, Java,Golang做错了什么?
Rackspace takes a look at the ERLANG programming language for distributed computing
容错,并行,并发,云计算:看看 ERLANG 编程语言做对了什么?
Erlang 的主要优势是并发性和容错性。 函数式编程使得并发和容错成为可能。
整个行业都在做错事。 他们试图在 30-40 年内实现并行/并发的自动化。 他们认为他们可以正确地自动化它,尽管 35 或 40 年没有人能够实现自动化。 顺序语言,例如 C++、Java,在重新发明 Erlang 时只会增加太多人为的复杂性。
他们得到了用顺序语言编写的遗留代码,我们如何并行化它,所以你有 c 加上 java,它到底是什么顺序的,你有一台并行机器,你如何并行化它,他们认为这个问题可以解决。好吧,作为一名计算机科学家,我知道人们从 1965 年开始就一直在尝试解决这个问题,他们认为这将非常困难。原因并不难,因为当他们用顺序语言做一个并行应用程序时,你会得到所有这些人为的复杂性,他们的应用程序是他们重新发明 Erlang 的人为复杂性的 85%。
其他人正在做的是他们试图将遗留代码并行化,将顺序代码转换为并行代码。我们正在做一些完全不同的事情。当我们把它放在这台 24 核机器上时,我们已经得到了所有的并行代码,那么它可能不会快 24 倍,哦,天哪,我们想为什么它不快 24 倍它应该快 24 倍,所以我们现在看到的是正在寻找小瓶颈的工具,当我们消除这些瓶颈时,也许我们会快 24 倍。