自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解讀高德納:最偉大計(jì)算機(jī)程序員是如何誕生的

開(kāi)發(fā) 項(xiàng)目管理
高德納真的只是一個(gè)人么?他一生發(fā)表了150余篇論文,提出了領(lǐng)域內(nèi)最重要的三個(gè)算法。他的經(jīng)典巨著(如今在寫(xiě)第四卷)《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》對(duì)整個(gè)行業(yè)進(jìn)行了綜述,同時(shí)也提出了原創(chuàng)的研究見(jiàn)解。這本書(shū)的前幾卷已經(jīng)誕生了中文、日語(yǔ)、俄語(yǔ)和匈牙利語(yǔ)等多個(gè)版本。

計(jì)算機(jī)編程是一種藝術(shù)形式,就如同人們譜寫(xiě)詩(shī)歌和音樂(lè)。  ——高德納

enter image description here

高德納(Donald Ervin Knuth,1938年1月10日-),出生于密爾沃基,美國(guó)著名計(jì)算機(jī)科學(xué)家,斯坦福大學(xué)計(jì)算機(jī)系榮譽(yù)退休教授。高德納教授被譽(yù)為現(xiàn)代計(jì)算機(jī)科學(xué)的鼻祖[來(lái)源請(qǐng)求],在計(jì)算機(jī)科學(xué)及數(shù)學(xué)領(lǐng)域發(fā)表了多部具廣泛影響的論文和著作。

高德納最為人知的事跡是,他是《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》(The Art of Computer Programming)的作者。此書(shū)是計(jì)算機(jī)科學(xué)界最受高度敬重的參考書(shū)籍之一。他創(chuàng)造了算法分析的領(lǐng)域,在數(shù)個(gè)理論計(jì)算機(jī)科學(xué)的分支做出基石一般的貢獻(xiàn),此外還是排版軟件TEX和字體設(shè)計(jì)系統(tǒng)Metafont的發(fā)明人。

高德納的英文名直譯為唐納德·歐文·克努斯(Knuth發(fā)音為/knuːθ/[1]),“高德納”這個(gè)中文名字是1977年他訪問(wèn)中國(guó)之前所取的,命名者是儲(chǔ)楓(姚期智的夫人,計(jì)算機(jī)科學(xué)家)。

高德納真的只是一個(gè)人么?他一生發(fā)表了150余篇論文,提出了領(lǐng)域內(nèi)最重要的三個(gè)算法。他的經(jīng)典巨著(如今在寫(xiě)第四卷)《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》對(duì)整個(gè)行業(yè)進(jìn)行了綜述,同時(shí)也提出了原創(chuàng)的研究見(jiàn)解。這本書(shū)的前幾卷已經(jīng)誕生了中文、日語(yǔ)、俄語(yǔ)和匈牙利語(yǔ)等多個(gè)版本。在三十多年的研究生涯中,他還找時(shí)間創(chuàng)造出功能強(qiáng)大的排版印刷軟件系統(tǒng),以便進(jìn)行多樣化的寫(xiě)作,主題 包括古巴比倫算法和《圣經(jīng)》詩(shī)篇,甚至還有小說(shuō)。在“業(yè)余時(shí)間”里,他喜歡彈奏自已設(shè)計(jì)的管風(fēng)琴。

enter image description here 

高德納和妻子在斯坦福大學(xué)家中,面前是他自己設(shè)計(jì)的管風(fēng)琴,1975年(斯坦福大學(xué)新聞出版服務(wù)中心提供)

在其職業(yè)生涯中,高德納受到了公眾廣泛的贊譽(yù)和褒獎(jiǎng),包括1974年獲得計(jì)算機(jī)科學(xué)界的***榮譽(yù)圖靈獎(jiǎng),1979年獲得吉米·卡特總統(tǒng)頒發(fā)的美國(guó)國(guó)家科學(xué)獎(jiǎng)?wù)?。然而高德納以一種超然的態(tài)度面對(duì)這些榮譽(yù)。當(dāng)年的圖靈獎(jiǎng)杯如今已被他當(dāng)做了盛放水果的果盤(pán)。

高德納的音樂(lè)世界及他的***篇出版物

高德納于1938年出生于密爾沃基。他的父親是克努斯家族的***位大學(xué)生,最開(kāi)始是小學(xué)教師,后來(lái)在一所路德教會(huì)高中教簿記學(xué)。每周日他還在教堂彈奏管風(fēng)琴。高德納繼承了他父親對(duì)音樂(lè)和教育的理解,尤其是語(yǔ)言風(fēng)格。

我最感興趣的東西恰恰是老師們擅長(zhǎng)的。我們?cè)谡Z(yǔ)句分析圖方面進(jìn)行了扎實(shí)的訓(xùn)練。下課后總有一堆人湊在一起分析詩(shī)歌中的語(yǔ)句,其樂(lè)融融。

作為校報(bào)的編輯,高德納發(fā)明了填字游戲 。他至今仍記得當(dāng)年在詞海中尋找合適題目的樂(lè)趣。從小時(shí)候起,高德納就開(kāi)始贏得榮譽(yù)。8年級(jí)時(shí),一家糖果生產(chǎn)商贊助了一次比賽,要求選手用其品牌 “Ziegler’s Giant Bar”(齊格勒巨型棒棒糖)中的字母組成新的單詞,組成單詞數(shù)量最多者獲勝。小高德納決定嘗試一把。

我找出了大概4500個(gè)單詞,還沒(méi)有用撇號(hào)。如果用撇號(hào)我會(huì)找到更多。比賽裁判給出的“官方”單詞表上只有2500個(gè)。

他贏得了自己的***份獎(jiǎng)勵(lì):一臺(tái)電視機(jī)(在當(dāng)時(shí)屬于奢侈品)以及足夠整個(gè)學(xué)校享用的齊格勒棒棒糖。上高中之后,高德納又獲得了西屋科學(xué)天才獎(jiǎng)的提名,理由是他的“普茨比度量衡體系”。高德納以他日后研究生涯中標(biāo)志性的細(xì)心和準(zhǔn)確,定義了一系列基本單位,例如長(zhǎng)度單位普茨比 (第26期MAD雜志的厚度)、“麻煩程度”單位MAD(即48件事的麻煩程度)以及能量的基本單位whatmeworry 。1957年6月,MAD 漫畫(huà)雜志花25美金買(mǎi)下了這篇作品,使之成為了高德納等身著作中的***篇出版物。不過(guò),他在高中時(shí)期最關(guān)注的既不是寫(xiě)作也不是科普,而是音樂(lè)。

當(dāng)時(shí)我認(rèn)為上大學(xué)時(shí)應(yīng)該會(huì)主修音樂(lè)專(zhuān)業(yè)。一開(kāi)始我吹薩克斯,后來(lái)樂(lè)隊(duì)的低音號(hào)手出了事故,我又開(kāi)始吹低音號(hào)。我為樂(lè)隊(duì)編了一首曲子,把當(dāng)時(shí)熱門(mén)電視劇的主題曲都加了進(jìn)去——《法網(wǎng)恢恢》 、胡迪•都迪秀 還有百利發(fā)乳 的廣告音樂(lè)。我那時(shí)可不懂什么版權(quán)保護(hù)法。

高德納的計(jì)算機(jī)之路

1956年,高德納有生以來(lái)***次接觸到了計(jì)算機(jī),那是一臺(tái)IBM 650,F(xiàn)ortran之前的機(jī)器。他通宵不眠地鉆研使用手冊(cè),并且自學(xué)了基本編程。

我們從IBM得到的手冊(cè)上面有一些編程的案例,而我發(fā)現(xiàn)自己的方法比上面介紹的好得多。所以我猜自己可能有些天賦。其實(shí)我不知道的是幾乎所有人都能對(duì)那些程序加以改進(jìn)——當(dāng)時(shí)的相關(guān)書(shū)籍都很差勁。我開(kāi)始學(xué)習(xí)計(jì)算機(jī)時(shí),正是巴科斯忙于Fortran的時(shí)候。

高德納的***個(gè)程序是把數(shù)分解為素?cái)?shù)的乘積,另一個(gè)程序則是教計(jì)算機(jī)玩井字棋 。不過(guò)這些都只是小打小鬧而已。1958年他為凱斯校籃球隊(duì)編寫(xiě)了一個(gè)程序,根據(jù)命中率、搶斷、失誤等數(shù)據(jù)為每位球員評(píng)分。球隊(duì)教練非常欣賞這套程序,宣稱(chēng)球隊(duì)在聯(lián)賽奪冠也有它的一份功勞?!缎侣勚芸穼?zhuān)門(mén)為該程序?qū)懥艘黄獔?bào)道,IBM也在公司宣傳冊(cè)上刊登了高德納與650機(jī)的合影。高德納被計(jì)算機(jī)的無(wú)所不能深深地吸引住了。事實(shí)證明計(jì)算機(jī)甚至也符合他對(duì)音樂(lè)的興趣。數(shù)學(xué)是一種模式的科學(xué)。音樂(lè)也是模式。計(jì)算機(jī)科學(xué)在進(jìn)行抽象、建立模式等方面同樣有很多作為。我認(rèn)為,計(jì)算機(jī)科學(xué)與其他領(lǐng)域***的區(qū)別就在于它不斷的躍變 ——從微觀角度上升到宏觀視角。

有許多職業(yè)的產(chǎn)生是有明確的需要,人們要找到解決重要問(wèn)題的方法,比如醫(yī)學(xué)方面的職業(yè)。而像計(jì)算機(jī)科學(xué)這樣的職業(yè)之所以存在,是我們從小形成的思維結(jié)構(gòu)所決定的。

如果你碰巧屬于某2%的人,那么你就會(huì)自然而然地被計(jì)算機(jī)吸引而產(chǎn)生共鳴。正是思維方式將我們與其他人區(qū)分開(kāi)來(lái)。最終,我意識(shí)到自己是一位計(jì)算機(jī)科學(xué)家。

1960年,高德納以***異成績(jī)從凱斯理工學(xué)院畢業(yè),而且校方打破慣例,投票決定同時(shí)授予他數(shù)學(xué)碩士學(xué)位。隨后他前往加州理工學(xué)院,3年后獲得數(shù)學(xué)博士學(xué)位。他寫(xiě)了一篇關(guān)于組合幾何學(xué)的論文“有限半視場(chǎng)及射影平面”。

1963年畢業(yè)后,高德納以數(shù)學(xué)系助理教授的身份加入了加州理工學(xué)院教研組,仍然繼續(xù)追隨著對(duì)計(jì)算機(jī)的興趣。自1960年起他就擔(dān)任了布勞斯公司的顧問(wèn)。布勞斯公司(后合并為優(yōu)利系統(tǒng))是當(dāng)時(shí)計(jì)算機(jī)產(chǎn)業(yè)的領(lǐng)跑者,與艾茲赫爾•戴克斯徹等杰出人物保持著密切的聯(lián)系。

高德納在布勞斯的工作內(nèi)容包括硬件和軟件設(shè)計(jì),尤其是對(duì)新發(fā)明的Algol 60編程語(yǔ)言提供支持。這份工作讓他有機(jī)會(huì)與戴克斯徹當(dāng)面認(rèn)識(shí),分享彼此對(duì)編譯的共同愛(ài)好。戴克斯徹和J. A. 祖內(nèi)維德 在1960年8月已經(jīng)實(shí)現(xiàn)了***個(gè)Algol 60編譯器。

我們見(jiàn)了面,并一直保持書(shū)信來(lái)往。他***的長(zhǎng)處在于永不妥協(xié)的審美品味,我呢,總是意志不堅(jiān),搖擺不定。如果他對(duì)我說(shuō)他喜歡我做的某件事,那么他就是真的喜歡;如果他說(shuō)不喜歡,那么就是真的不喜歡。所以我視他為難得的諍友。

在那個(gè)時(shí)侯,數(shù)學(xué)和計(jì)算機(jī)科學(xué)之間存在著巨大的鴻溝。在寫(xiě)程序時(shí),你必須來(lái)回調(diào)整,直到自己認(rèn)為它能順利運(yùn)行。利用數(shù)學(xué)對(duì)程序進(jìn)行證明——這在當(dāng)時(shí)是一個(gè)非常激進(jìn)的概念,所有人都認(rèn)為不可能。戴克斯徹的確是計(jì)算機(jī)程序驗(yàn)證方面最偉大的先驅(qū)之一。

巨著《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》的誕生

1962年1月,Addison-Wesley出版社 找到當(dāng)時(shí)還是學(xué)生的高德納,邀請(qǐng)他為編譯器這一新生領(lǐng)域?qū)懸槐緯?shū)。同年夏他啟動(dòng)了這項(xiàng)計(jì)劃,到1963年秋,他開(kāi)始讓自己在加州理工的學(xué)生試讀初稿,以測(cè)試效果。

到了1966年,我已經(jīng)手寫(xiě)了3000頁(yè)的草稿,開(kāi)始用打字機(jī)把它們打出來(lái)。我比較了手書(shū)和打印頁(yè)面的文字大小,估計(jì)這個(gè)3000頁(yè)會(huì)減少到700頁(yè)。但是出版社說(shuō)我錯(cuò)了,比率應(yīng)該是1比1。經(jīng)過(guò)瘋狂的會(huì)議討論,我們定下了一個(gè)計(jì)劃:出一個(gè)七卷冊(cè)的系列叢書(shū)。

在1966年,舉一人之力就可以了解整個(gè)計(jì)算機(jī)科學(xué)領(lǐng)域。但是它一直在不斷成長(zhǎng)壯大。我已經(jīng)盡全力跟上它的步伐。而現(xiàn)在我發(fā)現(xiàn)第4卷(關(guān)于組合算法)一卷馬上就要超過(guò)2000頁(yè)——第4A、4B和4C卷,估計(jì)能在2003年完成。

一個(gè)新科博士,挑戰(zhàn)如此包羅萬(wàn)象的典籍,本就是一件驚人的事,但它得到的反應(yīng)卻更加驚人:《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》的前三卷成了20世紀(jì)70年代初教科書(shū)的***,至今仍頻頻被用于參考書(shū)。它們之所以一直受到追捧,正是因?yàn)楦叩录{對(duì)待課題一絲不茍的態(tài)度。對(duì)提及的每一個(gè)理論,書(shū)中都會(huì)巨細(xì)無(wú)遺地討論所有細(xì)節(jié)。在解釋某個(gè)算法后,高德納還會(huì)再給出一個(gè)程序?qū)嵗?mdash;—目的是確保讀者不會(huì)產(chǎn)生誤解。書(shū)中嚴(yán)謹(jǐn)與機(jī)智并舉,而且盡力展現(xiàn)每一條理念下蘊(yùn)藏的美感。正如紐約大學(xué)的編譯器設(shè)計(jì)師埃德•施恩伯格 所言:“戴克斯徹教我們分辨是非,高德納教我們分辨好壞。”

由小故事探究最偉大的計(jì)算機(jī)程序員如何誕生的

民間故事中一直把高德納視作為有史以來(lái)最偉大的計(jì)算機(jī)程序員。我們不妨參考以下艾倫•凱所講的軼事。

當(dāng)我在斯坦福大學(xué)從事AI項(xiàng)目時(shí)(20世紀(jì)60年代末),每個(gè)感恩節(jié)我們都會(huì)與在灣區(qū)做研究項(xiàng)目的人們進(jìn)行一次編程競(jìng)賽。獎(jiǎng)品是一只火雞。麥卡錫為競(jìng)賽出題。高德納參加的那一年,他一舉拿下了兩個(gè)獎(jiǎng)項(xiàng):程序調(diào)試所用的時(shí)間最少、算法執(zhí)行效率***。而且他用的是所有參賽者中最爛的系統(tǒng),叫做Wilbur系統(tǒng),只能遠(yuǎn)程批處理??梢哉f(shuō)他把所有人都打得屁滾尿流。然后他們問(wèn)他:“你怎么這么牛?”他回答說(shuō):“我學(xué)編程的時(shí)候,一天能摸5分鐘計(jì)算機(jī)就不錯(cuò)了。想讓程序跑起來(lái),就必須寫(xiě)得沒(méi)有錯(cuò)誤。所以編程就像在石頭上雕刻一樣,必須小心翼翼。我就是這樣學(xué)編程的。”

本文摘自:《奇思妙想:15位計(jì)算機(jī)天才及其重大發(fā)現(xiàn)

enter image description here

原文鏈接:http://www.ituring.com.cn/article/35439

【編輯推薦】

  1. 有關(guān)“非計(jì)算機(jī)專(zhuān)業(yè)如何轉(zhuǎn)行做程序員”的一點(diǎn)思考
  2. 每個(gè)程序員都應(yīng)該了解的“虛擬內(nèi)存”知識(shí)
  3. 正能量系列:失業(yè)的程序員(四)
  4. 我為什么回家:一位程序員老爸的宣言
  5. 正能量系列:失業(yè)的程序員(三)
責(zé)任編輯:林師授 來(lái)源: 圖靈社區(qū)
相關(guān)推薦

2012-10-23 15:11:05

2013-03-27 09:59:33

程序員編程

2009-02-13 12:20:22

程序員計(jì)算機(jī)英語(yǔ)

2011-05-11 09:42:27

程序員

2011-11-09 13:52:04

程序員

2010-03-08 10:48:09

2015-06-25 19:23:03

JavaScript程序員

2015-06-25 09:53:13

JavaScript程序員

2020-03-09 11:14:25

程序員技術(shù)設(shè)計(jì)

2011-01-13 09:40:23

算法

2015-06-25 09:32:55

JavaScript程序員

2015-07-15 11:14:42

2015-10-14 13:22:11

計(jì)算機(jī)程序員

2011-06-08 10:24:58

程序員

2012-04-09 09:42:56

2020-05-18 14:30:52

計(jì)算機(jī)互聯(lián)網(wǎng) 技術(shù)

2009-05-22 10:43:44

2023-08-07 12:11:26

CPU存儲(chǔ)器SSD

2017-12-04 23:25:24

2020-11-13 15:31:31

程序員計(jì)算機(jī)考研
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)