對于編程語言,Armstrong認爲編程語言必須簡單好用,才能便于開發者去學。

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

Francesco懷念道:“盡管他不在了,但他的工作已經打下的基礎,將對未來幾代人都有用的。”

Erlang 之父去世,他留给程序开发者的两点忠告

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認爲編程語言必須簡單好用,才能便于開發者去學。

給程序開發者的兩條忠告

Erlang 之父去世,他留给程序开发者的两点忠告

Armstrong曾在CSDN主办的“SDCC 2016中国软件开发者大会”上,幽默地分享了他编程20年来对软件开发的一些思考。

爲什麽他會這麽說呢?

Armstrong曾在《編程人生》中分享過他在編程習慣上有了兩個改變,值得我們開發者借鑒。

第一:先思考再編程。

他在編程的20年都犯著一個錯:在年輕的時候,會不停地寫程序,直到完成。

等寫完後他會突然發現:“啊!搞錯了!”等到重新編寫程序,會再次發現:“噢,程序是錯的。”于是又重新編寫。

他于是開始思考改變:“先不要動手寫代碼,把這些東西都想好,這樣做不是很好嗎?”

第二:不要在疲憊時寫代碼。

在年輕的時候,他會通宵地寫程序,例如一個小時接著一個小時不休息,不停地編寫代碼,一口氣寫到淩晨4點鍾。即使身體狀況不好他也堅持不懈,因爲他要讓代碼能夠跑起來。

後來他發現程序員在疲憊的時候編寫的程序都是垃圾,第二天就要把它們廢棄掉。他認爲真正好的代碼是程序員完全進入狀態的時候編寫,人甚至沒有在考慮程序,只是很放松地坐在那裏,輸入代碼,這樣的代碼會很不錯。

他建議如果程序員覺得自己狀態不對,“不能再寫了。”停下來,幹點別的。

在開發者大會上,Armstrong預言在未來二十年,所有與關鍵性能相關的軟件將與硬件相融合。

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