當前位置:
首頁 > 知識 > Hello World 程序的起源與歷史

Hello World 程序的起源與歷史

原文:Ritika Trikha

譯文:明珠夜話

鏈接:http://blog.fujiji.com/the-history-of-hello-world/

這是一個最著名的程序。對每一位程序員來說,這個程序幾乎是每一門編程語言中的第一個示常式序。那麼,這個著名的程序究竟從何而來呢?

這是一個最著名的程序。對每一位程序員來說,這個程序幾乎是每一門編程語言中的第一個示常式序。那麼,這個著名的程序究竟從何而來呢?

對程序員來說,看到這兩個單詞顯示在電腦屏幕上,往往表示他們的代碼已經能夠編譯、裝載以及正常運行了,這個輸出結果就是為了證明這一點。

這個測試程序在一定程度上具有特殊的象徵意義。在過去的幾十年間,這個程序已經漸漸地演化成為了一個久負盛名的傳統。

幾乎所有的程序員,無論是在你之前,或在你之後,當第一次實現與計算機成功溝通之後,在某種程度上,他們的腎上腺素就會急劇上升(激動不已)。以下就是這個著名程序的誕生故事。

Hello World 究竟從何而來?

Hello, World 最早是由 Brian Kernighan 創建的。1978年,Brian Kernighan 寫了一本名叫《C 程序設計語言》的編程書,在程序員中廣為流傳。他在這本書中第一次引用的 Hello World 程序,源自他在1973年編寫的一部講授 B 語言的編程教程:

main(){

extrn a,b,c;

putchar(a); putchar(b); putchar(c); putchar( !*n );

}

a hell ;

b o, w ;

c orld ;

但是非常不幸的是,當 Forbes India 雜誌採訪他的時候,他自己對這段傳奇故事中一些記憶已經有點兒模糊了。當他被問及為什麼選擇『Hello, World!』時,他回答說,『我只記得,我好像看過一幅漫畫,講述一枚雞蛋和一隻小雞的故事,在那副漫畫中,小雞說了一句『Hello World』』。

鑒於 Hello World 這個計算機程序的廣泛流行程度,這個起因看起來還是蠻合適的。

那個時候,無論是 Kernighan,還是他的同事 Dennis Ritchie - C 語言之父,都無法想像 C 語言以及這本教程書將會在今天如此之流行。他們所做的工作只是貝爾實驗室的一個研究項目,而在當時,貝爾實驗室也只是美國電話電報公司(AT&T)的技術研究與開發機構而已。

儘管沒人能夠科學地解釋為什麼 Hello World 如此地流行,但是,Hello, World 程序的確在計算機發展歷史上成為了一個具有重要意義的里程碑。我們一起來回顧一下當時的歷史環境。

襁褓中的變革

現在你可能很難想像,但是在 Hello World 連同 Kernighan 的編程書出版之前,計算機對於公眾來說,幾乎隱含著一種負面的意義。在1970年代,主機時代的計算機,不僅運行緩慢,體積龐大到足以佔用整個一間屋子,而且還需要一位全職的科學家或者研究者來維護它。事實上,在1970年代後期之前,計算機科學家在編程的時候還要使用大量的打孔卡!

通常情況下,一般人認為計算機是一種不可觸碰、複雜,而且極其昂貴的設施,它們僅僅適用於學術、政府或者國防。事實上,即使是那些專註計算機領域的工業巨頭們也在努力克服這些障礙。當時誰也無法想到,事隔多年之後,也就是現在,如果我們暫時失去了我們的個人數字設備(如手機等),我們甚至會感到焦慮。

第一個著名的計算機應用的案例發生在1890年 - 為了收集和統計超過六千萬美國人口的相關數據。另一個案例出現在1940年,也就是二戰期間,Bombes & Colossus 計算機被用於破解德國人的通訊密碼。

在1950年,世界上迎來了第一代商用計算機,如 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 型計算機的面世,PDP-11 是一款在商業上極其成功的小型計算機。數字設備公司(DEC)以 $10,000 的單價,總共出售了六十萬台。

儘管如此,這種類型的計算機已經比當時價值幾百萬美元的大型機在價格上便宜了許多。另外,其中 PDP-11 16-bit 系列不要求使用打孔卡,你可以使用相應的編程語言直接與計算機進行溝通。在那個年代,這還是第一次。

有趣的是,為了加速社會的廣泛接受度,數字設備公司並沒有將其稱為『計算機』。為了和以往那些大型主機相區別,數字設備公司改稱其為『可編程的數據處理器』。當越來越多的機構開始採購越來越多的可編程計算機時,對於 C 語言編程書籍的需求也變得越來越旺盛了。

C 語言和 UNIX 操作系統首先在 PDP-11 這個機型上變得流行了起來。因此,在接下來的一段時間裡,其他類型的商用計算機也開始支持這個 C 編程語言以及 UNIX,這種流行趨勢最終促使成千上萬的計算機相關工作者,開始閱讀這本兩百來頁的《C 程序設計語言》。當然,這其中自然包括了 Hello World 這個例子程序。

在八十年代以及九十年代,幾乎每一位曾在桌面軟體領域工作過的程序員,都曾擁有一本《C 程序設計語言》。在當時,這本書大約售出了幾百萬本之多。

也許有很多不同的基本程序可供初學者動手嘗試,但是截至目前為止,Hello World 則是其中最為著名的一個。每一位程序員都曾記得他們的第一個 Hello World 程序,因為對他們來說,這就是一個重大事件。

也許有些人還沒有意識到這一點,但是,當一名新程序員清除完一些障礙順利抵達 Hello World 時,他的內心體驗到的不僅僅是一種成功的喜悅,更重要的是,他正在親身經歷一個跨越歷史的時刻。

小編拉你進粉絲微信群

不是在文章評論里回復

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員之家 的精彩文章:

程序員給孩子取名字,新技能
如何提升程序員的非技術才能
程序猿媳婦兒注意事項

TAG:程序員之家 |

您可能感興趣

Rudolf Steiner「苦難的起源」
象形文字和人類起源之三hieroglyphics&human origin three
象形文字和人類起源之五hieroglyphics&human origin five
Dragon Buster,二段跳的起源
Origin Protocol起源協議上海站Meet Up落幕,未來在中國Origin會有更多動作
Genome Research:明晰癌症DNA修復缺陷的起源
如何拿下Gooligan(一):對Gooligan起源和工作原理的初步分析
Rodney Brooks談人工智慧的起源與發展
Relativity Space雄心初顯,創始人來自藍色起源和SpaceX
ThinkPad 起源
Tensorflow筆記-人工智慧起源
淺談Old School美式紋身起源於發展
AA評級項目Origin Protocol 區塊鏈3.0 起源協議
火箭公司 Relativity Space 雄心初顯,創始人分別來自藍色起源和 SpaceX
文明Online:起源
「領地和平運動」的起源與早期發展|YoungVienna
藍色起源勝出!Stratolaunch揭開PGA發動機的神秘面紗
Nature:關於「疼」的起源
說是Supreme粉的你,對Box Logo起源真的有所了解么?
意義深遠!Cell:Sanger研究所揭示癌細胞的突變起源