“hello, world” 起源及其他
文/localhost-8080
問題的提出
相傳古時候有個退休的程序員,在家閑來無事,決定修習書法之道。第一日,備好筆墨紙硯,便揮毫寫下一行大字:“hello,world”。
學過編程語言的人都笑了,在程序員心目中,hello world是一切的開始,程序語言教科書的第一個演示程序、WordPress的第一篇示例文章(我的hello world)、環境搭建成功后的第一個測試…
可是,為什么呢?為什么都用”hello,world”來做程序語言的入門程序,以及其他這一切的開始呢?
hello,world 起源
可能還需要解釋一下什么是“hello,world”:hello world是一個簡短的小程序,其功能是在顯示設備上輸出一行“hello,world”。幾乎每一個程序設計語言的教材中的第一個范例都是hello world程序,因此在學習一門新語言的時候用hello world作為起步已經成為計算機程序界的一個傳統。
hello world的起源要追溯到1972年,貝爾實驗室著名研究員Brian Kernighan在撰寫“B語言教程與指導(Tutorial Introduction to the Language B)”時初次使用(程序),這是目前已知最早的在計算機著作中將hello和world一起使用的記錄。之后,在1978年,他在他和Dennis Ritchie合作撰寫的C語言圣經“The C Programming Language”中,延用了“hello,world”句式,作為開篇第一個程序。在這個程序里,輸出的”hello,world”全部是小寫,沒有感嘆號,逗號后有一空格。雖然之后幾乎沒能流傳下來這個最初的格式,但從此用hello world向世界打招呼成為慣例。
有趣的是,如果你去看Brian Kernighan的wiki頁面,他成果列表里的第一條,不是《C程序語言》,不是《UNIX編程環境》,而是看似不起眼的“hello world”。
迷戀 hello,world
hello world的迷人之處在于:它是簡單的,即便沒有任何基礎,你也可以輕松理解,但它又不是蒼白的,它帶有一個程序語言鮮明的特色,體現了該語言最基本的思想和特征。同樣也是hello world,讓人體會到第一份成功的喜悅。
正因為如此,出現了各種對hello world癡迷的人,以及一些關于hello world有趣的整理:
- hello world世界分布圖
- 6個變態的C hello world
- 實現hello world的若干境界 (搞笑,推薦)
- 擬合hello world繪制出hello world曲線
這位同學閑來無事對hello world進行了曲線擬合。對應每個整數(0,1,2…),函數返回“Hello wrold!”相應字符對應的ascii碼值。擬合函數的表達式可以點原鏈接查看。圖案出來很帥,已經應求印制成T恤。
- 3D Hello world: hello world in XL (Youtubu視頻)
- 428種編程語言、63種人類語言下的hello world大全