专栏名称: 程序员之家
程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!
目录
相关文章推荐
码农翻身  ·  年薪100W!一个前景被严重低估的方向,可以 ... ·  12 小时前  
程序员的那些事  ·  趣图:纯种牛马求聘用 ·  3 天前  
程序员的那些事  ·  百度:报案了 ·  3 天前  
码农翻身  ·  穷人需要投机,别迷信长期主义 ·  昨天  
51好读  ›  专栏  ›  程序员之家

Hello World 程序的起源与历史

程序员之家  · 公众号  · 程序员  · 2017-06-11 22:07

正文

原文:Ritika Trikha

译文:明珠夜话

链接:http://blog.fujiji.com/the-history-of-hello-world/



这是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。那么,这个著名的程序究竟从何而来呢?


这是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。那么,这个著名的程序究竟从何而来呢?


对程序员来说,看到这两个单词显示在电脑屏幕上,往往表示他们的代码已经能够编译、装载以及正常运行了,这个输出结果就是为了证明这一点。


这个测试程序在一定程度上具有特殊的象征意义。在过去的几十年间,这个程序已经渐渐地演化成为了一个久负盛名的传统。


几乎所有的程序员,无论是在你之前,或在你之后,当第一次实现与计算机成功沟通之后,在某种程度上,他们的肾上腺素就会急剧上升(激动不已)。以下就是这个著名程序的诞生故事。


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!』时,他回答说,『我只记得,我好像看过一幅漫画,讲述一枚鸡蛋和一只小鸡的故事,在那副漫画中,小鸡说了一句‘Hello World’』。


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


那个时候,无论是 Kernighan,还是他的同事 Dennis Ritchie - C 语言之父,都无法想象 C 语言以及这本教程书将会在今天如此之流行。他们所做的工作只是贝尔实验室的一个研究项目,而在当时,贝尔实验室也只是美国电话电报公司(AT&T)的技术研究与开发机构而已。


尽管没人能够科学地解释为什么 Hello World 如此地流行,但是,Hello, World 程序的确在计算机发展历史上成为了一个具有重要意义的里程碑。我们一起来回顾一下当时的历史环境。


襁褓中的变革




现在你可能很难想象,但是在 Hello World 连同 Kernighan 的编程书出版之前,计算机对于公众来说,几乎隐含着一种负面的意义。在1970年代,主机时代的计算机,不仅运行缓慢,体积庞大到足以占用整个一间屋子,而且还需要一位全职的科学家或者研究者来维护它。事实上,在1970年代后期之前,计算机科学家在编程的时候还要使用大量的打孔卡!








请到「今天看啥」查看全文