成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hello World 程序的起源與歷史

開發(fā) 后端 前端
這是一個最著名的程序。對每一位程序員來說,這個程序幾乎是每一門編程語言中的第一個示例程序。那么,這個著名的程序究竟從何而來呢?

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

實際上,這個程序的功能只是告知計算機(jī)顯示 Hello World 這句話。傳統(tǒng)意義上,程序員一般用這個程序測試一種新的系統(tǒng)或編程語言。對程序員來說,看到這兩個單詞顯示在電腦屏幕上,往往表示他們的代碼已經(jīng)能夠編 譯、裝載以及正常運(yùn)行了,這個輸出結(jié)果就是為了證明這一點。

這個測試程序在一定程度上具有特殊的象征意義。在過去的幾十年間,這個程序已經(jīng)漸漸地演化成為了一個久負(fù)盛名的傳統(tǒng)。幾乎所有的程序員,無論是在你 之前,或在你之后,當(dāng)?shù)谝淮螌崿F(xiàn)與計算機(jī)成功溝通之后,在某種程度上,他們的腎上腺素就會急劇上升(激動不已)。以下就是這個著名程序的誕生故事。

Hello World 究竟從何而來?

 

[[153534]]

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

  1. main(){

  2. extrn a,b,c;

  3. putchar(a); putchar(b); putchar(c); putchar('!*n');

  4. }

  5.  

  6. a 'hell';

  7. b 'o, w';

  8. c 'orld';

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

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

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

盡管沒人能夠科學(xué)地解釋為什么 Hello World 如此地流行,但是,Hello, World 程序的確在計算機(jī)發(fā)展歷史上成為了一個具有重要意義的里程碑。我們一起來回顧一下當(dāng)時的歷史環(huán)境。

襁褓中的變革

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

[[153536]]

通常情況下,一般人認(rèn)為計算機(jī)是一種不可觸碰、復(fù)雜,而且極其昂貴的設(shè)施,它們僅僅適用于學(xué)術(shù)、政府或者國防。事實上,即使是那些專注計算機(jī)領(lǐng)域的 工業(yè)巨頭們也在努力克服這些障礙。當(dāng)時誰也無法想到,事隔多年之后,也就是現(xiàn)在,如果我們暫時失去了我們的個人數(shù)字設(shè)備(如手機(jī)等),我們甚至?xí)?a >感到焦慮。

第一個著名的計算機(jī)應(yīng)用的案例發(fā)生在1890年 - 為了收集和統(tǒng)計超過六千萬美國人口的相關(guān)數(shù)據(jù)。另一個案例出現(xiàn)在1940年,也就是二戰(zhàn)期間,Bombes & Colossus 計算機(jī)被用于破解德國人的通訊密碼。

在1950年,世界上迎來了第一代商用計算機(jī),如 Zuse 3 和 UNIVAC,在當(dāng)時主要應(yīng)用于算術(shù)運(yùn)算,但如果你想要買到這些設(shè)備,需要花費(fèi)上百萬美元。

從教育相關(guān)的角度來看,絕大多數(shù)早期的有關(guān)編程語言的圖書,如 FORTRAN 或 BASIC,常常都會從一點入手:計算機(jī)非常有用。這是算法工程師和研究者 John Mount 的一個重要觀點。Mount 認(rèn)為,Hello World 大范圍流行開啟了一個嶄新的時代 - 計算機(jī)科學(xué)家不再需要說服社會和大眾,計算的工具化特征已經(jīng)所處可見。

例如,在1964年,一本名叫《My Computer Likes Me When I Speak Basic》的圖書,在它的前言部分,就專門講述了計算機(jī)編程語言的一般性用途。而且,書中的第一個例子的輸出結(jié)果就是『MY HUMAN UNDERSTANDS ME』。之所以使用這個示例的原因,目的是為了幫助人們理解計算機(jī)這個新生事物,并且希望告訴人們:你可以和計算機(jī)進(jìn)行交流。在此之后,也就是1956 年,動態(tài)編程語言開啟了將計算機(jī)應(yīng)用于現(xiàn)實世界的更多實例。

在 C 語言以及 Hello World 程序流行起來之前,計算機(jī)并沒有得到大范圍的應(yīng)用和普及,計算機(jī)行業(yè)也沒有開始真正的騰飛。

Hello World,編程時代的真正來臨

