约瑟夫·莱斯利·阿姆斯特朗→演讲语录
译者:乔·阿姆斯特朗(Joe Armstrong)为计算机科学的发展做出了最大贡献。以下是Wiki引用页面上有关Joe的文章的翻译。
并行编程的遗忘优势
并行编程的被遗忘的好处。也可以在Erlang Solution网站上获得完整的转录本。记录在2019。
- 我想制作容错系统,不久我就意识到,不可能在一台隔离的计算机上构建容错系统,因为计算机中的任何地方都可能崩溃,所以我需要很多独立的计算机。
- 消息传递需要时间,并且它们在空间中传播。无法保证邮件最终将被传递给收件人。
- 我只想模拟现实世界中发生的事情。
- 我们需要建立一个世界,在其中有通过消息传递进行通信的并行进程,我认为它们不能具有公共内存,因为如果它们具有公共内存,那么一个失败将带来其余的失败,就像多米诺骨牌效应一样。
- 人们为什么只交换数据,而不交换程序?我们可以将两者都委派给中间的某个中间点,以在那里进行计算。
- 真正令我感到恐惧的是,人们正在开发大型应用程序,他们无法完全理解其实际工作方式。
- 许多现有程序没有明确定义的接口。不一定要那样。
- 我认为我们似乎已经忘记了事情可能很小。有必要能够将复杂的系统分解为可以讨论的小组件。
- : « ». : «, ».- - . , 20 , — , , , - — .
- , , — .
- , LiFi, , Cray, , , — , , — , . , .
- — , - , 50 , . Apple, Google, , — , . — , .
- Google , Google.
- , , , . , . , , , ? , , , .
, , 16 2018
- . Emacs. UNIX. . ? Emacs. UNIX. .
- 25 ? , . .
- 76 . . … . 250, 500, 800 , .
- 10 ?
- , : , , , , .
- ? , . . — . .
- - , : .
- . , . , , . ?
- . 20 . - . .
- : , ? . — ! , , !
- . , , , , .
- : Emacs, Bash, Make Shell. Vi, . ! Make , .
- , , 6. C, 15. . , 10 , . 20, .
- , , . . .
- : C, Prolog, Erlang, Javascript.
- - - (pipes). UNIX : , .
- GUI. , . , GUI, . — .
- , . . .
- , - . , , , . .
- PHP — ! , . , .
- . , . , , .
- . .
- . . , . , , .
- - . . , , […] , , […] , . , .
, Code Mesh , 3-4, 2016
- Smalltalk, , . , , , , . , .
- Prolog, , , . CSP.
- , , , , , . . , !
- Erlang , , — , .
- , , — . , , , , . . , , , : , .
,
, , 24 2014
- , , . […] . .
- , , , .
- , .
- , . , , , .
- — .
- , . , , — .
- , . , . , - , , ?
- , , - , . , .
- , , — .
- , . , , .
- , . , : - .
- . . .
- , 75% , , , 75 , .
26 , 22 2014
- . ? . , .
- Haskell, C Java, , . : , . Erlang , , , . , . , . , . , .
- , , . — , , .
- , , , - , , , . , — - , .
- - , . — . , .
- — , . , — .
- Pipes — . , — pipe. , . unix pipes.
- , , , . . , . . compose, , compose, , , , , . , , , — , . , compose, , . , .
- , , , , .
-
F(G(X))
. . — . . . F(G(X))
— , . . . .
- , , , , […] , !
- — . . — . - - , , , . , , , .
- — , . ,
O(N²)
. , , O(N)
.
26
26 , 13, 2013
- , , .
- […] , - ? : «». «» — - . , — , «».
- , — . - , «». , , . , , . , , , , , .
- , . ? […] , , , , . , , , , — , . , , -, - . , — . , , .
- , -, , . , . : , — . , , , . - ( ) , , . , Let It Crash.
- , . : « ». , , .
- , , PowerPoint, .
- , , , , « ». . , , , , , .
- C, , […] , , , , C, - .
- , 100 , C++ . , , , . , …
, 2013
- [ ] , , .
- , . , . . , . , , , . , , . . , .
- , , .
,
, , Erlang User Conference 2013
- ? , , , , . , .
- Meccano. . Meccano. C++ — Lego. — . - , . , Lego Meccano, .
- , . , , , . , , , , , .
- , , .
- ? , , . , , - , , , .
- : , .
- — . , .
- Pipes — . .
- , , . , , .
- (middle man, middleware) .
Erlang
Erlang, Erlang User Conference 2012
- , PHP, .
- , , . , , PHP . , , .
factorial(171)
, "INF"
. , "INF"
. , , , . , , , . , factorial
(171)`.
- ? ? — LISP!
- - - , .
- . . — . , , .
- , «» . -
git
, , , — , …
- , .
- , , . . 3 , 2 , . , . . - , , , — .
- — , XML. XML — .
- . . , .
Erlang-
Erlang, , , 2007
- , , « », « ». , . , , , .
, 2003 .
«»
«», 1990
- . , , . .
- , Prolog ML, .
- 因此,我们必须在语言中添加实时并发的概念。我们还添加了复杂的错误检测机制。这使我们可以对可靠的实时系统进行编程。
All Articles