網易首頁 > 網易號 > 正文 申請入駐

歐洲的編程語言三巨頭,最后一位也離開了!

0
分享至

前言:之前我發過一篇文章,叫做《歐洲的編程語言三巨頭,只剩下一位了!》,沒想到短短的幾個月后,最后的一位也去世了......

今天我又把這篇文章修改了一下,增加了一些有趣的故事,紀念一下對編程語言發展有著巨大貢獻的三位巨頭。

我很好奇,如果他們還在世,看到如今火熱的AI編程,會有什么感想?


這三位都是圖靈獎獲得者,他們的名字和發明散布在各種教科書中,從左到右,依次是:

尼克勞斯·沃斯 (Niklaus Wirth)

瑞士人,一生發明了8種編程語言,其中最著名的是Pascal,提出了著名的“程序=數據結構+算法”,1984年沃斯因開發了一系列創新的計算機語言而獲得圖靈獎。

迪杰斯特拉(Edsger Dijkstra)

荷蘭人,發明了“最短路徑算法”,“信號量”,提出了“Goto是有害的”,1972年因對結構化編程的貢獻獲得圖靈獎。

霍爾(Tony Hoare)

英國人,發明了“快速排序算法”,發明了霍爾邏輯來驗證程序正確性,提出CSP解決并發過程的交互,發明了null這個引發“數十億美元”損失的錯誤,1980年因為對編程語言的定義和設計的基本貢獻獲得圖靈獎。

他們三人都在歐洲,都是從學工程學開始,后來轉到了計算機領域。

他們年齡相仿(沃斯和霍爾同歲,比迪杰斯特拉小4歲),共同的興趣讓他們走到一起,不但在暑期活動,學術會議上經常碰面,密切合作,在私下里,也建立了深厚的友誼,經常來回走動,互相拜訪。

今天講幾個小故事來聊聊他們的偉大貢獻。

計算機科學成為一門學科

在上世紀六七十年代,是編程語言發展的黃金時代。

第一個高級編程語言Fortran已經出現,但是主要應用在工程界,和硬件密切相關。

1960年1月,Fortran之父約翰·巴克斯,Lisp之父約翰·麥卡錫,第一位圖靈獎獲得者Alan Jay Perlis等一大批頂尖科學家在巴黎聚會,經過一番唇槍舌戰的討論,他們推出了ALGOL 60,這是一種和計算機硬件無關的編程語言,方便算法的描述。

ALGOL 60有很多創新,遞歸、本地變量、begin end 代碼塊都是由它率先推出。

現代大多數編程語言的語法,都是類ALGOL的。

從下圖中,就可以看到ALGOL的江湖地位,是很多編程語言的老祖宗。


迪杰斯特拉對Algol-60非常欣賞,他不止一次說道,這是計算機科學成為一個學科的重要時刻。

僅僅7個月以后,迪杰斯特拉就在荷蘭實現了第一個ALGOL60的編譯器,比其他小組早了一年多。

為了實現ALGOL60中的遞歸,迪杰斯特拉第一次引入了Stack這個概念。

迪杰斯特拉等人還舉辦了一個ALGOL 60的培訓班,來培訓的就有霍爾,霍爾剛剛發表了快速排序算法,他上完培訓班,也在自己公司機器上實現了ALGOL 60,霍爾的實現效率高,可靠性強,受到國際學術界的關注,進入了IFIP工作組,開始維護和發展ALGOL。

快速排序算法

1959 年,托尼·霍爾還只是一個二十多歲的年輕人,在 Elliott Brothers工作。

當時,他被派到蘇聯莫斯科的 Moscow State University,參與一個機器翻譯項目。

那是冷戰時期,但科學合作依然存在。

問題很快出現了。

霍爾需要先對俄語句子中的單詞進行排序,然后再在磁帶上按字母順序排列的俄英詞典中查找。

但是無論是冒泡排序,還是插入排序,面對大量的詞條,都太慢了。

霍爾決定找到一個更快的辦法,在一次思考中,一個叫做“分而治之”的思想出現了:

比如你是一個老師,要把一群學生按身高從低到高排隊

但你不想一個一個比較,因為那太慢了,于是你想了一個更聰明的方法。


第一步:選一個人當“參照”

你隨便挑一個學生,比如小明,讓他站出來。

然后對全班說:

比小明矮的,站左邊

比小明高的,站右邊

很快,全班就被分成了三部分:

左邊(比小明矮的), 小明, 右邊(比小明高的)。

這時候小明已經到了正確的位置,不用管他了,接下來只需要從左邊那一堆中選個人,例如小紅,重復這一過程,然后繼續分。

對右邊那一堆也選個人,也重復這一過程,繼續分。

這樣,經過幾輪分組后,所有人都會自動排好。

這種算法就是大名鼎鼎的快速排序,時間復雜度僅有O(n log n)。


(快速排序算法,紅色就是每次分組所用的“參照”)

回到英國后,他被老板要求編寫 Shell 排序算法的代碼。霍爾說:“別用Shell排序了,我知道一個更快的算法”。

老板:“怎么可能,打個賭吧,賭注是六便士”。

