vlambda博客
学习文章列表

编程语言 Erlang 发明人 Joe Armstrong 去世

题图:Pexel 背景素材 + 《Erlang 程序设计》封面图案去色拼图

Erlang Solutions 创始人、技术图书作者 Francesco Cesarini 昨日发推,Erlang 语言发明人 Joe Armstrong 去世:

这条推文下面有不少工程师分享了跟 Joe 一起探讨技术的过往经历,以此纪念 Joe

我这里也汇集了一点资料,以记录一位编程高手的离开。

Joe Armstrong 简介

1950 年 12 月 27 日,出生于英国。

17 岁接触编程,用的是 Fortran 。

就读伦敦大学物理学专业,因为个人经济原因,没读完博士就去了爱丁堡大学工作。接触的是人工智能领域的机器人研究,不巧遇到 AI Winter,参与的项目停了,丢了工作。此后转战到瑞典,做了一名物理学程序员。

1984 年,进入爱立信。开始用 Prolog 编程。工作期间用 Prolog 设计了一门新编程语言,成为 Erlang 的前身。

1987 年,所在公司爱立信发布 Erlang 正式版。

1998 年,所在公司爱立信发布 Erlang 开源版。

2003 年,获得瑞典皇家理工学院计算机科学博士学位。

2014 年起,担任瑞典皇家理工学院教授。

2019 年 4 月 20 日去世,68 岁。

内容整理自维基百科,有删减。

Joe 性格

社区上讨论 Joe 富有智慧、风趣幽默、照顾后生,国内也有不少技术高手谈到受 Joe 影响很大。

Joe 喜欢探究问题的本质,认为在寻找问题的答案之前,要理解问题存在的原因。他广为大家喜欢的一句话是:“如果一件事情过于复杂,那么一定是哪里出了问题 —— 大部分情况下是对问题的理解出现了偏差

Joe 讲话很喜欢打比方,他的写作风格也深入浅出。

部分作品

  • Concurrent programming in ERLANG

    J Armstrong, R Virding, C Wikström, M Williams - 1993

  • Making reliable distributed systems in the presence of software errors(博士论文)

  • A history of Erlang

  • The development of Erlang

Joe 的 Blog:

https://joearms.github.io/#Index

Joe 的图书:

图灵社区出版了中文版《Erlang 程序设计(第2版)》

中文版网址:

http://www.ituring.com.cn/book/1264

Joe 在书的扉页上写道:

这个世界是并行的。如果希望将程序的行为设计得与真实世界物体的行为相一致,那么程序就应该具有并发结构。使用专门为并发应用设计的语言,开发将变得极为简便。Erlang 程序模拟了人类如何思考,如何交互。

编程语言 Erlang 

Erlang 编程语言由 Joe Armstrong、Robert Virding 和 Mike Williams 在爱立信开发,开发这门语言是为了解决大规模高并发问题。1987 年 Erlang 正式版发布,1998 年,开源版发布。

Joe 在《Erlang 程序设计》中提到:

如果你的问题是并发的,或者正在组建多用户的系统,或者你组建的系统需要随时间而改变, 那么使用 Erlang 也许会为你节省大量的工作,因为 Erlang 就是特别为组建这些系统而设计的。

尽管相对小众,但 Erlang 设计哲学影响深远。

在通信技术里,Erlang 是表示话务量强度的单位,得名于丹麦数学家 A. K. Erlang。

国内外使用 Erlang 比较知名的公司和项目

Erlang 在电信、金融、电子商务、游戏等领域有比较多的应用。

国内使用公司举例:阿里云、美团、携程、去哪儿;国外公司举例:爱立信、Facebook、Amazon、GitHub、高盛;开源项目:RabbitMQ、CouchDB 等。

关于 Joe 的文章与资料推荐

  • Joe Armstrong:关于Erlang,有很多东西我想改变

    http://www.ituring.com.cn/article/114954

  • 《编程人生(上)》“第6篇Joe Armstrong”

  • Goodbye Joe

    https://ferd.ca/goodbye-joe.html

  • Joe Armstrong has died

    https://news.ycombinator.com/item?id=19706514

  • 为啥 Erlang 没有像 Go、Scala 语言那样崛起?

    https://www.zhihu.com/question/38032439/answer/84176970