国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

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

0
分享至

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

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

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


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

尼克勞斯·沃斯 (Niklaus Wirth)

瑞士人,一生發(fā)明了8種編程語言,其中最著名的是Pascal,提出了著名的“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,1984年沃斯因開發(fā)了一系列創(chuàng)新的計算機語言而獲得圖靈獎。

迪杰斯特拉(Edsger Dijkstra)

荷蘭人,發(fā)明了“最短路徑算法”,“信號量”,提出了“Goto是有害的”,1972年因?qū)Y(jié)構(gòu)化編程的貢獻(xiàn)獲得圖靈獎。

霍爾(Tony Hoare)

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

他們?nèi)硕荚跉W洲,都是從學(xué)工程學(xué)開始,后來轉(zhuǎn)到了計算機領(lǐng)域。

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

今天講幾個小故事來聊聊他們的偉大貢獻(xiàn)。

計算機科學(xué)成為一門學(xué)科

在上世紀(jì)六七十年代,是編程語言發(fā)展的黃金時代。

第一個高級編程語言Fortran已經(jīng)出現(xiàn),但是主要應(yīng)用在工程界,和硬件密切相關(guān)。

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

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

現(xiàn)代大多數(shù)編程語言的語法,都是類ALGOL的。

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


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

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

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

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

快速排序算法

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

當(dāng)時,他被派到蘇聯(lián)莫斯科的 Moscow State University,參與一個機器翻譯項目。

那是冷戰(zhàn)時期,但科學(xué)合作依然存在。

問題很快出現(xiàn)了。

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

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

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

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

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


第一步:選一個人當(dāng)“參照”

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

然后對全班說:

比小明矮的,站左邊

比小明高的,站右邊

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

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

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

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

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

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


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

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

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

當(dāng)然,老板最終輸了。

PASCAL的誕生

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

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

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

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

“我當(dāng)時正在設(shè)計ALGOL W 的類型系統(tǒng),我忍不住想把null放進(jìn)去,因為它很容易實現(xiàn)......沒想到它導(dǎo)致了無數(shù)的錯誤,系統(tǒng)崩潰......在過去的40年,引發(fā)了數(shù)十億美元的損失。”

1970年,沃斯進(jìn)一步改進(jìn)了 ALGOL W,成為了大名鼎鼎的Pascal

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

1976年,沃斯寫了一本書介紹基本的數(shù)據(jù)結(jié)構(gòu)和算法,也捎帶著介紹了Pascal語法。

這本書的名稱也很神奇,叫做《程序=算法+數(shù)據(jù)結(jié)構(gòu)》,從此這個公式開始名揚世界。


PASCAL的流行

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

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


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

1983年,Borland推出了革命性的集成開發(fā)環(huán)境,Turbo Pascal ,僅賣49.95美元。


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

操刀編譯器的是丹麥人Anders Hejlsberg,他很大程度上受到了《程序=算法+數(shù)據(jù)結(jié)構(gòu)》這本書中Tiny Pascal”編譯器的啟發(fā)。

關(guān)于Anders Hejlsberg的故事,可以看這篇漫畫《》。

Goto是有害的

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

論文的標(biāo)題平淡無奇:A Case Against the Goto Statement。

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

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

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

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

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

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

據(jù)統(tǒng)計,2013 年,Linux 內(nèi)核代碼中約有 100,000 個 goto。

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

“全局變量是有害的”

“Unix風(fēng)格,或者cat -v 是有害的”

“MD5被認(rèn)為是有害的”

“以人為本的設(shè)計是有害的”

“Java的新特性是有害的”

“‘被認(rèn)為有害’的文章是有害的”

尾聲

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

他們都是結(jié)構(gòu)化編程的先驅(qū),他們的工作深刻地影響了我們現(xiàn)在的編程。

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

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

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


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

我們現(xiàn)在使用的編程語言的概念和特性,差不多都在上世紀(jì)六七十年代就已發(fā)明,那一批編程語言的先驅(qū),都在逐漸老去。

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

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

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.

相關(guān)推薦
熱點推薦
廣東男籃VS山西,開球時間敲定,杜鋒要給老板賺錢,門票能掙多少

廣東男籃VS山西,開球時間敲定,杜鋒要給老板賺錢,門票能掙多少

體育大學(xué)僧
2026-04-19 10:20:29
深圳空姐月入一萬五,負(fù)債102萬,申請個人破產(chǎn)獲立案

深圳空姐月入一萬五,負(fù)債102萬,申請個人破產(chǎn)獲立案

一口老湯
2026-04-19 17:39:21
北影節(jié)紅毯見光死:高圓圓臉黃土氣、戚薇腫脹、被全裹的馬麗驚艷

北影節(jié)紅毯見光死:高圓圓臉黃土氣、戚薇腫脹、被全裹的馬麗驚艷

往史過眼云煙
2026-04-17 14:53:05
白鹿沒想到!和張凌赫的戀情剛曝,他就被鄭麗文帶火了

白鹿沒想到!和張凌赫的戀情剛曝,他就被鄭麗文帶火了

觀察鑒娛
2026-04-19 16:15:19
旅游路上怎么全是大媽?大爺都去哪兒了?網(wǎng)友分析讓人爆笑到飆淚

旅游路上怎么全是大媽?大爺都去哪兒了?網(wǎng)友分析讓人爆笑到飆淚

西樓知趣雜談
2026-04-18 15:31:29
85年黎筍打算認(rèn)輸,讓印度總理當(dāng)“中間人”,鄧公是如何回應(yīng)的?

85年黎筍打算認(rèn)輸,讓印度總理當(dāng)“中間人”,鄧公是如何回應(yīng)的?

大運河時空
2026-04-19 09:10:03
以色列麻煩了!比伊朗還狠的角色,已畫下開戰(zhàn)紅線!

以色列麻煩了!比伊朗還狠的角色,已畫下開戰(zhàn)紅線!

財經(jīng)要參
2026-04-19 16:54:53
白酒突然大跌60%,真要涼了嗎?

白酒突然大跌60%,真要涼了嗎?

三農(nóng)老歷
2026-04-19 12:21:47
曼城阿森納巔峰對決!英超魅力強勢回歸,詮釋最純粹的英倫足球

曼城阿森納巔峰對決!英超魅力強勢回歸,詮釋最純粹的英倫足球

夜白侃球
2026-04-20 09:53:29
11年前優(yōu)衣庫男女主現(xiàn)狀曝光,他們還在一起生了兩個孩子

11年前優(yōu)衣庫男女主現(xiàn)狀曝光,他們還在一起生了兩個孩子

半糖甜而不膩
2026-04-06 12:09:15
女大學(xué)生吐槽“普信男”視頻火了,卻因長相被嘲:你也照照鏡子吧

女大學(xué)生吐槽“普信男”視頻火了,卻因長相被嘲:你也照照鏡子吧

世界圈
2026-04-12 00:10:16
張涵予新片《尋龍訣》上映僅1天,觀眾強烈要求下架,罵聲一片

張涵予新片《尋龍訣》上映僅1天,觀眾強烈要求下架,罵聲一片

秋姐居
2026-04-18 19:34:07
蘿莉島大雷出現(xiàn)!比想象中炸裂,牽扯多國總統(tǒng),難怪愛潑斯坦必死

蘿莉島大雷出現(xiàn)!比想象中炸裂,牽扯多國總統(tǒng),難怪愛潑斯坦必死

離離言幾許
2026-02-02 21:16:35
“磨膝大戶”被公布,是跑步的20倍,醫(yī)生:不想軟骨磨光,早扔掉

“磨膝大戶”被公布,是跑步的20倍,醫(yī)生:不想軟骨磨光,早扔掉

垚垚分享健康
2026-04-19 14:35:09
甘肅天水一佳人好漂亮, 身高168cm,體重48kg 美的讓人移不開眼

甘肅天水一佳人好漂亮, 身高168cm,體重48kg 美的讓人移不開眼

鄉(xiāng)野小珥
2026-04-08 00:48:57
車主速看!4月30日前未辦理,5月1日起一律扣分罰款

車主速看!4月30日前未辦理,5月1日起一律扣分罰款

西莫的藝術(shù)宮殿
2026-04-20 08:03:03
反腐再出新規(guī)!5月1日起嚴(yán)糾違規(guī)“人情往來” ,筑牢腐敗防線!

反腐再出新規(guī)!5月1日起嚴(yán)糾違規(guī)“人情往來” ,筑牢腐敗防線!

細(xì)說職場
2026-04-19 16:04:52
何潤東翻紅后,一博主怒問為什么要捧一個美國人?網(wǎng)友的評論絕了

何潤東翻紅后,一博主怒問為什么要捧一個美國人?網(wǎng)友的評論絕了

談史論天地
2026-04-16 11:05:48
臺灣問題即將突破臨界點?兩大跡象表明,大陸可能要準(zhǔn)備出手了

臺灣問題即將突破臨界點?兩大跡象表明,大陸可能要準(zhǔn)備出手了

報君知史
2026-04-19 18:30:25
美軍深陷中東,美專家:中國得到三大戰(zhàn)略獲益?

美軍深陷中東,美專家:中國得到三大戰(zhàn)略獲益?

兵國大事
2026-04-16 00:05:18
2026-04-20 10:47:00
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
252文章數(shù) 645關(guān)注度
往期回顧 全部

科技要聞

藍(lán)色起源一級火箭完美回收 客戶衛(wèi)星未入軌

頭條要聞

失蹤女老板被找到 嫌犯曾改名整容還催警察"還我清白"

頭條要聞

失蹤女老板被找到 嫌犯曾改名整容還催警察"還我清白"

體育要聞

七大獎項候選官宣!文班或全票DPOY

娛樂要聞

章子怡!增重20斤素顏拍新片

財經(jīng)要聞

月之暗面IPO迷局

汽車要聞

外觀非常驚艷 全新一代寶馬6系有望回歸

態(tài)度原創(chuàng)

旅游
健康
時尚
房產(chǎn)
家居

旅游要聞

去藝術(shù)現(xiàn)場,赴一次深度游

干細(xì)胞抗衰4大誤區(qū),90%的人都中招

今年最流行的衣服竟然是它?高級又氣質(zhì)!

房產(chǎn)要聞

官宣簽約最強城更!??跇鞘?,突然殺入神秘房企!

家居要聞

法式線條 時光靜淌

無障礙瀏覽 進(jìn)入關(guān)懷版