“ Hello world”来自哪里?


109

hello, world”通常是任何编程语言的第一个示例。我一直想知道这句话是从哪里来的?

曾经有人告诉我,这是有史以来在计算机屏幕上显示的第一句话,但是我找不到任何与此相关的参考。

因此,我的问题是:
使用“ hello, world”作为计算机语言的第一个示例的惯例源自何处?
最初在哪里使用?

更新
尽管答案很有趣,但我应该注意到我已经阅读了Wikipedia文章。它的确回答了有关文献中首次使用的问题,但未回答“ hello world”的首次使用时间
因此,我认为可以得出结论,它不是计算机屏幕上显示的第一句话,并且没有关于何时使用的记录。

Answers:


97

实际上,Brian Kernighan编写了第一个“ hello,world”程序,作为Martin Richards开发的BCPL编程语言文档的一部分。在1972年Kernighan和Ritchie的C书出版之前的几年,在贝尔实验室开发C时使用了BCPL。

作为我正在写的有关Alice编程环境的书的研究的一部分,我与普林斯顿大学的Kernighan教授和剑桥大学的马丁·理查兹(Martin Richards)通讯(当时我在1990年代在那里教研班)。他们帮助我追踪了记录在案的首次使用代码,以打印消息“ Hello,World!”。Brian Kernighan记得为BCPL手册的I / O部分编写了代码,马丁·理查兹(Martin Richards)似乎有很多笔记,旧文件等,他找到了手册,并确认这是原始的。程序的外观该代码用于C编译器的早期测试,并进入Kernighan和Ritchie的书,后来,它是用于测试Bjarne Stroustrup的C ++编译器的首批程序之一。

在Kernighan和Ritchie中出现后,它成为新程序员的标准,这可能是有史以来最畅销的编程入门。


看着BCPL手册cm.bell-labs.com/cm/cs/who/dmr/bcpl.pdf我看不到
barlop 2014年

1
C书不是在1972年。B书是在1972年。C书的第一版于1978年出版。en.wikipedia.org/wiki/The_C_Programming_Language_( book 有一本“ 1974年贝尔实验室内部备忘录, Brian Kernighan,《用C语言编程:教程》“ en.wikipedia.org/wiki/Hello_world_program
barlop 2014年

1
通过lysator.liu.se/c/bwk-tutor.html printf(“ hello,world \ n”),他的1974 C教程有一个I / O部分 。除此之外,在第2节中,没有\ n且在程序中。main( ) { printf("hello, world"); }看到B和BCPL的东西很有趣。
barlop 2014年

3
在实际与该人交谈以及“确认”外表方面做得很好,可以在“宝藏”中找到,但是您能否在答案中给出实际的程序?
barlop 2014年

1
我在Wikipedia上找到了一张图片,图片为-en.wikipedia.org/wiki/Computer_program#/media/…。源页面-zh.wikipedia.org/wiki/Computer_program
Daryn

48

根据维基百科

自可编程计算机发展以来,虽然存在小型测试程序,但使用“ Hello world!”这一短语的传统。因为测试消息受到开创性书籍《 C编程语言》中示例程序的影响。该书中的示例程序打印了“ hello,world”(没有大写字母或感叹号),并由Brian Kernighan于1974年的Bell实验室内部备忘录继承,该程序由C:A Tutorial编写,其中包含第一个已知版本:

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

在计算机文学中,单词“ hello”和“ world”一起使用的第一个已知实例是在Kernighan的1972年的《语言B教程简介》 [1]中出现的,其代码如下:

main( ) {
  extrn a, b, c;
  putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';

好像1974 C教程在这里cprogramming.com/cgi-bin/cdir/… 指向lysator.liu.se/c/bwk-tutor.html 我注意到您写的main()位置在我提到的html页面上,main( )即之间的空间()
barlop 2014年

10

《 The C Programming Language》一书中的第一个C程序是印刷《你好,世界!屏幕上。

从那时起,它就被用作第一个介绍编程语言基本细节的程序。


7

来自http://en.wikipedia.org/wiki/Hello_world_program

在计算机文学中,单词“ hello”和“ world”一起使用的第一个已知实例是在Kernighan的1972年的《语言B教程简介》 [1]中出现的,其代码如下:

main( ) {
  extrn a, b, c;
  putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';

5

我应该在原始帖子中对语言更加谨慎-

当然Barlop是对的,K&R于1978年出版。我的帖子中没有昏迷。我的意思是带有Kernighan博士的Hello World代码的BCPL手册的日期是1972年。与之相关的备忘录来自1974年。

马丁·理查兹(Martin Richards)有这些文件。我的手册和复印件复印件不好。

我相信原来没有标点符号。

BCPL和B代码几乎同时出现。我一直认为B码引述therefromhere来到第一,但马丁·理查兹似乎认为BCPL代码为先。无论哪种情况,都是“ Hello Word!” 早于K&R,它在代码中的首次书面使用似乎是由贝尔实验室的Brian Kernighan编写的。


0

我第一次看到它是K&R的第一版,所以大约是1982年,但是在那之前,我和其他所有人一样都在写自己的“ Hello world”程序。


0

来自维基百科

自可编程计算机发展以来,虽然存在小型测试程序,但使用“ Hello world!”这一短语的传统。因为测试消息受到开创性书籍《 C编程语言》中示例程序的影响。该书中的示例程序打印了“ hello,world”(没有大写字母或感叹号),并由Brian Kernighan于1974年的Bell实验室内部备忘录继承,该程序由C:A Tutorial编写,其中包含第一个已知版本:

http://en.wikipedia.org/wiki/Hello_world_program

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.