今天开站啦

Hello world 是怎么来的?为什么都用Hello world 作为第一个程序?计算机是如何发展为今天的计算机的?以前的电脑很大吗?

IT pop君 13008℃ 0评论

基本上,每个人在学习编程时,第一个程序都是输出“Hello, World”这句话。不过不知道大家想过没有,为什么几乎所有编程语言都不约而同的遵守这个“传统”呢?


输出“Hello, World”是一个功能非常简单的程序,它仅命令计算机向外界打印“Hello,World”这句话。一般来说,它是开发人员用来测试系统的第一个程序。而对于程序员来说,在屏幕上看到这两个词意味着他们的代码可以编译、加载、运行。

在过去的几十年里,它逐渐成为一个历史悠久的传统。屏幕上输出“Hello,World”意味着初学者与计算机交流成功,常常会感到非常兴奋。下面说说编程史上最著名的这两个词是如何开始逐渐形成“传统”的。

“Hello World”是从哪里来的?

现在一般认为,著名编程书籍《C程序设计语言》的作者之一,Brian Kernighan 在 1973 年出版的编程语言书《编程语言B教程导论》中首次提到了“hello world”,当时他写的代码是下面这样的:

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

不幸的是,这位传奇人物自己无法确切地说出他选择“Hello,World”这个词的时间和原因。

Forbes India 采访 Brian Kernighan,问起到底是什么激发了他使用向显示屏打印“Hello,World”这句话作为第一个程序时,他说他的记忆很模糊:“我只记得我看过一部漫画,里面有一只鸡蛋和一只小鸡,小鸡说:‘Hello,World。’”后来“Hello,World”在某种意义上代表了计算机编程的诞生,逐渐在整个编程界成为一种传统。

当时,Kernighan 和他的同事 DennisRitchie(C语言之父),都没想到C语言及其相关教程会在今后的编程领域这么重要,当时C语言只不过是美国贝尔实验室的一个小研究项目(AT&T项目的一个分支)而已。

现在虽然没人能科学地解释为什么“Hello,World”后来越来越流行,但是“Hello,World”程序确实标志着编程语言历史发展中的一个重大变化。

早期“计算机”是一个贬义词

现在社会生产生活几乎离不开计算机,而计算机程序员也一度成为高薪行业的代名词。不过在 70 年代之前,“计算机”一词在公众中是带有负面意义的——体积巨大,几乎要用整个房间存放;计算速度缓慢,而且非常耗电;维护麻烦,需要非常专业的科学家或研究人员组成的专门小组维护。而且当时编写计算机程序非常麻烦,计算机科学家使用打洞(利用打洞区分计算机中的 0 1)的纸片编程。

当时,人们通常认为计算机是可望而不可即的,也是复杂的、极其昂贵的设备,只为学术界、国防界或政府的精英使用。美国计算机最早的著名用途之一是在 1890 年,当时为超过6000万美国人统计和计算数据。20世纪40年代,巨型计算机在二战期间破解了德国密码。不过,当时计算机领域的行业巨头们一直在研究更先进的计算机,我们今天能够较为方便的用到性能优秀的计算机,要感谢各位前辈的努力。

20世纪50年代,第一批商用计算机如 zuse 3和 univac 广受欢迎,但实际购买一台计算机需要数百万美元。

从教育的角度来看,大多数关于早期编程语言的书籍,如 Fortran 或 Basic,都是从证明“计算机是有用”这一点开始的。“Hello,World”的爆炸性流行标志着一个时代的到来——至少计算机科学家不再需要“说服社会相信计算机是有用的”。

例如,1956 年的动态编程语言已经可应用于计算微积分为。在 1964 年出版的《我的电脑喜欢我说基础语言》一书中,绪论谈到了编程语言的一般用途。书中第一个例子输出:“我的人类理解我。”使用这个例子旨在强化人们放弃计算机无用的观点,人类实际上可以与计算机对话。1956 年的动态编程以可应用于普通微积分的例子开始。

直到C语言版的“Hello,World”程序出现,计算机和编程语言才开始逐渐流行起来,科学家们再也不用费尽心机的解释计算机有用了。

“Hello World”流行起来

让“Hello,World”流行起来的一个主要因素是 PDP-11 的出现,PDP-11 是微型计算机的第一次商业成功。DEC 公司以每台 10000 美元的价格卖出超过 60万 台 PDP-11,之所以会有如此大的销量,是因为当时一台计算机常常需要数百万美元的成本,而且PDP-11 16位系列不需要“打孔”就能实现编程,人们第一次可以使用编程语言与计算机对话。

有趣的是,为了提高公众的接受度,DEC 并没有将 PDP-11 称为计算机,而是将其以“编程数据处理器”的名字销售,这么做也是为了避免人们以大型计算机的笨重、昂贵的固有印象,对 PDP-11 产生抵触心理。随着越来越多的人购买可编程计算机,C语言编程书的需求随之激增。

事实上,C语言和操作系统 Unix 首先就是在 PDP-11 上流行起来的。因此,随之而来的是支持新 C编程语言的商业计算机的蓬勃发展,促使成千上万的人阅读200页的《C程序设计语言》,Brian Kernighan 的“Hello,World”程序进一步扩大了影响。

几乎每一个在80年代和90年代从事桌面软件工作的程序员都拥有一本或参考过《C程序设计语言》这本书。到目前为止,《C程序设计语言》已售出数百万册。

现在关于编程语言的书籍也越来越多,可能它们都有自己的第一个程序,但是可以说输出“Hello,World”是迄今为止最著名的C语言程序,每个C语言程序员都会记住他们的第一个颇具“仪式感”的“Hello,World”程序。许多人可能没有意识到这一点,但是每当一个编程初学者使用“Hello,World”程序正式进入编程界时,常会有一种胜利感和甜蜜感,这种感觉超越了历史。

转载请注明:pop快讯 » Hello world 是怎么来的?为什么都用Hello world 作为第一个程序?计算机是如何发展为今天的计算机的?以前的电脑很大吗?

喜欢 (250)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址