“
周末一直在公司加班,正准备关电脑下班时,看到CSDN公众号(csdnnews)推送了Armstrong去世的消息,微博上刘江老师也提及了他11年前引进出版《Erlang程序设计》的故事,强调了他对编程语言和程序员社区的影响,而且也会一直持续下去。
技术上,Armstrong是分布式系统编程的先驱者,社区影响方面也有中国的声影。2016年中国软件开发者大会(SDCC)曾邀请他来到中国,希望能够给国内开发者们分享一些别样的东西——《如何设计高可靠的分布式并行系统》,当时我作为大会组织者,希望他能多分享一些内容,最大化利用他的这趟中国行(这点不是很好,很商业),所以又组织了一个单独的“Erlang编程语言专题”,请他分享《Erlang和我的编程人生》,对中国的
Erlang
生态起到了很好的推动作用,如刘老师所言。
有两点现在想起有些许安慰,
当时负责接待
Armstrong
的同事给我说他身体不好,所以安排了公务舱;知道他老伴也同行,后续请同事带他到北京的一些景点游玩。
一件事情如果过于复杂,那么一定是哪里出问题了 —— 大部分情况下是对问题的理解出现偏差。
走好。
”
他在SDCC上面的两个分享PPT还可以下载:
以下内容来自CSDN:
北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人Francesco Cesarini的推特称,Erlang之父Joe Armstrong于4月20日去世,享年68岁。
Francesco怀念道:“尽管他不在了,但他的工作已经打下的基础,将对未来几代人都有用的。”
Joe Armstrong 是谁?
1950年12月27日,Joe Armstrong出生于英国伯恩茅斯。
虽然Joe Armstrong 17岁时开始接触到Fortran编程,但他从本科直到博士念的是物理学,后来因为积蓄用完无法完成学业,而转向计算机科学。
后来为了谋生,他成为Donald Michie(英国人工智能领域奠基人之一)的研究员。
在此期间,他撰写了一些有关机器人视觉的论文。
后来政府削减了对人工智能的研究经费,Armstrong又回到了物理学领域,从事5年多与物理学编程相关的工作。
开始时他在欧洲非相干散射科学协会(EISCAT)工作,后来又到了瑞典空间研究中心工作,协助开发应用程序系统。
最后Armstrong加入爱立信计算机科学实验室,在那发明Erlang,成为容错系统开发领域的世界级专家。
并在2003 年,Armstrong获得瑞典皇家工学院(KTH)的计算机科学博士学位,发表的博士论文《Making reliable distributed systems in the presence of software errors》对研究并发有不菲的参考价值。
在念本科时,Armstrong有件趣事:他那时已特别喜欢编程和善于调试程序。如果别人程序出了问题,他就会以一杯、两杯、三杯啤酒的“收费”去帮助同学调试程序。
02
—
为什么他的贡献如此重要?
Armstrong发明的Erlang在全球范围内是个小众语言,根据TIOBE发布的最新语言排行榜,Erlang排名第47位,市场份额占有仅为0.177%。它不是像Java、C++是面向对象语言的,它是函数编程语言。
早在1986年,Armstrong开始编写Erlang,当时Erlang设计初衷针对的软件是类似于电话交换机那样的高可用性、高可靠性系统。并在1998年,Erlang作为开源项目发布。
当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。而Erlang正是拥有强大的并行处理能力和容错机制,并成就了可靠性达到99.9999999%的目前世界上最复杂的 ATM 交换机。
对于编程语言,Armstrong认为编程语言必须简单好用,才能便于开发者去学。
03
—
老码农的两条忠告
Armstrong
在
SDCC 2016中国软件开发者大会
Armstrong曾在CSDN主办的“SDCC 2016中国软件开发者大会”上,幽默地分享了他编程20年来对软件开发的一些思考,他说:“人们总认为产品开发流程是这样:Specify→Build→Test→Sell→$$$,然而实际上却是这样的:Start→??????????→Product”。
为什么他会这么说呢?
Armstrong曾在《编程人生》中分享过他在编程习惯上有了两个改变,值得我们开发者借鉴。
他在编程的20年都犯着一个错:在年轻的时候,会不停地写程序,直到完成。