35

Erlang 之父去世,他留给程序员两点忠告

 5 years ago
source link: https://blog.csdn.net/csdnnews/article/details/89439621?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

6rYfmuZ.jpg!web

整理 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人Francesco Cesarini的推特称,Erlang之父Joe Armstrong于4月20日去世,享年68岁。

Francesco怀念道:“尽管他不在了,但他的工作已经打下的基础,将对未来几代人都有用的。”

MnUbIvN.png!web

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有件趣事:他那时已特别喜欢编程和善于调试程序。如果别人程序出了问题,他就会以一杯、两杯、三杯啤酒的“收费”去帮助同学调试程序。

为什么他的贡献如此重要?

Armstrong发明的Erlang在全球范围内是个小众语言,根据TIOBE发布的最新语言排行榜,Erlang排名第47位,市场份额占有仅为0.177%。它不是像Java、C++是面向对象语言的,它是函数编程语言。

早在1986年,Armstrong开始编写Erlang,当时Erlang设计初衷针对的软件是类似于电话交换机那样的高可用性、高可靠性系统。并在1998年,Erlang作为开源项目发布。

当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。而Erlang正是拥有强大的并行处理能力和容错机制,并成就了可靠性达到99.9999999%的目前世界上最复杂的 ATM 交换机。

对于编程语言,Armstrong认为编程语言必须简单好用,才能便于开发者去学。

老码农的两条忠告

YJ3MBjz.png!web △Armstrong在SDCC 2016中国软件开发者大会

Armstrong曾在CSDN主办的“ SDCC 2016中国软件开发者大会 ”上,幽默地分享了他编程20年来对软件开发的一些思考,他说:“人们总认为产品开发流程是这样:Specify→Build→Test→Sell→$$$,然而实际上却是这样的:Start→???→Product”。

为什么他会这么说呢?

Armstrong曾在《编程人生》中分享过他在编程习惯上有了两个改变,值得我们开发者借鉴。

第一:先思考再编程。

他在编程的20年都犯着一个错:在年轻的时候,会不停地写程序,直到完成。

等写完后他会突然发现:“啊!搞错了!”等到重新编写程序,会再次发现:“噢,程序是错的。”于是又重新编写。

他于是开始思考改变:“先不要动手写代码,把这些东西都想好,这样做不是很好吗?”

第二:不要在疲惫时写代码。

在年轻的时候,他会通宵地写程序,例如一个小时接着一个小时不休息,不停地编写代码,一口气写到凌晨4点钟。即使身体状况不好他也坚持不懈,因为他要让代码能够跑起来。

后来他发现程序员在疲惫的时候编写的程序都是垃圾,第二天就要把它们废弃掉。他认为真正好的代码是程序员完全进入状态的时候编写,人甚至没有在考虑程序,只是很放松地坐在那里,输入代码,这样的代码会很不错。

他建议如果程序员觉得自己状态不对,“不能再写了。”停下来,干点别的。

在开发者大会上,Armstrong预言在未来二十年,所有与关键性能相关的软件将与硬件相融合。

可惜Armstrong无法亲自参与这当中来,我们仅在此感谢如此热爱编程的Joe Armstrong,一生为编程所作出的贡献。

参考资料:

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

程序调试与啤酒——Erlang之父Joe Armstrong访谈

ZnIRniF.png!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK