无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

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

0
分享至

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

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

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


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

尼克勞斯·沃斯 (Niklaus Wirth)

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

迪杰斯特拉(Edsger Dijkstra)

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

霍爾(Tony Hoare)

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

快速排序算法

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

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

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

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

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

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

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

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

但你不想一個(gè)一個(gè)比較,因?yàn)槟翘?于是你想了一個(gè)更聰明的方法。


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

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

然后對(duì)全班說:

比小明矮的,站左邊

比小明高的,站右邊

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

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

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

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

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

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


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

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

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

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

PASCAL的誕生

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

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

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

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

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

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

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

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

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


PASCAL的流行

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

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


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

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


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

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

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

Goto是有害的

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

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

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

如果放在如今的自媒體時(shí)代,沃斯絕對(duì)是一個(gè)擅長(zhǎng)抓熱點(diǎn)的標(biāo)題大師。

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

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

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

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

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

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

“全局變量是有害的”

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

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

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

“Java的新特性是有害的”

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

尾聲

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

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

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

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

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


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

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

編程語(yǔ)言的黃金時(shí)代,過去了。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(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)推薦
熱點(diǎn)推薦
太離譜了!臺(tái)州一小伙突發(fā)奇想,竟用汽車充電樁給電動(dòng)摩托車充電,監(jiān)控畫面曝光→

太離譜了!臺(tái)州一小伙突發(fā)奇想,竟用汽車充電樁給電動(dòng)摩托車充電,監(jiān)控畫面曝光→

浙江消防
2026-06-14 10:37:23
震驚!女子得知被拒相親男娶“潮汕A9家庭”妻子,控訴他隱瞞家底

震驚!女子得知被拒相親男娶“潮汕A9家庭”妻子,控訴他隱瞞家底

火山詩(shī)話
2026-06-14 12:48:44
85比61狂勝24分!女籃熱身賽斬獲開門紅:小李夢(mèng)砍30分5板4斷

85比61狂勝24分!女籃熱身賽斬獲開門紅:小李夢(mèng)砍30分5板4斷

籃球快餐車
2026-06-14 05:32:43
比光刻機(jī)還“金貴”!十種關(guān)鍵材料,訂單排到2028!(附股)

比光刻機(jī)還“金貴”!十種關(guān)鍵材料,訂單排到2028!(附股)

粵語(yǔ)音樂噴泉
2026-06-14 13:58:55
萬萬沒想到,8千家日企集體向中國(guó)發(fā)起請(qǐng)?jiān)福毡镜膯栴}已很嚴(yán)重

萬萬沒想到,8千家日企集體向中國(guó)發(fā)起請(qǐng)?jiān)福毡镜膯栴}已很嚴(yán)重

影孖看世界
2026-06-13 23:50:47
斷糧斷水快撐不住了,菲方對(duì)中國(guó)喊話:再不撤就開打,必有一戰(zhàn)

斷糧斷水快撐不住了,菲方對(duì)中國(guó)喊話:再不撤就開打,必有一戰(zhàn)

杰絲聊古今
2026-06-14 16:49:39
涉嫌嚴(yán)重違紀(jì)違法,已退休近9年的人保集團(tuán)原副總裁俞小平被查

涉嫌嚴(yán)重違紀(jì)違法,已退休近9年的人保集團(tuán)原副總裁俞小平被查

財(cái)聞
2026-06-14 18:21:19
就差最后一步,伊朗人自己打起來!萬人血誓:復(fù)仇未竟,休想妥協(xié)

就差最后一步,伊朗人自己打起來!萬人血誓:復(fù)仇未竟,休想妥協(xié)

菁菁子衿
2026-06-14 09:01:10
某二級(jí)骨科醫(yī)院停擺:管理層宣布停業(yè),數(shù)百員工討欠薪!

某二級(jí)骨科醫(yī)院停擺:管理層宣布停業(yè),數(shù)百員工討欠薪!

黯泉
2026-06-14 10:39:20
悲哀!高考女生兩天花光母親3個(gè)月工資2萬元,質(zhì)問“我錯(cuò)了嗎?”

悲哀!高考女生兩天花光母親3個(gè)月工資2萬元,質(zhì)問“我錯(cuò)了嗎?”

火山詩(shī)話
2026-06-12 11:46:38
包工頭退出舞臺(tái)!住建委:取消勞務(wù)分包!全面實(shí)現(xiàn)自有工人施工!國(guó)資委:建筑央企建立自有工人隊(duì)伍

包工頭退出舞臺(tái)!住建委:取消勞務(wù)分包!全面實(shí)現(xiàn)自有工人施工!國(guó)資委:建筑央企建立自有工人隊(duì)伍

新浪財(cái)經(jīng)
2026-06-14 07:41:37
臺(tái)媒集體炸鍋,直呼臺(tái)灣海峽沒了

臺(tái)媒集體炸鍋,直呼臺(tái)灣海峽沒了

果媽聊娛樂
2026-06-14 18:45:19
原來他們用的是藝名啊!新規(guī)要求演員必須署真名,這回是藏不住了

原來他們用的是藝名啊!新規(guī)要求演員必須署真名,這回是藏不住了

上官晚安
2026-06-14 20:16:04
18歲亞馬爾與女友酒店同居 球迷擔(dān)心其世界杯狀態(tài)

18歲亞馬爾與女友酒店同居 球迷擔(dān)心其世界杯狀態(tài)

TVB的四小花
2026-06-14 17:57:19
土倫杯大結(jié)局,葡萄牙U20隊(duì)奪冠,突尼斯U23隊(duì)亞軍,國(guó)足小組第三

土倫杯大結(jié)局,葡萄牙U20隊(duì)奪冠,突尼斯U23隊(duì)亞軍,國(guó)足小組第三

硬腿子聊個(gè)球
2026-06-14 15:23:47
搶在王毅專機(jī)起飛前,烏蘭巴托那邊的小動(dòng)作已經(jīng)擺上桌

搶在王毅專機(jī)起飛前,烏蘭巴托那邊的小動(dòng)作已經(jīng)擺上桌

混沌錄
2026-06-14 00:30:26
比漲價(jià)更致命的是,中國(guó)景區(qū)千篇一律的“無聊”,正在逼走年輕人

比漲價(jià)更致命的是,中國(guó)景區(qū)千篇一律的“無聊”,正在逼走年輕人

丁丁鯉史紀(jì)
2026-06-14 15:39:19
終結(jié)戰(zhàn)爭(zhēng)的力量在俄羅斯內(nèi)部成長(zhǎng)

終結(jié)戰(zhàn)爭(zhēng)的力量在俄羅斯內(nèi)部成長(zhǎng)

名人茍或
2026-06-14 07:04:55
2026,中年失業(yè)的又一悲慘版本出爐…

2026,中年失業(yè)的又一悲慘版本出爐…

慧翔百科
2026-06-12 11:21:59
錯(cuò)怪國(guó)足了?名嘴:這下知道進(jìn)世界杯有多難了吧,下屆應(yīng)增加名額

錯(cuò)怪國(guó)足了?名嘴:這下知道進(jìn)世界杯有多難了吧,下屆應(yīng)增加名額

足球大腕
2026-06-14 17:14:18
2026-06-14 22:15:00
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
275文章數(shù) 654關(guān)注度
往期回顧 全部

科技要聞

Anthropic最強(qiáng)模型被禁,傳亞馬遜通風(fēng)報(bào)信

頭條要聞

金價(jià)跌至900元關(guān)口 北京大媽豪擲11萬給兒媳備五金

頭條要聞

金價(jià)跌至900元關(guān)口 北京大媽豪擲11萬給兒媳備五金

體育要聞

8年8隊(duì)奪冠,鄧肯那句話,現(xiàn)在還給了馬刺

娛樂要聞

鄧超攜子觀戰(zhàn)NBA,等等帥氣十足

財(cái)經(jīng)要聞

金價(jià)跌至900元關(guān)口,大媽又來抄底了!

汽車要聞

綜合續(xù)航超1600km/零百加速4秒級(jí) 2027款星途ES預(yù)售18.99萬起

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

藝術(shù)
本地
時(shí)尚
教育
公開課

藝術(shù)要聞

Lori Putnam | 光感拉滿的印象風(fēng)景寫生

本地新聞

AK劉彰邂逅河北南大港濕地

世界杯的“頭”等大事,來了

教育要聞

不留遺憾,高考再戰(zhàn)!綿陽(yáng)多校2027屆復(fù)讀班招生信息出爐

公開課

李玫瑾:為什么性格比能力更重要?

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