為什麼學習編程第一課要學習輸出"hello, world"?這是誰規定的?

這背後有什麼故事嗎?


這是一道考古題。

根據維基百科,Hello World 最早於 1972 年出現在 B 語言的手冊中,由 Kernighan 編寫:

main(){
extrn a,b,c;
putchar(a); putchar(b); putchar(c); putchar("!*n");
}

a "hell";
b "o, w";
c "orld";

amp;amp;quot;Hello, World!amp;amp;quot; program

後來,B 語言演變成了 C 語言。在此過程中,Hello World 是用來測試 C 語言的編譯器的程序之一。這個程序在 1974 年被 Kernighan 寫進了貝爾實驗室內部的 C 語言教程里,並最終於 1978 年由 Kernighan 和 Ritchie 在 The C Programming Language 這本書里公開發表。

Where does amp;amp;#x27;Hello worldamp;amp;#x27; come from?Programming in C: A Tutorial

第一個 C 語言版的 Hello World:

main( ) {
printf("hello, world");
}

(當時的 C 語言和現在的區別還是蠻大的)

1972 年,貝爾實驗室用 C 語言重寫了一遍 Unix 系統內核。於是,隨著後來 Unix 系統以及類 Unix 系統(比如 Linux)的傳播,C 語言成了世界上最常用的編程語言之一,而 Hello World 的傳統依然被保留了下來。


在我很小、剛接觸編程的時候,

老師告訴我,讓我寫下第一個程序 :HelloWorld!

當時很疑惑,就問老師:為什麼要是"HelloWorld!"?

老師是這麼回答的:這意味著你的程序有了生命。

就在那一瞬間,愛上了編程。

很多年後回想起來,覺得是一個很可愛的問題,和一個很可愛的回答。

謝謝這個答案。

——————萌萌噠分割線————————

居然過千贊了..小透明感覺幸福( ????? )

很多人評論里說,第一個程序是其他的balabala,我覺得並不關鍵。HelloWorld是個人盡皆知的話,而它又恰巧有這麼一個溫暖的意思,讓人愛上它..這就夠了,不是嗎?

希望大家能被它溫暖,愛上編程。


沒有人規定。你想輸出什麼就輸出什麼。但如果連輸出都不會,別的就更不用說了。

我最早學的是logo,第一個程序是用海龜畫了個線。不是hello world,誰還管得著嘛。


以前看過一個段子,普通程序員輸出hello world, 文藝程序員輸出hello kitty,2B程序員輸出segmentation fault


實際上Brian Kernighan在BCPL的文檔中寫了第一個"hello, world"程序,後來在KR的C語言聖經中也出現過這個程序,這本書影響力可不小。

見https://stackoverflow.com/questions/602237/where-does-hello-world-come-from

至於為什麼第一個程序要輸出"hello, world",大概是出於內心對歷史的敬意吧……


學coq語言第n步了也沒有教我們輸出hello world……

第一步是定義枚舉型

第二步是定義函數

第三步是計算函數

第四步是做證明

然後各路證明題劈頭蓋臉的來了(繼續學做證明題中……)


你總要找點東西來輸出


其實是擬人手法,程序一運行就好像一個新生命的誕生。然後他對著世界說:Hello,World!


那時候,你對程序的世界一無所知,甚至還沒有摸到入門的台階

你對一切都充滿好奇,大眼睛滴溜溜地打轉

你迫不及待的想要踏進去,卻又不知道該怎麼做

那個牽著你的手,緩緩邁過門檻的,也許是一個人,一本書,一個視頻,一堂課(?????????)

他(它)看著涉世未深的你,慈愛地摸摸你的頭:

小傢伙,跟這個世界打個招呼吧~

你偷偷瞥了一眼屏幕,迅速低下了頭,又含羞帶怯地打量著屏幕,小心翼翼地說:

那個,那個...

Hello,World!?(????ω????)?


致敬經典啊,雖然很多人輸出的是「1225223」、「asdfad」、「qerteyyubcx」、「abcde」、「123456」、「回家鼓風機反反覆復是的吃v」。。。。

隨便敲幾下鍵盤,從守序善良到混沌邪惡一應俱全。


輸出一個東西是最簡單的展示代碼作用的方式,不用加減乘除,不用循環和分枝。

我讀大學的時候,有個教授從紙帶機時代入行,他說第一次看到電腦輸出「你好世界」,感覺好神奇啊,於是就愛上這行了。


這其實是一種暗示:你是這個虛擬世界的上帝。

上帝在創世紀之後第一句話是什麼?

你好,世界!


這是我規定噠,快來膜拜我叭!


不如直接輸出個對象...

或者輸出:燙燙燙.或者輸出:;;;;;看看哪個程序員以後還漏分號

或者輸出:PHP是世界上最好的語言,這樣就沒爭頭了


這行代碼給小時候的我一種自己能寫出一個真正會說hello world的ai的錯覺。。。


在我沒有入坑oi,不會寫cpp,用計算機只會追番和用office的時候

當做故事聽說了學編程的人會用程序輸出,他們讓程序輸出的第一句話是「你好,世界」

當時我的腦海里是這樣的。

一個程序逐漸被造物主完善了身軀,睜開眼睛,看見了自己身處計算機中,用cpu的處理速度打量了一遍外面的人類,低吟「你好,世界」

滿滿的中二啊,帥爆了,頓時特別佩服這個創意和程序員們。


來到新的地盤,你不寫一句"某某到此一游"么。

或者說:「初次見面,請多指教」


其實沒有強制規定,但是這樣的最簡單的程序跑一下是有實際意義的:可以驗證環境安裝基本正確,基本庫OK,I/O正確,編譯器連接器工作正常,IDE基本操作,接下來就可以真正幹活了


cout&<&<"excited!"&<&


沒有這個規定,我第一次輸出的是asdf,也沒見有人怎麼地我。


推薦閱讀:

定義了char**p,為什麼能用p[i][j]的形式?p又不是二維數組?
int a=9;printf("%d,%d",a,a++)?
在c語言中寫出變數=1./0.是啥意思?
有哪些比譚浩強主編的《C 語言程序設計(第四版)》能讓人更快學會 C 語言,且適合新手的書籍?
有C語言基礎,想把C語言學到極致,有什麼比較好的書籍推薦么?

TAG:程序員 | 編程語言 | 編程 | C編程語言 | CC |