Search
Close this search box.

回顧每個 Coder 的初戀,Hello World 的開始原來是這樣

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

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

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

  • ‘Hello World’ 出自哪裡?

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

1
2
3
4
5
6
main( ) {
extrn a, b, c;
putchar(a); putchar(b); putchar(c); putchar(’!*n’);
} 1 ’hell’;
b ’o, w’;
c ’orld’;

不幸的是,這位傳奇人物自己也沒辦法明確地指出何時或者為什麼他選擇了“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’ 這兩個單詞清除程式設計的第一個障礙後,他們所感受到的甜蜜和勝利的感覺,是經歷過的超越歷史的時刻。

(本文轉載自合作夥伴《伯樂在線》;未經授權,不得轉載)