程式設計師,你知道 Hello World 的歷史麼?

Sam Lin發表於2015-11-02

它是最著名的程式。對於每個程式設計師來說,它幾乎被認為是每種程式設計語言的第一個例子,那麼這條訊息是從哪裡來的呢?

作為一個功能,計算機程式簡單地告訴計算機顯示“Hello, World!”。傳統上,它是開發者用來測試系統的第一個程式。對於程式設計師來說,在螢幕上看到這兩個單詞意味著他們的程式碼可以編譯、載入和執行,並且他們可以看到輸出。

它是一個測試,象徵著一個程式的開始。在過去的幾十年,它已經成為了一個歷史悠久的傳統。在某個時候,所有在你之前的程式設計師在意識到他們成功與電腦進行通訊之後,都會腎上腺素急劇上升。下面將會介紹程式歷史上最著名的兩個單詞開始是怎樣出現的:

‘Hello World’ 出自哪裡?

Brian Kernighan(上面照片中的帥哥)創造了“Hello, World”,他是一本被廣泛閱讀的書籍(1978 年的《C 程式設計語言》)的作者。他在《C 程式設計語言》的前身(1973 年出版的《B 程式設計語言的入門教程》)中首次引用‘Hello World’。

不幸的是,這位傳奇人物自己也沒辦法明確地指出何時或者為什麼他選擇了“Hello, World”這兩個單詞。當在接受 Forbes India 的訪談中被問到是什麼激發了他使用“Hello, World”這個名字的靈感時,他說他的記憶很模糊。“我記得的是我看到了一個卡通片,裡面有一個雞蛋和一隻母雞,並且母雞說:‘Hello, World’”。

考慮到“Hello, World”代表著計算機程式設計對於大眾是一種普遍現象的誕生,這組單詞是很適合的。

當時,Kernighan 和他的同事 Dennis Ritchie(已故的 C 語言之父),都沒想到這個語言和教程對今天的程式設計領域如此重要。因為這些想法只不過是 Bell 實驗室(AT&T 的一個研究和開發分部)裡面的一個研究專案。

雖然沒人可以科學地解釋為什麼“Hello, World”會變得如此受歡迎,但是“Hello, World”程式標誌著程式設計的歷史論調上一個重大改變。下面讓我們看下它的歷史背景。

萌芽時期

雖然在今天很難想象,但是在 Kernighan 的書中出現“Hello World”之前,即二十世紀七十年代之前,計算機在大眾心中是伴隨著貶義的。它們是巨大的機器、非常慢、佔據了整個房間並且需要科學家或者研究者全職進行維護保養。事實上,在七十年代末以前,電腦科學家程式設計都是用一疊疊打孔卡。

人們普遍將計算機視為遙不可及的、複雜的和貴得離譜的裝置,它們只預留給學術界的精英、國防或者政府。實際上,獻身於計算機世界的行業巨頭已努力地洗掉這個汙名。想想我們已經走了這麼遠,以至於沒有了我們的個人裝置之後,切實感受到的焦慮感,這是多麼令人驚訝。

第一次使用計算機的著名事蹟之一發生在 1890 年的美國,當時自動電子製表機為超過 6 千萬美國人計算資料。在二十世紀四十年代,Bombes 和 Colossus 計算機在第二次世界大戰期間對德國人的電報密碼進行解密。

二十世紀五十年代迎來第一臺針對算術運算的商用計算機,像 Zuse 3 和 UNIVAC,但你需要上百萬的美元才能買到一臺。

從教育的角度來看,很多關於早期程式設計語言(像 FORTRAN 或者 BASIC)的書籍,都會提供這樣一個觀點作為書本的開始:計算機其實很有用的。這是根據演算法學家和研究者 John Mount 的文章得到的。Mount 說“Hello, World”爆炸性受追捧表明一個時代的到來,那個時代裡,電腦科學家不再覺得他們需要說服社會,去相信計算機的實用程式是有形的。

例如,在 1964 年的《My Computer Likes Me When I Speak Basic》一書中,介紹部分大體上談及程式設計語言的意圖。此外,第一個例子輸出:“MY HUMAN UNDERSTANDS ME”。使用這個例子是為了加深一個不太流行的想法:人類事實上是可以與計算機對話的。1956 年的動態程式設計開始使用一些可以應用到普通計算的例子。

直到《C 程式設計語言》出現時,“Hello World”才真正地流行起來。

‘Hello World’ 程式設計來了

觸發“Hello World”傳播的一個主要催化劑是 PDP-11(最早成功商用的微型計算機之一)的並行介紹。數字裝置公司(DEC)一共賣出超過 600,000 臺單價為 $10,000 的 PDP-11,這個價格遠遠低於通常需要花費數百萬美元的計算機的價格。此外,PDP-11 的 16 位系列不需要穿孔卡片。這是首次你可以使用程式設計語言直接與一臺電腦對話。

但是為了提高大眾的接受程度,DEC 不能提及它是一臺計算機。DEC 把它作為“程式控制的資料處理機”來進行推銷,以此與過去的大型計算機撇清關係。隨著更多的人購買可程式設計計算機,對《C 程式設計語言》這本書的需求也激增。

C 和 Unix 作業系統在 PDP-11 上首次流行起來。所以,緊接著出現支援新的 C 程式設計語言的商用計算機的熱潮,驅使成千上萬的人去閱讀 200 頁的《C 程式設計語言》。這也重新介紹了‘Hello World’。

在八九十年代以後,幾乎每個用桌面軟體工作的程式設計師都會擁有那本書的一份拷貝或者參考文獻。至今已經賣出數百萬份拷貝了。

開始學習程式設計可能會有很多不同的基礎程式可用,但是到目前為止,‘Hello World’是最著名的。每個程式設計師會記住他們的第一個‘Hello World’,並以此作為他們開始程式設計的一個儀式。很多人可能沒有意識到,但是每次一個程式設計師通過‘Hello World’這兩個單詞清除程式設計的第一個障礙後,他們所感受到的甜蜜和勝利的感覺,是經歷過的超越歷史的時刻。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

程式設計師,你知道 Hello World 的歷史麼?

相關文章