當然,老板最終輸了。

PASCAL的誕生

1966年,霍爾和沃斯一起做了一個提案,希望對ALGOL做出一次改進。但是ALGOL小組認為他們的提案太保守,改動太小,拒絕了。

“一氣之下”,沃斯和霍爾退出了ALGOL小組,自己把提案的想了做了實現,即編程語言ALGOL W。

正是在ALGOL W 中,霍爾發明了那個被“無數人詬病”的空引用null。

在2009年的一個軟件會議上,霍爾為發明null夸張地道歉:

“我當時正在設計ALGOL W 的類型系統,我忍不住想把null放進去,因為它很容易實現......沒想到它導致了無數的錯誤,系統崩潰......在過去的40年,引發了數十億美元的損失。”

1970年,沃斯進一步改進了 ALGOL W,成為了大名鼎鼎的Pascal

為了幫助在各種計算機上實現Pascal, 他創建了一種新型的編譯器,該編譯器不會直接生成機器碼,而是生成一種中間的代碼形式,在虛擬機上運行。

1976年,沃斯寫了一本書介紹基本的數據結構和算法,也捎帶著介紹了Pascal語法。

這本書的名稱也很神奇,叫做《程序=算法+數據結構》,從此這個公式開始名揚世界。


PASCAL的流行

雖然 Pascal 很快就得到了大學的認可,但它又花了幾年時間才成為主流。

這得益于Philippe Kahn,是沃斯在瑞士蘇黎世聯邦理工學院教學期間的一個學生。


Philippe Kahn看到了沃斯教授在Pascal上的開創性工作,1982年成了一家叫做Borland的公司,從事軟件開發工具的開發。

1983年,Borland推出了革命性的集成開發環境,Turbo Pascal ,僅賣49.95美元。


Turbo Pascal 除了價格低廉以外,另外一個殺手锏就是編譯速度飛快。

操刀編譯器的是丹麥人Anders Hejlsberg,他很大程度上受到了《程序=算法+數據結構》這本書中Tiny Pascal”編譯器的啟發。

關于Anders Hejlsberg的故事,可以看這篇漫畫《》。

Goto是有害的

1968年,迪杰斯特拉向ACM提交了一篇論文,尖銳地批評了當時編程中過度使用Goto語句的情況,以及對結構化編程的擁護,他提議,在高級語言中廢除Goto語句!

論文的標題平淡無奇:A Case Against the Goto Statement。

沃斯正好是當時的編輯,他順手把標題改成了Goto語句是有害的(Goto Statement Considered Harmful)。

如果放在如今的自媒體時代,沃斯絕對是一個擅長抓熱點的標題大師。

這個標題就像一個重磅炸彈,很多大牛跳出來,或支持或反對。

高德納寫了一篇叫做《使用 Goto語句進行結構化編程》的文章,分析了一些常見的編程場景,指出一些場景中Goto是最適合的語言結構。

K&R在《C語言編程》中,也指出Goto可以用于函數結束錯誤處理程序和循環的多級中斷。

即使在多年以后,Linus之父Linus Torvalds和《代碼大全》的作者Steve McConnell還反對迪杰斯特拉的觀點,指出 Goto可以是一種有用的語言功能,可以提高程序速度、大小和代碼清晰度。

據統計,2013 年,Linux 內核代碼中約有 100,000 個 goto。

“XXX是有害的”成為了計算機的時尚用詞,在隨后的幾十年中不斷出現:

“全局變量是有害的”

“Unix風格,或者cat -v 是有害的”

“MD5被認為是有害的”

“以人為本的設計是有害的”

“Java的新特性是有害的”

“‘被認為有害’的文章是有害的”

尾聲

沃斯,迪杰斯特拉和霍爾都在歐洲,獲得圖靈獎都和編程語言有關,可以稱為歐洲編程語言的三巨頭。

他們都是結構化編程的先驅,他們的工作深刻地影響了我們現在的編程。

2002年8月6日,迪杰斯特拉和癌癥斗爭多年以后,不幸離世,享年72歲。

2024年1月1日,沃斯去世,享年89歲。

2026年3月5日,霍爾去世,享年92歲。


其實,除了這三位之外,歐洲還有一對編程語言雙子星,挪威的Ole-Johan Dahl和Kristen Nygaard ,他們發明了面向對象的語言Simula,兩人也都于2002年去世。

我們現在使用的編程語言的概念和特性,差不多都在上世紀六七十年代就已發明,那一批編程語言的先驅,都在逐漸老去。

編程語言的黃金時代,過去了。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
嗜賭成性只是冰山一角,婚內出軌、睡有婦之夫,體壇丑聞毀三觀

嗜賭成性只是冰山一角,婚內出軌、睡有婦之夫,體壇丑聞毀三觀

夢想總會變成真
2026-04-23 01:11:47
回加拿大生活的大山,60歲須發皆白很滄桑,重慶妻子仍風韻猶存

回加拿大生活的大山,60歲須發皆白很滄桑,重慶妻子仍風韻猶存

胡一舸南游y
2026-04-04 15:41:43
經過伊朗這一戰,中美之間可能至少50年內不會爆發戰爭

經過伊朗這一戰,中美之間可能至少50年內不會爆發戰爭

流史歲月
2026-04-17 23:20:03
格力回應鋁線電機爭議:相關工程機已停產,海信稱靠多三兩銅多500元時代已終結

格力回應鋁線電機爭議:相關工程機已停產,海信稱靠多三兩銅多500元時代已終結

紅星資本局
2026-04-21 20:40:16
DeepSeek V4震撼發布!實現全球開源領先

DeepSeek V4震撼發布!實現全球開源領先

新智元
2026-04-24 12:11:03
只要有陌生電話問你“您是不是本人”,這樣反問一句,防騙超實用

只要有陌生電話問你“您是不是本人”,這樣反問一句,防騙超實用

今日搞笑分享
2026-04-23 18:21:05
因為大鼻子又火了!北大校友會副會長給泰華中學做宣傳,鼻子太搶眼

因為大鼻子又火了!北大校友會副會長給泰華中學做宣傳,鼻子太搶眼

趣筆談
2026-04-23 12:35:03
女子買12萬黃金首飾,金店為何報警?起底退費騙局

女子買12萬黃金首飾,金店為何報警?起底退費騙局

環球網資訊
2026-04-23 16:39:17
黃仁勛警告:若DeepSeek率先適配華為,對美國是"極其愚蠢"的結果

黃仁勛警告:若DeepSeek率先適配華為,對美國是"極其愚蠢"的結果

新浪財經
2026-04-23 20:52:12
震驚!廣州一互聯網公司招5名文員,收到4000余份簡歷,HR慌了…

震驚!廣州一互聯網公司招5名文員,收到4000余份簡歷,HR慌了…

火山詩話
2026-04-23 16:46:58
中美開啟新一輪大熊貓保護合作研究

中美開啟新一輪大熊貓保護合作研究

新京報
2026-04-24 08:26:05
孟子曰:“男女授受不親”,其實后半句才是真相,老祖宗可不保守

孟子曰:“男女授受不親”,其實后半句才是真相,老祖宗可不保守

鶴羽說個事
2026-04-23 22:16:52
正式確定!開拓者中鋒加盟深圳男籃,攜手賀希寧,沖擊總冠軍

正式確定!開拓者中鋒加盟深圳男籃,攜手賀希寧,沖擊總冠軍

體壇瞎白話
2026-04-24 09:22:57
黃曉明媽媽生日!小海綿出鏡,照片和窗戶玻璃都被打碼,太小心了

黃曉明媽媽生日!小海綿出鏡,照片和窗戶玻璃都被打碼,太小心了

小椰的奶奶
2026-04-24 08:02:35
大數據分析,在中國,找個身高1米7年入20萬的老公,到底有多難?

大數據分析,在中國,找個身高1米7年入20萬的老公,到底有多難?

深度報
2026-04-18 23:37:27
直播調整!丁俊暉戰趙心童有變,肖國棟危險,美女裁判抽煙惹爭議

直播調整!丁俊暉戰趙心童有變,肖國棟危險,美女裁判抽煙惹爭議

曹說體育
2026-04-24 13:05:42
內斗嚴重?現在的伊朗到底誰說了算?

內斗嚴重?現在的伊朗到底誰說了算?

極目新聞
2026-04-24 10:40:55
銀行收縮潮來了

銀行收縮潮來了

讀懂財經研究所
2026-04-24 10:51:21
2:1!約基奇被打成玩具!狂輸44正負值!!

2:1!約基奇被打成玩具!狂輸44正負值!!

柚子說球
2026-04-24 13:18:57
全世界都被騙了:亞馬遜產全球20%氧氣?人類幾乎一口都分不到!

全世界都被騙了:亞馬遜產全球20%氧氣?人類幾乎一口都分不到!

半解智士
2026-04-22 14:26:26
2026-04-24 13:59:02
碼農翻身 incentive-icons
碼農翻身
有趣且硬核的技術文章
256文章數 648關注度
往期回顧 全部

科技要聞

剛剛,DeepSeek-V4 預覽版發布 百萬上下文

頭條要聞

華誼兄弟被申請破產:曾坐擁百位明星 如今還不起千萬

頭條要聞

華誼兄弟被申請破產:曾坐擁百位明星 如今還不起千萬

體育要聞

里程碑之戰拖后腿,哈登18分8失誤

娛樂要聞

王思聰被綠!戀愛期間女友被金主包養

財經要聞

19家企業要"鋁代銅",格力偏不

汽車要聞

全景iDrive 續航近800km 新款寶馬7系/i7亮相

態度原創

時尚
本地
房產
游戲
教育

襯衫+半裙,比別人好看不止一點點

本地新聞

云游中國|逛世界風箏都 留學生探秘中國傳統文化

房產要聞

三亞安居房,突然官宣!

夢幻西游10開搬磚月入4189?這個游戲成就即將絕版

教育要聞

告訴孩子:千萬不要被4種朋友借運,后果比早戀可怕100倍

無障礙瀏覽 進入關懷版