当年发明hello, world的大神,后来怎么样了?
導(dǎo)讀:對(duì)于程序員來(lái)說(shuō),"hello, world"就像小學(xué)一年級(jí)數(shù)學(xué)課上的1+1,一個(gè)簡(jiǎn)單而舒適的起點(diǎn)。也正如字面意思所說(shuō),它將引導(dǎo)你開(kāi)啟一個(gè)新的世界,一個(gè)等著你用好奇心去創(chuàng)造、去改變的新世界……
"hello, world"最初是布萊恩·柯尼漢(Brian Kernighan)在《B程序設(shè)計(jì)語(yǔ)言的入門(mén)教程》中最先使用的。本文的主角就是布萊恩·柯尼漢,除了“發(fā)明”了"hello, world"之外,他被網(wǎng)友和媒體戴上了各種頭銜——“歷史上最偉大的十大程序員”、“十五位計(jì)算先驅(qū)”等等,他與丹尼斯·里奇(Dennis Ritchie)共同寫(xiě)作了C語(yǔ)言的第一本著作《C程序設(shè)計(jì)語(yǔ)言》,當(dāng)今的程序員們逃不開(kāi)他的影響力。
▲年輕時(shí)的布萊恩·柯尼漢,圖片來(lái)自于網(wǎng)絡(luò)
與高高在上的“大神”形象形成反差的是,在普林斯頓大學(xué)任教的布萊恩·柯尼漢教授,每年秋天的開(kāi)學(xué)季,都會(huì)給非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,講授一門(mén)名叫“我們世界中的計(jì)算機(jī)”的課程(COS 109: Computers in our World)。這門(mén)課的目的其實(shí)非常純粹,就是科普有關(guān)計(jì)算機(jī)的最基本常識(shí),讓每一個(gè)人都能在工作和生活中更好地使用電腦。
本文寫(xiě)作時(shí)剛好趕上開(kāi)學(xué)季和教師節(jié),這里就先遙祝教授節(jié)日快樂(lè)吧!
01 "hello, world"的前世今生
1972年,在貝爾實(shí)驗(yàn)室內(nèi)部技術(shù)文件《B程序設(shè)計(jì)語(yǔ)言的入門(mén)教程》("Introduction to the Language B")中,布萊恩·柯尼漢第一次使用了"hello, world"作為編程案例。后來(lái)在《C程序設(shè)計(jì)語(yǔ)言》中,布萊恩·柯尼漢再次將"hello, world"寫(xiě)進(jìn)案例。隨著這本經(jīng)典著作的大賣(mài),"hello, world"也流行起來(lái),并逐漸成為具有特定象征意義的文化符號(hào)。
▲布萊恩·柯尼漢1974年寫(xiě)在紙上的"hello, world"程序C語(yǔ)言代碼及簽名
關(guān)于"hello, world"的準(zhǔn)確來(lái)歷,2011年,布萊恩·柯尼漢在接受福布斯印度采訪時(shí)說(shuō):
我的記憶已經(jīng)模糊了。我記得的是,我看過(guò)一個(gè)卡通片,里面一個(gè)雞蛋和一只小雞,小雞說(shuō):“你好,世界”。
"hello, world"作為一個(gè)特定詞組,它的標(biāo)準(zhǔn)寫(xiě)法是:兩個(gè)單詞的開(kāi)頭字母都是小寫(xiě),單詞間用英文半角逗號(hào)隔開(kāi),逗號(hào)后面有一個(gè)空格。因?yàn)檫@就是最初的"hello, world"程序輸出結(jié)果的樣子。當(dāng)年的B語(yǔ)言程序是這樣寫(xiě)的:
今天的幾種的常見(jiàn)語(yǔ)言中,你可以這樣輸出"hello, world":
C
Java
Python 2
Python 3
Ruby
Kotlin
02 “歷史上最偉大的十大程序員”
前些年,數(shù)據(jù)叔看過(guò)一篇網(wǎng)文《歷史上最偉大的十大程序員》,布萊恩·柯尼漢跟比爾·蓋茨、Java之父詹姆斯·高斯林(James Gosling)、Python之父吉多·范羅蘇姆(Guido van Rossum)等偉大名字一起入圍榜單。上榜的緣由顯而易見(jiàn),他關(guān)于C語(yǔ)言、Unix系統(tǒng)的很多工作,40年來(lái)一直對(duì)后人產(chǎn)生深遠(yuǎn)的影響。
▲布萊恩·柯尼漢在貝爾實(shí)驗(yàn)室“向丹尼斯·里奇致敬”活動(dòng)中發(fā)表演講,圖片作者:Ben Lowe,來(lái)源:Flickr
1978年,布萊恩·柯尼漢和C語(yǔ)言之父丹尼斯·里奇合著了《C程序設(shè)計(jì)語(yǔ)言》,這本書(shū)毫無(wú)爭(zhēng)議地成為C語(yǔ)言最權(quán)威的教材。由兩位作者姓氏開(kāi)頭組成的短語(yǔ)"K & R"也如同"hello, world"成為固定詞組。"K & R"除了指代兩位作者之外,也被認(rèn)為是最早的代碼風(fēng)格。
▲《C程序設(shè)計(jì)語(yǔ)言》,點(diǎn)擊圖片了解更多
此外,布萊恩·柯尼漢參加了UNIX系統(tǒng)、C語(yǔ)言和許多其他系統(tǒng)的開(kāi)發(fā)。他是AWK語(yǔ)言和AMPL語(yǔ)言的發(fā)明者。
布萊恩·柯尼漢生于加拿大多倫多,曾在貝爾實(shí)驗(yàn)室計(jì)算科學(xué)研究中心擔(dān)任高級(jí)研究人員,長(zhǎng)期在普林斯頓大學(xué)任教。
▲聽(tīng)布萊恩·柯尼漢講述C語(yǔ)言的往事,英文字幕,來(lái)源:Computerphile
03 普林斯頓計(jì)算機(jī)公開(kāi)課
從1999年開(kāi)始,布萊恩·柯尼漢教授在普林斯頓大學(xué)開(kāi)設(shè)了一門(mén)名叫“我們世界中的計(jì)算機(jī)”的課程(COS109: Computers in Our World),這門(mén)課是向非計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生介紹計(jì)算機(jī)基本常識(shí)的,多年來(lái)大受學(xué)生追捧。選修這門(mén)課的學(xué)生來(lái)自普林斯頓大學(xué)政治、歷史、古典文學(xué)、經(jīng)濟(jì)、音樂(lè)和藝術(shù)等專(zhuān)業(yè),幾乎涵蓋了人文和社會(huì)科學(xué)的各個(gè)專(zhuān)業(yè)。
除了向?qū)W生講解計(jì)算機(jī)理論知識(shí),這門(mén)課還有相應(yīng)的實(shí)驗(yàn)課——學(xué)生可以試著用流行的編程語(yǔ)言寫(xiě)幾行代碼,大家一起討論蘋(píng)果、谷歌和微軟的技術(shù)如何滲入日常生活的每個(gè)角落。
課程從CPU、RAM、硬盤(pán)、硬件、軟件講起,但并不是一些枯燥無(wú)味的陳詞濫調(diào)。課程的內(nèi)容還包括很多當(dāng)今最熱點(diǎn)的話題:社交網(wǎng)絡(luò)、數(shù)據(jù)挖掘、云計(jì)算、隱私、安全、比特幣……
2011年,柯尼漢教授將課程講義整理成"D is for Digital"(中文版名為《世界是數(shù)字的》)一書(shū)出版。2017年,隨著課程內(nèi)容的更新和時(shí)代的進(jìn)展,柯尼漢教授又編寫(xiě)了"Understanding the Digital World",今年4月,這本書(shū)的中文版《普林斯頓計(jì)算機(jī)公開(kāi)課》上市。
▲《普林斯頓計(jì)算機(jī)公開(kāi)課》,點(diǎn)擊圖片了解更多
在《普林斯頓計(jì)算機(jī)公開(kāi)課》一書(shū)的前言中,柯尼漢教授提到了斯諾登的棱鏡門(mén)事件和美國(guó)國(guó)家安全局對(duì)德國(guó)總統(tǒng)默克爾的竊聽(tīng),并表示“科技并非人們想象的那么美好和神奇”。但其實(shí)他講授的這門(mén)課程,正是致力于讓科技創(chuàng)造美好和神奇。
也許是數(shù)據(jù)叔沒(méi)上過(guò)段位太高的大學(xué)吧,總之,我是沒(méi)見(jiàn)過(guò)哪位大神級(jí)的人物有耐心給兢兢業(yè)業(yè)地給非本專(zhuān)業(yè)的本科生講課,也不知道聽(tīng)大神講科普是怎樣一種體驗(yàn)。這位"hello, world"的原創(chuàng)者,多年來(lái)一直手把手地教一代又一代的年輕人學(xué)會(huì)"hello, world",引領(lǐng)他們對(duì)計(jì)算機(jī)科學(xué)的新世界say hello。
04 致敬
最后,數(shù)據(jù)叔非常想在這個(gè)中國(guó)教師節(jié)即將來(lái)臨的日子里對(duì)教授先生表達(dá)一下敬意。不過(guò)語(yǔ)文沒(méi)學(xué)好的數(shù)據(jù)叔真的很詞窮。我想,對(duì)于柯尼漢教授的課程、《普林斯頓計(jì)算機(jī)公開(kāi)課》這本書(shū),以及他在計(jì)算機(jī)科學(xué)多個(gè)領(lǐng)域的貢獻(xiàn)和影響力,是很難用“感謝”“致敬”之類(lèi)的蒼白詞匯表達(dá)的。
所以怎么辦?要不,買(mǎi)本書(shū)吧……
相關(guān)參考:
Brian Kernighan - Wikipedia
https://en.wikipedia.org/wiki/Brian_Kernighan
Brian Kernighan: No one Thought C Would Become So Big -?Forbes India
http://www.forbesindia.com/interview/special/brian-kernighan-no-one-thought-c-would-become-so-big/29982/1
《普林斯頓計(jì)算機(jī)公開(kāi)課》,作者:布萊恩·柯尼漢,譯者:劉藝、劉哲雨、吳英,機(jī)械工業(yè)出版社,ISBN: 978-7-111-59310-2
百度百科hello world詞條
盤(pán)點(diǎn):十大歷史上最偉大的程序員
更多精彩
在公眾號(hào)后臺(tái)對(duì)話框輸入以下關(guān)鍵詞
查看更多優(yōu)質(zhì)內(nèi)容!
PPT?|?報(bào)告?|?讀書(shū)?|?書(shū)單
Python?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?神經(jīng)網(wǎng)絡(luò)
區(qū)塊鏈?|?揭秘?|?干貨?|?數(shù)學(xué)
猜你想看
硅谷大佬提前劇透未來(lái)!6本書(shū),助你走在AI時(shí)代前沿
概率入門(mén):雙色球中獎(jiǎng)、購(gòu)車(chē)搖號(hào)中簽和德?lián)渫?#xff0c;哪個(gè)更容易?
6年級(jí)學(xué)Python,高中學(xué)AI?這6本書(shū),助你找回輸?shù)舻钠鹋芫€
終于有人把數(shù)據(jù)、信息、算法、統(tǒng)計(jì)、概率和數(shù)據(jù)挖掘都講明白了!
Q:?你最想感謝的老師是誰(shuí)?
歡迎留言與大家分享
覺(jué)得不錯(cuò),請(qǐng)把這篇文章分享給你的朋友
轉(zhuǎn)載 / 投稿請(qǐng)聯(lián)系:baiyu@hzbook.com
更多精彩,請(qǐng)?jiān)诤笈_(tái)點(diǎn)擊“歷史文章”查看
總結(jié)
以上是生活随笔為你收集整理的当年发明hello, world的大神,后来怎么样了?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中台生态的形成:全面解读技术、研发、移动
- 下一篇: 猿宵节正确打开方式:你要的大数据、机器学