Hello World

Hello World程序是一类输出「Hello, World!」（世界你好！）之類字串的電腦程式。在大多数通用编程语言中，这样的程序只有一小段代码，因此可以用来展示该编程语言的基本。“Hello, World!”往往是初学者学习某种编程语言所接触的第一个程序内容，同時它也可用來確認源代码編譯器、程序開發或运行环境已經安裝妥當，并且操作者知道如何使用。

 歷史 
缩略图|由 布萊恩·柯林漢 撰寫的「Hello, world」程序 (1978年)
1972年，在貝爾實驗室成員布萊恩·柯林漢撰寫的內部技術文件《A Tutorial Introduction to the Language B》中首次提到了Hello World這一字串。當時，他使用B語言撰寫了一个用于演示外部变量的示例程序：
main( ) {
    extern a, b, c;
    putchar(a); putchar(b); putchar(c); putchar('!*n');
}

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

这个程序将在终端打印出“”，然后附上一个换行符。之所以这一短语被拆分成多个变量记录，是因為B語言中的每個字符常量只能容纳四個ASCII字符。

1974年，时值C语言取代B语言，在貝爾實驗室的又一内部备忘录《Programming in C: A Tutorial》中，柯林漢用C语言再次编写了一个Hello World程序作为教学示例。这一程序在他和丹尼斯·里奇于1978年出版的《C程序设计语言》中得到继承：
main( ) {
        printf("hello, world\n");
}
在上例中，函数定义了程序开始执行的位置。其主体由一条语句组成，即对函数的调用，意思是“打印格式化”（print formatted）。这个函数将使程序输出以参数传递给它的任何内容，在本例中是字符串。

自此，Hello World成為了電腦程序員學習新的程式語言的傳統。但是，也有些人認為 Hello World的字串早於1966年的BCPL語言出現的時候已經出現。雖然相關的字詞確實在發明者記錄的文件出現，但是可以肯定的是，Hello World在當時確實没有流行。因此，人們公認為布萊恩·柯林漢是令该字串走進公眾目光的人。

 衍生影響 
 對電腦文化的影響 
Debian以及系统的進階包裝工具當中包含了「hello, world」安裝工具。用戶只需要於終端（Linux 系統的Terminal）輸入「apt-get install hello」便能夠安裝此工具及其相關部件。雖然看似沒用，但卻可作為測試工具使用。同時，這亦能夠向新用戶展示安裝工具的方法。對開發者來說，這個工具展現了建立.deb安裝工具的方法。這個工具，連同GNU Hello便成為了撰寫GNU程式的教學軟件。

 對其他電子產品的影響 
雖然Hello World在單晶片微電腦、现场可编程逻辑门阵列及複雜可程式邏輯裝置中不能展現出來，一盞細小的微型LED燈會代替Hello World的作用，以表示安裝成功、相關程式功能已實現。thumb|以「Hello, World!」測試LCD顯示屏是否正常運作。

 對流行文化的影響 
Hello World已經成為流行文化的一部分，例如以Hello World命名首個運用純人工智慧完成的專輯。
虛擬YouTuber公司hololive production在Hololive Alternative企劃預告PV末使用"//Hello,Δlternative World"來致敬此文化。同時，亦有若干公司以Hello World命名，例如位於澳洲的Helloworld旅遊公司、Hello World Consulting等。

 单片机中的“Hello World！” 
对于学习单片机的学习者而言，他们会使用操作IO口的方式作为Hello World的代替，用以展示嵌入式编程的基本方法和单片机的基本操作逻辑，代表自己编写了这个单片机的第一个程序。

例如：

8051系列单片机：P0^0 = 1;

STM32单片机：HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET) ;

 实现Hello World的时间 
“实现Hello World的时间”（，TTHW）是指用给定的编程语言编写“Hello, World!”程序所需的时间，是衡量编程语言易用性的标准之一。由于这段程序主要给不熟悉该语言的人入门，因此程序写法越复杂可能表明这门编程语言越不容易掌握。这个想法现已不限于编程语言，还可用于API，以衡量新开发者使一个基本示例运作的难易。时间越短，说明开发者使用该API越轻松。

 參見 
 Hello World程序樣例
 A+B问题
 99瓶啤酒
 Just another Perl hacker
 基本的電腦科學主題列表
 Bad Apple!!#影响

 參考來源 

 外部鏈接 

 Hello world全集 
 Google Maps上的helloworld地圖。

Category:计算机编程
Category:带有C代码示例的条目
Category:带有代码示例的条目