當年發明hello, world的大神,後來怎麼樣了?

導讀:對於程序員來說,"

hello, world"就像小學一年級數學課上的1+1,一個簡單而舒適的起點。也正如字面意思所說,它將引導你開啟一個新的世界,一個等著你用好奇心去創造、去改變的新世界……

"hello, world"最初是布萊恩·柯尼漢(Brian Kernighan)在《B程序設計語言的入門教程》中最先使用的。本文的主角就是布萊恩·柯尼漢,除了“發明”了"hello, world"之外,他被網友和媒體戴上了各種頭銜——“歷史上最偉大的十大程序員”、“十五位計算先驅”等等,他與丹尼斯·裡奇(Dennis Ritchie)共同寫作了C語言的第一本著作《C程序設計語言》,當今的程序員們逃不開他的影響力。

當年發明hello, world的大神,後來怎麼樣了?

▲年輕時的布萊恩·柯尼漢,圖片來自於網絡

與高高在上的“大神”形象形成反差的是,在普林斯頓大學任教的布萊恩·柯尼漢教授,每年秋天的開學季,都會給非計算機專業的學生,講授一門名叫“我們世界中的計算機”的課程(COS 109: Computers in our World)。這門課的目的其實非常純粹,就是科普有關計算機的最基本常識,讓每一個人都能在工作和生活中更好地使用電腦。

本文寫作時剛好趕上開學季和教師節,這裡就先遙祝教授節日快樂吧!

01 "hello, world"的前世今生

1972年,在貝爾實驗室內部技術文件《B程序設計語言的入門教程》("Introduction to the Language B")中,布萊恩·柯尼漢第一次使用了"hello, world"作為編程案例。後來在《C程序設計語言》中,布萊恩·柯尼漢再次將"hello, world"寫進案例。隨著這本經典著作的大賣,"hello, world"也流行起來,並逐漸成為具有特定象徵意義的文化符號。

當年發明hello, world的大神,後來怎麼樣了?

▲布萊恩·柯尼漢1974年寫在紙上的"hello, world"程序C語言代碼及簽名

關於"hello, world"的準確來歷,2011年,布萊恩·柯尼漢在接受福布斯印度採訪時說:

我的記憶已經模糊了。我記得的是,我看過一個卡通片,裡面一個雞蛋和一隻小雞,小雞說:“你好,世界”。

"hello, world"作為一個特定詞組,它的標準寫法是:兩個單詞的開頭字母都是小寫,單詞間用英文半角逗號隔開,逗號後面有一個空格。因為這就是最初的"hello, world"程序輸出結果的樣子。當年的B語言程序是這樣寫的:

當年發明hello, world的大神,後來怎麼樣了?

今天的幾種的常見語言中,你可以這樣輸出"hello, world":

C

當年發明hello, world的大神,後來怎麼樣了?

Java

當年發明hello, world的大神,後來怎麼樣了?

Python 2

當年發明hello, world的大神,後來怎麼樣了?

Python 3

當年發明hello, world的大神,後來怎麼樣了?

Ruby

當年發明hello, world的大神,後來怎麼樣了?

Kotlin

當年發明hello, world的大神,後來怎麼樣了?

02 “歷史上最偉大的十大程序員”

前些年,數據叔看過一篇網文《歷史上最偉大的十大程序員》,布萊恩·柯尼漢跟比爾·蓋茨、Java之父詹姆斯·高斯林(James Gosling)、Python之父吉多·範羅蘇姆(Guido van Rossum)等偉大名字一起入圍榜單。上榜的緣由顯而易見,他關於C語言、Unix系統的很多工作,40年來一直對後人產生深遠的影響。

當年發明hello, world的大神,後來怎麼樣了?

▲布萊恩·柯尼漢在貝爾實驗室“向丹尼斯·裡奇致敬”活動中發表演講,圖片作者:Ben Lowe,來源:

1978年,布萊恩·柯尼漢和C語言之父丹尼斯·裡奇合著了《C程序設計語言》,這本書毫無爭議地成為C語言最權威的教材。由兩位作者姓氏開頭組成的短語"K & R"也如同"hello, world"成為固定詞組。"K & R"除了指代兩位作者之外,也被認為是最早的代碼風格。

當年發明hello, world的大神,後來怎麼樣了?

▲《C程序設計語言》,點擊圖片瞭解更多

此外,布萊恩·柯尼漢參加了UNIX系統、C語言和許多其他系統的開發。他是AWK語言和AMPL語言的發明者。

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

03 普林斯頓計算機公開課

從1999年開始,布萊恩·柯尼漢教授在普林斯頓大學開設了一門名叫“我們世界中的計算機”的課程(COS109: Computers in Our World),這門課是向非計算機專業的學生介紹計算機基本常識的,多年來大受學生追捧。選修這門課的學生來自普林斯頓大學政治、歷史、古典文學、經濟、音樂和藝術等專業,幾乎涵蓋了人文和社會科學的各個專業。

除了向學生講解計算機理論知識,這門課還有相應的實驗課——學生可以試著用流行的編程語言寫幾行代碼,大家一起討論蘋果、谷歌和微軟的技術如何滲入日常生活的每個角落。

課程從CPU、RAM、硬盤、硬件、軟件講起,但並不是一些枯燥無味的陳詞濫調。課程的內容還包括很多

當今最熱點的話題:社交網絡、數據挖掘、雲計算、隱私、安全、比特幣……

2011年,柯尼漢教授將課程講義整理成"D is for Digital"(中文版名為《世界是數字的》)一書出版。2017年,隨著課程內容的更新和時代的進展,柯尼漢教授又編寫了"Understanding the Digital World",今年4月,這本書的中文版《普林斯頓計算機公開課》上市。

當年發明hello, world的大神,後來怎麼樣了?

▲《普林斯頓計算機公開課》,點擊圖片瞭解更多

在《普林斯頓計算機公開課》一書的前言中,柯尼漢教授提到了斯諾登的稜鏡門事件和美國國家安全局對德國總統默克爾的竊聽,並表示“科技並非人們想象的那麼美好和神奇”。但其實他講授的這門課程,正是致力於讓科技創造美好和神奇。

也許是數據叔沒上過段位太高的大學吧,總之,我是沒見過哪位大神級的人物有耐心給兢兢業業地給非本專業的本科生講課,也不知道聽大神講科普是怎樣一種體驗。這位"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詞條
  • 盤點:十大歷史上最偉大的程序員


分享到:


相關文章: