对于 Erlang 技术社区来说,这是一个难过的周末。
Photo by Brian Troutwine
北京时间 4月20日,据Erlang Solutions&Erlang Factories的创始人Francesco Cesarini的Twitter上称,Erlang之父Joe Armstrong于4月20日去世,享年68岁。
Francesco怀念道:“尽管他不在了,但他的工作已经打下的基础,将对未来几代人都有用的。”
Francesco 也是个 Erlang 大佬,在 Erlang 社区非常活跃,出过 Erlang 的技术书。他和 Joe 老爷子有私交。
Joe 老爷子离世的消息,应该不会有假。要不然维基百科也不敢随便更新了 Joe Armstrong 的词条信息。
Erlang 是一门相对小众的编程语言,这一点与 Lisp 很像 —— 小众但影响很大。Joe Armstrong 曾用一句话概括过 Erlang 的优点:一次编写,永远运行。
Joe Armstrong 的最后一条推特
Joe 老爷子生平
1950 年 12 月 27 日,出生于英国伯恩茅斯。
17 岁时在大型机上接触并编写 Fortran 编程语言。
大学时最早攻读物理学,就读于伦敦大学物理学系,曾攻读高能物理博士学位。因为经济问题,他没有办法完成学业,因此转至爱丁堡大学,担任 Donald Michie 的助理,从事人工智能的研究,从此转向计算机程序的相关工作。
1973 年,英国应用数学家詹姆斯·莱特希尔对英国政府提出报告,批评人工智能的研究,难以得到成果。英国政府删减了相关的科学研究经费,爱丁堡大学的研究计划受挫,乔·阿姆斯特朗也无法保持他的工作。他到了瑞典,在 EISCAT 科学协会找到工作,担任物理学程序员。1 年后,他成为首席程序员,负责开发应用程序系统。在此工作 4 年后,他到瑞典空间研究中心工作,协助开发应用程序系统,用来控制瑞典发射的第一颗卫星。
1984 年,进入爱立信电信公司研发实验室。一开始以 Prolog 开发应用程序,他利用 Prolog,自行设计了一个编程语言,并在实验室中推广,成为 Erlang 语言的开始。
1986年,发布 Erlang 的首个正式开源版本。
2003 年,在瑞典皇家工学院(KTH)取得计算机科学博士学位。
在念本科时,Armstrong有件趣事:他那时已特别喜欢编程和善于调试程序。如果别人程序出了问题,他就会以一杯、两杯、三杯啤酒的“收费”去帮助同学调试程序。
为什么他的贡献如此重要?
Armstrong发明的Erlang在全球范围内是个小众语言,根据TIOBE发布的最新语言排行榜,Erlang排名第47位,市场份额占有仅为0.177%。它不是像Java、C++是面向对象语言的,它是函数编程语言。
早在1986年,Armstrong开始编写Erlang,当时Erlang设计初衷针对的软件是类似于电话交换机那样的高可用性、高可靠性系统。并在1998年,Erlang作为开源项目发布。
当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。而Erlang正是拥有强大的并行处理能力和容错机制,并成就了可靠性达到99.9999999%的目前世界上最复杂的 ATM 交换机。
对于编程语言,Armstrong认为编程语言必须简单好用,才能便于开发者去学。
给开发者的两条忠告
Armstrong曾在《编程人生》中分享过他在编程习惯上有了两个改变,值得我们开发者借鉴。
第一:先思考再编程
他在编程的20年都犯着一个错:在年轻的时候,会不停地写程序,直到完成。
等写完后他会突然发现:“啊!搞错了!”等到重新编写程序,会再次发现:“噢,程序是错的。”于是又重新编写。
他于是开始思考改变:“先不要动手写代码,把这些东西都想好,这样做不是很好吗?”
第二:不要在疲惫时写代码
在年轻的时候,他会通宵地写程序,例如一个小时接着一个小时不休息,不停地编写代码,一口气写到凌晨4点钟。即使身体状况不好他也坚持不懈,因为他要让代码能够跑起来。
后来他发现程序员在疲惫的时候编写的程序都是垃圾,第二天就要把它们废弃掉。他认为真正好的代码是程序员完全进入状态的时候编写,人甚至没有在考虑程序,只是很放松地坐在那里,输入代码,这样的代码会很不错。
他建议如果程序员觉得自己状态不对,“不能再写了。”停下来,干点别的。
在开发者大会上,Armstrong预言在未来二十年,所有与关键性能相关的软件将与硬件相融合。
Armstrong对编程语言和程序员社区的影响,肯定还会持续下去。他说过,“一件事情如果过于复杂,那么一定是哪里出问题了 —— 大部分情况下是对问题的理解出现偏差” ,送给大家共勉。
RIP Joe,这些受Armstrong启发激励的人,都在感谢你。
Armstrong精彩演讲:
http://erlang.org/download/arm … 3.pdf
erlang博士论文:https://citeseerx.ist.psu.edu/ … 3Dpdf
作者:熊廷玉
参考:维基百科、CSDN、Twitter
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/257890.html