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