歡迎光臨
每天分享高質量文章

當年發明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語言的發明者。

布萊恩·柯尼漢生於加拿大多倫多,曾在貝爾實驗室計算科學研究中心擔任高階研究人員,長期在普林斯頓大學任教。