编程语言 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