文/localhost-8080
問(wèn)題的提出
相傳古時(shí)候有個(gè)退休的程序員,在家閑來(lái)無(wú)事,決定修習(xí)書(shū)法之道。第一日,備好筆墨紙硯,便揮毫寫下一行大字:“hello,world”。
學(xué)過(guò)編程語(yǔ)言的人都笑了,在程序員心目中,hello world是一切的開(kāi)始,程序語(yǔ)言教科書(shū)的第一個(gè)演示程序、WordPress的第一篇示例文章(我的hello world)、環(huán)境搭建成功后的第一個(gè)測(cè)試…
可是,為什么呢?為什么都用”hello,world”來(lái)做程序語(yǔ)言的入門程序,以及其他這一切的開(kāi)始呢?
hello,world 起源
可能還需要解釋一下什么是“hello,world”:hello world是一個(gè)簡(jiǎn)短的小程序,其功能是在顯示設(shè)備上輸出一行“hello,world”。幾乎每一個(gè)程序設(shè)計(jì)語(yǔ)言的教材中的第一個(gè)范例都是hello world程序,因此在學(xué)習(xí)一門新語(yǔ)言的時(shí)候用hello world作為起步已經(jīng)成為計(jì)算機(jī)程序界的一個(gè)傳統(tǒng)。
hello world的起源要追溯到1972年,貝爾實(shí)驗(yàn)室著名研究員Brian Kernighan在撰寫“B語(yǔ)言教程與指導(dǎo)(Tutorial Introduction to the Language B)”時(shí)初次使用(程序),這是目前已知最早的在計(jì)算機(jī)著作中將hello和world一起使用的記錄。之后,在1978年,他在他和Dennis Ritchie合作撰寫的C語(yǔ)言圣經(jīng)“The C Programming Language”中,延用了“hello,world”句式,作為開(kāi)篇第一個(gè)程序。在這個(gè)程序里,輸出的”hello,world”全部是小寫,沒(méi)有感嘆號(hào),逗號(hào)后有一空格。雖然之后幾乎沒(méi)能流傳下來(lái)這個(gè)最初的格式,但從此用hello world向世界打招呼成為慣例。
有趣的是,如果你去看Brian Kernighan的wiki頁(yè)面,他成果列表里的第一條,不是《C程序語(yǔ)言》,不是《UNIX編程環(huán)境》,而是看似不起眼的“hello world”。
迷戀 hello,world
hello world的迷人之處在于:它是簡(jiǎn)單的,即便沒(méi)有任何基礎(chǔ),你也可以輕松理解,但它又不是蒼白的,它帶有一個(gè)程序語(yǔ)言鮮明的特色,體現(xiàn)了該語(yǔ)言最基本的思想和特征。同樣也是hello world,讓人體會(huì)到第一份成功的喜悅。
正因?yàn)槿绱耍霈F(xiàn)了各種對(duì)hello world癡迷的人,以及一些關(guān)于hello world有趣的整理:
- hello world世界分布圖
- 6個(gè)變態(tài)的C hello world
- 實(shí)現(xiàn)hello world的若干境界 (搞笑,推薦)
- 擬合hello world繪制出hello world曲線
這位同學(xué)閑來(lái)無(wú)事對(duì)hello world進(jìn)行了曲線擬合。對(duì)應(yīng)每個(gè)整數(shù)(0,1,2…),函數(shù)返回“Hello wrold!”相應(yīng)字符對(duì)應(yīng)的ascii碼值。擬合函數(shù)的表達(dá)式可以點(diǎn)原鏈接查看。圖案出來(lái)很帥,已經(jīng)應(yīng)求印制成T恤。
- 3D Hello world: hello world in XL (Youtubu視頻)
- 428種編程語(yǔ)言、63種人類語(yǔ)言下的hello world大全
it知識(shí)庫(kù):“hello, world” 起源及其他,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。