引發(fā) Hello World 廣泛傳播的一個最主要催化劑,是 PDP-11 型計算機(jī)的面世,PDP-11 是一款在商業(yè)上極其成功的小型計算機(jī)。數(shù)字設(shè)備公司(DEC) 以 $10,000 的單價,總共出售了六十萬臺。盡管如此,這種類型的計算機(jī)已經(jīng)比當(dāng)時價值幾百萬美元的大型機(jī)在價格上便宜了許多。另外,其中 PDP-11 16-bit 系列不要求使用打孔卡,你可以使用相應(yīng)的編程語言直接與計算機(jī)進(jìn)行溝通。在那個年代,這還是第一次。

有趣的是,為了加速社會的廣泛接受度,數(shù)字設(shè)備公司并沒有將其稱為『計算機(jī)』。為了和以往那些大型主機(jī)相區(qū)別,數(shù)字設(shè)備公司改稱其為『可編程的數(shù)據(jù)處理器』。當(dāng)越來越多的機(jī)構(gòu)開始采購越來越多的可編程計算機(jī)時,對于 C 語言編程書籍的需求也變得越來越旺盛了。

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

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

也許有很多不同的基本程序可供初學(xué)者動手嘗試,但是截至目前為止,Hello World 則是其中最為著名的一個。每一位程序員都曾記得他們的第一個 Hello World 程序,因為對他們來說,這就是一個重大事件。也許有些人還沒有意識到這一點,但是,當(dāng)一名新程序員清除完一些障礙順利抵達(dá) Hello World 時,他的內(nèi)心體驗到的不僅僅是一種成功的喜悅,更重要的是,他正在親身經(jīng)歷一個跨越歷史的時刻。

原文:http://blog.hackerrank.com/the-history-of-hello-world/ 作者: Ritika Trikha
譯文:http://blog.fujiji.com/the-history-of-hello-world/ 譯者: 明珠夜話

責(zé)任編輯:王雪燕 來源: 明珠夜話
相關(guān)推薦

2017-06-26 08:55:52

2010-01-07 13:27:22

Linux驅(qū)動程序

2010-03-15 15:18:23

Python運(yùn)行

2016-12-14 14:41:20

Hello World程序運(yùn)行機(jī)制

2016-12-13 14:12:25

程序機(jī)制

2011-06-08 17:59:43

Qt Creator

2023-09-26 07:44:52

JavaJVM

2012-03-06 10:22:00

程序

2014-12-19 10:07:10

C

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2013-10-30 22:10:28

Clouda程序

2012-02-20 14:26:48

JavaPlay Framew

2009-07-30 13:21:17

Scala入門Hello World

2023-01-06 08:18:44

2009-08-11 10:32:23

什么是Groovy

2009-09-16 17:15:19

OSGi Bundle

2023-09-04 07:30:03

Wasm匯編語言

2011-06-08 14:39:06

Qt 教程

2024-03-13 13:53:10

C++程序開發(fā)

2015-11-02 09:27:09

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品伦精品一区二区三区视频 | 欧美a视频| 日韩精品视频一区二区三区 | 欧美一区二区三区大片 | 国产精品久久久久一区二区三区 | 成人久久18免费网站麻豆 | 久久毛片 | 一级毛片在线看 | 亚洲视频在线看 | 欧美涩 | 亚洲精品久久久一区二区三区 | 在线观看国产三级 | 亚洲综合二区 | 欧美激情精品久久久久 | 国产亚洲精品一区二区三区 | 在线天堂免费中文字幕视频 | 久久久久久久久久久久久久av | 久久亚| 日韩a视频 | 96av麻豆蜜桃一区二区 | 免费观看的av毛片的网站 | 国产日韩一区二区三免费 | 色橹橹欧美在线观看视频高清 | 国产精品一区二区av | 欧美日韩国产一区二区三区 | 国产精品免费在线 | 成人av激情 | 91精品国产91久久久久久吃药 | 欧美一级视频 | 99精品免费久久久久久久久日本 | 欧美一区二区成人 | www.av在线 | 日韩视频中文字幕 | 精品熟人一区二区三区四区 | 成人免费视频 | 欧美日韩一二三区 | 久草视频在线播放 | 国产高清免费 | 中文字幕视频在线观看 | 久久精品色欧美aⅴ一区二区 | 亚洲一区二区精品视频 |