北京時間 4月20日,據(jù)Erlang Solutions、Erlang Factories的創(chuàng)始人Francesco Cesarini的推特稱,Erlang之父Joe Armstrong于4月20日去世,享年68歲。
Francesco懷念道:“盡管他不在了,但他的工作已經(jīng)打下的基礎(chǔ),將對未來幾代人都有用的?!?/p>
Joe Armstrong 是誰?
1950年12月27日,Joe Armstrong出生于英國伯恩茅斯。
雖然Joe Armstrong 17歲時開始接觸到Fortran編程,但他從本科直到博士念的是物理學(xué),后來因?yàn)榉e蓄用完無法完成學(xué)業(yè),而轉(zhuǎn)向計算機(jī)科學(xué)。
后來為了謀生,他成為Donald Michie(英國人工智能領(lǐng)域奠基人之一)的研究員。在此期間,他撰寫了一些有關(guān)機(jī)器人視覺的論文。
后來政府削減了對人工智能的研究經(jīng)費(fèi),Armstrong又回到了物理學(xué)領(lǐng)域,從事5年多與物理學(xué)編程相關(guān)的工作。開始時他在歐洲非相干散射科學(xué)協(xié)會(EISCAT)工作,后來又到了瑞典空間研究中心工作,協(xié)助開發(fā)應(yīng)用程序系統(tǒng)。最后Armstrong加入愛立信計算機(jī)科學(xué)實(shí)驗(yàn)室,在那發(fā)明Erlang,成為容錯系統(tǒng)開發(fā)領(lǐng)域的世界級專家。
并在2003 年,Armstrong獲得瑞典皇家工學(xué)院(KTH)的計算機(jī)科學(xué)博士學(xué)位,發(fā)表的博士論文《Making reliable distributed systems in the presence of software errors》對研究并發(fā)有不菲的參考價值。
在念本科時,Armstrong有件趣事:他那時已特別喜歡編程和善于調(diào)試程序。如果別人程序出了問題,他就會以一杯、兩杯、三杯啤酒的“收費(fèi)”去幫助同學(xué)調(diào)試程序。
為什么他的貢獻(xiàn)如此重要?
Armstrong發(fā)明的Erlang在全球范圍內(nèi)是個小眾語言,根據(jù)TIOBE發(fā)布的最新語言排行榜,Erlang排名第47位,市場份額占有僅為0.177%。它不是像Java、C++是面向?qū)ο笳Z言的,它是函數(shù)編程語言。
早在1986年,Armstrong開始編寫Erlang,當(dāng)時Erlang設(shè)計初衷針對的軟件是類似于電話交換機(jī)那樣的高可用性、高可靠性系統(tǒng)。并在1998年,Erlang作為開源項(xiàng)目發(fā)布。
當(dāng)程序員們開始努力應(yīng)對多核系統(tǒng)未來的發(fā)展趨勢時,并發(fā)性引起了他們的注意。而Erlang正是擁有強(qiáng)大的并行處理能力和容錯機(jī)制,并成就了可靠性達(dá)到99.9999999%的目前世界上最復(fù)雜的 ATM 交換機(jī)。
對于編程語言,Armstrong認(rèn)為編程語言必須簡單好用,才能便于開發(fā)者去學(xué)。
老碼農(nóng)的兩條忠告
Armstrong在SDCC 2016中國軟件開發(fā)者大會
Armstrong曾在CSDN主辦的“SDCC 2016中國軟件開發(fā)者大會”上,幽默地分享了他編程20年來對軟件開發(fā)的一些思考,他說:“人們總認(rèn)為產(chǎn)品開發(fā)流程是這樣:Specify→Build→Test→Sell→$$$,然而實(shí)際上卻是這樣的:Start→??????????→Product”。
為什么他會這么說呢?
Armstrong曾在《編程人生》中分享過他在編程習(xí)慣上有了兩個改變,值得我們開發(fā)者借鑒。
第一:先思考再編程。
他在編程的20年都犯著一個錯:在年輕的時候,會不停地寫程序,直到完成。
等寫完后他會突然發(fā)現(xiàn):“??!搞錯了!”等到重新編寫程序,會再次發(fā)現(xiàn):“噢,程序是錯的?!庇谑怯种匦戮帉?。
他于是開始思考改變:“先不要動手寫代碼,把這些東西都想好,這樣做不是很好嗎?”
第二:不要在疲憊時寫代碼。
在年輕的時候,他會通宵地寫程序,例如一個小時接著一個小時不休息,不停地編寫代碼,一口氣寫到凌晨4點(diǎn)鐘。即使身體狀況不好他也堅持不懈,因?yàn)樗尨a能夠跑起來。
后來他發(fā)現(xiàn)程序員在疲憊的時候編寫的程序都是垃圾,第二天就要把它們廢棄掉。他認(rèn)為真正好的代碼是程序員完全進(jìn)入狀態(tài)的時候編寫,人甚至沒有在考慮程序,只是很放松地坐在那里,輸入代碼,這樣的代碼會很不錯。
他建議如果程序員覺得自己狀態(tài)不對,“不能再寫了?!蓖O聛?,干點(diǎn)別的。
在開發(fā)者大會上,Armstrong預(yù)言在未來二十年,所有與關(guān)鍵性能相關(guān)的軟件將與硬件相融合。
可惜Armstrong無法親自參與這當(dāng)中來,我們僅在此感謝如此熱愛編程的Joe Armstrong,一生為編程所作出的貢獻(xiàn)。
-
編程語言
+關(guān)注
關(guān)注
10文章
1931瀏覽量
34551 -
人工智能
+關(guān)注
關(guān)注
1791文章
46694瀏覽量
237179 -
erlang
+關(guān)注
關(guān)注
0文章
16瀏覽量
5734
原文標(biāo)題:Erlang之父去世,留給程序員兩點(diǎn)忠告!
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論