不二如是 发表于 2017-6-13 20:20:44

Hello World 程序的起源与历史

本帖最后由 不二如是 于 2017-6-13 20:20 编辑



这是一个最著名的程序。

对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。

那么,这个著名的程序究竟从何而来呢?

对程序员来说,看到这两个单词显示在电脑屏幕上,往往表示:

他们的代码已经能够编译、装载以及正常运行了。

这个输出结果就是为了证明这一点。

这个测试程序在一定程度上具有特殊的象征意义。

在过去的几十年间,这个程序已经渐渐地演化成为了一个久负盛名的传统。

几乎所有的程序员,无论是在你之前,或在你之后。

当第一次实现与计算机成功沟通之后,在某种程度上,他们的肾上腺素就会急剧上升(激动不已)。

既然那么重要,那就有必要了解下背后的诞生故事。



Hello World 究竟从何而来?

Hello, World 最早是由 Brian Kernighan 创建的。

1978年,Brian Kernighan 写了一本名叫《C 程序设计语言》的编程书,在程序员中广为流传。

他在这本书中第一次引用的 Hello World 程序,源自他在1973年编写的一部讲授 B 语言的编程教程:
main(){
extrn a,b,c;
putchar(a); putchar(b); putchar(c); putchar('!*n');
}

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

但是非常不幸的是,当 Forbes India 杂志采访他的时候,他自己对这段传奇故事中一些记忆已经有点儿模糊了。

当他被问及为什么选择『Hello, World!』时,他回答说:
**** Hidden Message *****

鉴于 Hello World 这个计算机程序的广泛流行程度,这个起因看起来还是蛮合适的。

那个时候,无论是 Kernighan,还是他的同事 Dennis Ritchie - C 语言之父。

都无法想象 C 语言以及这本教程书将会在今天如此之流行。

他们所做的工作只是贝尔实验室的一个研究项目。

而在当时,贝尔实验室也只是美国电话电报公司(AT&T)的技术研究与开发机构而已。

尽管没人能够科学地解释为什么 Hello World 如此地流行。

但是,Hello, World 程序的确在计算机发展历史上成为了一个具有重要意义的里程碑。

我们一起来回顾一下当时的历史环境。



现在你可能很难想象,但是在 Hello World 连同 Kernighan 的编程书出版之前。

计算机对于公众来说,几乎隐含着一种负面的意义。

在1970年代,主机时代的计算机,不仅运行缓慢,体积庞大到足以占用整个一间屋子。

而且还需要一位全职的科学家或者研究者来维护它。

事实上,在1970年代后期之前,计算机科学家在编程的时候还要使用大量的打孔卡!

通常情况下,一般人认为计算机是一种不可触碰、复杂,而且极其昂贵的设施。

它们仅仅适用于学术、ZF或者国防。

事实上,即使是那些专注计算机领域的工业巨头们也在努力克服这些障碍。

当时谁也无法想到,事隔多年之后,也就是现在。

如果我们暂时失去了我们的个人数字设备(如手机等),我们甚至会感到焦虑。

在 C 语言以及 Hello World 程序流行起来之前:
计算机并没有得到大范围的应用和普及,计算机行业也没有开始真正的腾飞。



Hello World,编程时代的真正来临!

引发 Hello World 广泛传播的一个最主要催化剂,是 PDP-11 型计算机的面世。

PDP-11 是一款在商业上极其成功的小型计算机。

数字设备公司(DEC)以 $10,000 的单价,总共出售了六十万台。

尽管如此,这种类型的计算机已经比当时价值几百万美元的大型机在价格上便宜了许多。

另外,其中 PDP-11 16-bit 系列不要求使用打孔卡,你可以使用相应的编程语言直接与计算机进行沟通。

在那个年代,这还是第一次。

有趣的是,为了加速社会的广泛接受度,数字设备公司并没有将其称为『计算机』。

为了和以往那些大型主机相区别,数字设备公司改称其为『可编程的数据处理器』。

当越来越多的机构开始采购越来越多的可编程计算机时,对于 C 语言编程书籍的需求也变得越来越旺盛了。

C 语言和 UNIX 操作系统首先在 PDP-11 这个机型上变得流行了起来。

因此,在接下来的一段时间里,其他类型的商用计算机也开始支持这个 C 编程语言以及 UNIX。

这种流行趋势最终促使成千上万的计算机相关工作者。

开始阅读这本两百来页的《C 程序设计语言》。

当然,这其中自然包括了 Hello World 这个例子程序。

在八十年代以及九十年代,几乎每一位曾在桌面软件领域工作过的程序员,都曾拥有一本《C 程序设计语言》。

在当时,这本书大约售出了几百万本之多。

也许有很多不同的基本程序可供初学者动手尝试,但是截至目前为止,Hello World 则是其中最为著名的一个。

每一位程序员都曾记得他们的第一个 Hello World 程序,因为对他们来说,这就是一个重大事件。

也许有些人还没有意识到这一点。

但是,当一名新程序员清除完一些障碍顺利抵达 Hello World 时:

他的内心体验到的不仅仅是一种成功的喜悦,更重要的是,他正在亲身经历一个跨越历史的时刻。

fred_tan 发表于 2017-6-13 22:07:36

{:10_277:}

wuyuan2011woain 发表于 2017-6-15 09:20:32

他说的啥 我是来看隐藏内容的

Elastcio 发表于 2017-6-15 10:49:11

他回答说:

Fate.五弊三缺 发表于 2017-6-25 14:11:55

Hello World 程序的起源与历史

过默 发表于 2017-7-1 14:42:49

{:10_277:}

hetuzaixian 发表于 2017-7-2 12:20:48

特别喜欢这个网站

python6 发表于 2017-7-3 12:36:00

66666666666

erh 发表于 2017-7-4 11:33:38

是什么啊?

Django111 发表于 2017-7-4 20:44:10

so

pykeeper 发表于 2017-7-4 21:40:02

木Muk 发表于 2017-7-4 22:12:25

{:5_90:}{:5_90:}{:5_90:}

Everyting_Empty 发表于 2017-7-6 22:18:19

0.0......为何在最精彩的地方 让人回复

老刘001 发表于 2017-7-7 11:53:30

回答什么了?????

yangk121 发表于 2017-7-7 15:52:08

谢谢

1314xxxxxx 发表于 2017-7-8 08:45:19

666

Jeffrey1911 发表于 2017-7-9 10:59:21

科科{:10_256:}

six_mao 发表于 2017-7-9 20:35:24

好奇心

yryinrui 发表于 2017-7-10 06:39:26

嘻嘻正不错谢谢楼主

zf1013751835 发表于 2017-7-10 08:45:44

{:5_90:}{:5_90:}
页: [1] 2 3 4
查看完整版本: Hello World 程序的起源与历史