计算机最初是怎么诞生的(计算机是如何诞生的)(1)

来源 | 图灵新知

1974 年之前,个人计算机基本上还没有踪影,而如今它早已无处不在。它端坐于每一张办公桌上,栖身于每一个行李箱中。它代替了打字机、计算器、人工会计系统、运算表格、电话、图书馆、绘图板、剧院、补习老师、玩具,等等。

它是怎么诞生的呢?

个人计算机的起源颇具革命性,因为它并不是由那些搞研发的专业团队在成本昂贵、设备精良的实验室研制出来的。它始于企业和学术机构之外,由黑客、计算机发烧友和误打误撞的计算机最初是怎么诞生的(计算机是如何诞生的)(2)创业者利用业余时间在车库、地下室和卧室等地方创造出来。这些革命者用自己对这门技术的痴迷点燃了导火索。

若要追本溯源,不仅可回溯到20 世纪50 年代的巨型计算机,甚至还可回溯到19 世纪的小说中那些能思考的机器。

巴贝奇的梦想

上帝保佑,我真希望计算能利用蒸汽进行。——查尔斯·巴贝奇,19 世纪发明家

在一个大雨倾盆的夏日,诗人拜伦和雪莱在瑞士消磨时光,讨论起人工生命和人工思维,思考着是否能“制造出某个生物的各个零件,将它们拼凑起来并赋予其体温”。玛丽·雪莱记住了这场讨论,并在自己后来著名的小说《弗兰肯斯坦》(又名《科学怪人》)中展开了这一主题。

对蒸汽时代的读者来说,玛丽·雪莱笔下的科学怪人实在令人毛骨悚然。

弗兰肯斯坦是个热衷于生命起源的生物学家,他怀着犯罪心理频繁出没于藏尸间,尝试用不同尸体的各个部分拼凑成一个巨大人体。当这个怪物终于获得生命睁开眼睛时,弗兰肯斯坦被他的狰狞面目吓得弃他而逃,他却紧追不舍地向弗兰肯斯坦索要女伴、温暖和友情;接踵而至的更是一系列诡异的悬疑和命案。——百度百科

19 世纪早期迎来了机械化时代,而机械化动力的主要标志是蒸汽机。蒸汽机最初安在轮子上,是为了推动轮子行进的。1825 年,世界上的第一条公共铁路投入运营。蒸汽给当时的人们带来的神秘感,恰似后来的电力和原子能给后世人带来的神秘感。

“蒸汽朋克”计算机

1833 年,英国数学家、天文学家及发明家查尔斯·巴贝奇谈起用蒸汽驱动计算,并真的开始设计这么一台机器。巴贝奇声称,这机器若是做出来,可将计算行为机械化,甚至将思维机械化。当时的许多人将巴贝奇当作真人版的弗兰肯斯坦。

计算机最初是怎么诞生的(计算机是如何诞生的)(3)

查尔斯·巴贝奇 19 世纪数学家、发明家,早在计算机成功问世100 年前就设计

了一台“能将思维机械化”的机器。(资料来源:美国圣何塞计算机博物馆历史中心)

虽说巴贝奇的设计并未变为现实,但他绝非一名光说不练的空想家。在1871 年逝世之前,巴贝奇一直致力于研究他所谓的“分析机”,并从逻辑学和数学最先进的思想中汲取营养。巴贝奇的目的是做出一台能将人们从重复枯燥、令人厌倦的脑力劳动中解放出来的机器,正如当时一些新机器让人们免去了耗体力的苦差一样。

巴贝奇有一位搞科学编年史的同事,同时也是他的赞助人,叫奥古斯塔·艾达·拜伦。她是拜伦勋爵的女儿,师从代数学家奥古斯塔斯·德·摩根,后来成为洛夫莱斯伯爵夫人。奥古斯塔·艾达·拜伦本身既是一名作家,又是一名业余数学家。因此,她能够通过文章和论文向受过高等教育的公众和英国贵族中的潜在赞助人解释巴贝奇的想法。此外,她还撰写了不少文章来介绍巴贝奇的分析机是如何解决高等数学问题的。因为奥古斯塔·艾达·拜伦所做的这些工作,许多人视她为世界上第一位计算机程序员。20 世纪80 年代初,美国国防部用她的名字命名了Ada 编程语言,以此肯定艾达在计算机编程方面的贡献。

计算机最初是怎么诞生的(计算机是如何诞生的)(4)

奥古斯塔·艾达·拜伦,又称洛夫莱斯伯爵夫人(1815—1852) 推广了巴贝奇分析机,并为其编程,还预言像这样的机器未来能用于做复杂的事情,如创作音乐。(资料来源:约翰·默里出版公司)

玛丽·雪莱创作的《弗兰肯斯坦》引起了当时的公众对新技术的恐惧。因此,奥古斯塔·艾达·拜伦认为,最好能让自己的听众放心,巴贝奇的分析机并没有独立思考的能力。她向他们保证,这台机器本身不会思考,只能根据人的指令行事。

其实,巴贝奇的分析机与真正的现代意义上的计算机十分类似,而“根据人的指令行事”这个概念实际上就相当于我们今天所说的计算机编程。

从巴贝奇的设计来看,分析机是一台体型巨大、噪声不小、昂贵无比、外观漂亮且因用了黄铜和钢铁制造而闪闪发光的大家伙。数字存储于由齿轮构成的暂存器上,而数字的加法和转存则通过凸轮和棘轮的运行来完成。根据设计,分析机可以存储1000 个数字,每个数字最多50 位数。内置存储器容量如今被称为机器的内存大小。按如今的标准来说,巴贝奇分析机的运行速度可以说是龟速——1 秒内都无法完成一个加法运算,但实际上它的内存比20 世纪四五十年代的第一批可用的计算机以及20 世纪70 年代的早期微型计算机都要大。

尽管巴贝奇为分析机设计了3 种详尽的方案,但他始终未能造出这台机器。他设计的差分机虽简单但也体现了他的雄心壮志,同样也未能造出。在他之后的100 多年里,人们普遍认为,当时的机械制造技术无法造出这些机器所需的几千个精密零件。1991年,伦敦科学博物馆负责计算的资深馆长多伦·斯沃德用巴贝奇时代拥有的技术、工艺和材料造出了巴贝奇的差分机。斯沃德的成功揭示了巴贝奇人生中具有讽刺意味的一面。

早在别人做出同样尝试的100 多年前,巴贝奇就已经成功设计出了一台计算机。他设计的机器实际上是能够运行的,而且在他的年代也是造得出来的。巴贝奇之所以无法实现自己的梦想,全是因为他无法筹集到足够的资金,而这又多半缘于他自己疏离于那些能提供资金的人。

如果巴贝奇能圆滑一些或奥古斯塔·艾达·拜伦更富有一些,恐怕就会有这么一台无比巨大的蒸汽计算机在狄更斯笔下的伦敦出现,帮助现实生活中的一些老吝啬鬼算账,也可能蒸汽计算机会与查尔斯·达尔文下一盘国际象棋。但正如玛丽·雪莱所预言的一样,要想制造出会思考的机器,关键是电力。

会计算的机器

美国逻辑学家查尔斯·皮尔斯通过讲授英国数学家乔治·布尔的著作,将符号逻辑学从大西洋彼岸带到了美国。在这个过程中,皮尔斯从根本上重新定义并极大丰富了布尔代数。布尔以无可争议的方式将逻辑与数学整合到了一起,而皮尔斯大概是19 世纪中期最了解布尔代数的人了。

不仅如此,皮尔斯还有其他发现,他发现了逻辑与电力之间的联系。

到了19 世纪80 年代,皮尔斯发现,布尔代数可用于模拟电气开关电路。布尔逻辑的真/ 假完全映射了电流流经复杂电路中开/ 关的方式,换句话说,逻辑可以用电路来表示。这就意味着电力驱动的计算机和逻辑机是可以构造出来的。它们不只是小说家的空想,它们可能会实现,而且最终定会实现。

皮尔斯有一名叫艾伦·马昆德的学生,他在1885 年还真的设计出了一台能够进行简单逻辑运算的电力逻辑机,但是还是没有造出来。皮尔斯用来解释如何模拟布尔代数的开关电路是计算机的一个基本组成部分。这个装置的独特之处在于能够管理信息,这一点和电流或机车完全不同。

机械开关为电回路所替代,使得计算设备的体积可以变得更小。事实上,第一台电力逻辑机是由本杰明·布拉克设计并制造出来的便携式装置,体积小到可以装进公文包中。这台制造于1936 年的布拉克逻辑机可用于处理三段论形式的逻辑语句。譬如说,将“男人终有一死;苏格拉底是男人”编入机器,逻辑机可接受“苏格拉底终有一死”的推论,而拒绝“苏格拉底是女人”的推论。后者这类错误的推理会关闭回路并触发机器的警告灯,表示发生了逻辑错误。

布拉克逻辑机是一台功能有限的专用机器。然而,当时问世的大多数专用计算装置都是用来处理数字问题而不是处理逻辑问题的。早在皮尔斯还在研究逻辑与电力之间的联系时,赫曼·霍列瑞斯就在设计一台制表机,以进行1890 年的美国人口普查的计算。

霍列瑞斯的公司最终被一家企业合并了,这家企业后来更名为国际商用机器公司(简称IBM)。到20 世纪20 年代末,IBM 靠向企业售卖专用计算机器盈利,让这些企业能够将日常的数字计算工作自动化。但IBM 的机器还不是计算机,也不是像布拉克逻辑机那样的机器。它们不过是被过分美化的大型计算器而已。

计算机的诞生

克劳德·香农在其麻省理工学院的博士论文中解释了如何利用电力开关电路模拟布尔逻辑(查尔斯·皮尔斯在50 年前就曾预言过)。受到该论文的鼓舞,IBM的高管于20 世纪计算机最初是怎么诞生的(计算机是如何诞生的)(5)30 年代同意斥资制造一台基于机电式继电器的大型计算机器。他们给了哈佛大学教授霍华德·艾肯一笔在当时颇为可观的经费——50 万美元,用以研制 Mark I,Mark I 是一台受巴贝奇分析机的启发而设计的计算装置。巴贝奇设计的是一个纯粹的机械装置,相比之下,Mark I 是一个电力机械装置,它以继电器为开关,继电器阵列则作为数字存储空间。这台机器运行时噪声非常大,继电器不停地开关,咔咔地响个不停。1944 年,Mark I 问世并受到广泛赞誉,人们都说科幻小说中的电子大脑终于成为现实。但是IBM 的高管却高兴不起来,因为艾肯在为这台计算机揭幕时并未提及IBM 的资助。

IBM 为这笔投资感到懊悔。但原因还不止如此,在 Mark I 研制工作开始之前,其他方面的技术已取得了新的进展,这使得 Mark I 尚未问世就已然过时。

计算机最初是怎么诞生的(计算机是如何诞生的)(6)

赫曼·霍列瑞斯 发明了世界上第一台大规模数据处理装置,并于1890 年成功应用于美国人口普查。他是数据处理行业的鼻祖。(资料来源:IBM 档案)

电力驱动正在为电子驱动让路。当其他人将蒸汽驱动的巴贝奇式机器换成电气继电器时,爱荷华州立大学的数学和物理学教授约翰·阿塔纳索夫看到了将电气继电器换成电子元件的可能性。在美国参加第二次世界大战前不久,阿塔纳索夫在克利福德·贝里的帮助下设计出了ABC。ABC 是阿塔纳索夫- 贝里计算机(Atanasoff-BerryComputer)的首字母缩写,这台设备的开关装置采用的不是继电器,而是真空管。

这个开关装置的更新换代是一次技术性飞跃。理论上说,以真空管为开关元件的机器运算起来比继电器机器更快速、更高效。但ABC 和巴贝奇分析机一样,也未能问世,这也许是因为阿塔纳索夫所筹集的经费还不到7000 美元,远不足以建造这台机器。不过,阿塔纳索夫和贝里确实组装出了一台简单的样机。他们用大量的电线和真空管拼出了一台粗糙的台式计算器。通过将真空管作为开关元件这一举措,阿塔纳索夫计算机最初是怎么诞生的(计算机是如何诞生的)(7)大大推动了计算机技术的发展。相较于继电器开关,真空管的高效使得计算机的面世成为现实。

计算机最初是怎么诞生的(计算机是如何诞生的)(8)

霍列瑞斯人口普查计算机器 为美国1890 年的人口普查节省了一个数量级的时间。(资料来源:IBM 档案)

计算机最初是怎么诞生的(计算机是如何诞生的)(9)

托马斯·沃森 1914 年加入霍列瑞斯领先的数据处理公司,后将公司改名为IBM。

(资料来源:IBM 档案)

真空管是抽掉了空气的一种玻璃管。托马斯·爱迪生发现,电子在某些条件下能在真空中流动,而李·德·福里斯特利用“爱迪生效应”最终将真空管制成了电子开关。20 世纪50 年代,真空管被广泛应用到电视机、计算机等电子设备中。现如今我们仍可以看到应用显像管的计算机显示器或电视机屏幕。

到20 世纪计算机最初是怎么诞生的(计算机是如何诞生的)(10)30 年代,计算机的诞生已经是顺理成章。计算机似乎也注定是价格昂贵的大块头专用设备。体积大、价格高的问题几十年后才得以解决,但打破单一用途这一点在当时就已提上日程。

计算机最初是怎么诞生的(计算机是如何诞生的)(11)

真空管 20 世纪50 年代,计算机中到处都是真空管,如图中这台IBM 701 处理器。(资料来源:IBM 档案)

英国数学家阿兰·图灵曾设想过这样一台机器,这台机器的目的只有一个,即读取某一可描述任务的编码指令,并根据指令自行完成任务。这个想法在当时可谓前所未闻。若一台机器真的能够完成指令描述的所有任务,那么它就是一台真正的通用设备。或许在图灵之前没有任何人有过如此宏大的想法。但在10 年之内,图灵的想法就变成了现实。那些指令变成了程序,而图灵的设想在另一位数学家约翰·冯·诺伊曼的手中变成了一台通用计算机。

将计算机变成现实的大部分工作都是第二次世界大战期间在秘密实验室中进行的。图灵就是这样工作的。1943 年,美国费城莫尔电气工程学院的约翰·莫奇利和约翰·埃克特提出了一个关于计算机的想法。很快,他们就和美国军方开始合作研发电子数字积分计算机(Electronic Numerical Integrator and Computer, 简称ENIAC)。一旦成功,它将成为第一台全电子数字计算机。除了用于信息输入与输出的外围设备,ENIAC 就是一台纯粹的真空管机器。

发明ENIAC 的功劳归谁向来是有争议的。ENIAC 可能是根据莫奇利与阿塔纳索夫会面后形成的想法设计出来的, 但至少ENIAC 是真实存在的。莫奇利和埃克特吸引了不少才华横溢的数学家加入ENIAC 项目,其中包括聪明绝顶的约翰·冯·诺伊曼。

冯·诺伊曼加入了ENIAC 项目,并为建造ENIAC 做出了许多贡献,他还为一台更加复杂的电子离散变量自动计算机(ElectronicDiscrete Var iable Automat icComputer,简称EDVAC)提供了基本设想。人们对冯·诺伊曼的贡献也报导很多。

冯·诺伊曼将莫尔电气工程学院的重点从技术方面转移到了逻辑方面。在他看来,EDVAC 不仅仅是一台用来计算的设备。

冯·诺伊曼觉得,除算术运算之外,EDVAC 应该还能进行逻辑运算,并能以代码符号进行运算,而且那些以代码符号进行运算和解释的指令本身也应该是编入机器的代码符号,并用以继续操作运算。这是现代计算机概念中最后一个根本性洞见。

冯·诺伊曼规定EDVAC 应该能根据指令来编写程序,而这些指令本身是作为数据输入计算机的,这为存储程序计算机创建了标准。

计算机最初是怎么诞生的(计算机是如何诞生的)(12)

约翰·莫奇利 ENIAC 的设计者之一,图为他在1976年的大西洋城电脑节上向早期个人计算机发烧友演讲。(资料来源:戴维·阿尔)

计算机最初是怎么诞生的(计算机是如何诞生的)(13)

ENIAC 世界上第一台全电子数字计算机,于1945 年12 月问世。(资料来源:IBM 档案)

1945 年5 月之后,冯·诺伊曼提出将ENIAC 改为EDVAC 那样的可编程计算机的方法,阿黛尔·戈尔斯坦编写了能让机器更易操作的语言(包含55 种操作)。从那以后,再没有人以最初的操作模式来运行ENIAC 了。

1946 年年初,ENIAC 开发完成,它的运行速度比继电式计算机快1000 倍。但尽管是电子计算机,ENIAC 运行起来仍然咔咔作响。ENIAC 就是一屋子滴答作响的电传打字机、滋滋转的磁带驱动器以及满墙相对安静的电子线路板。ENIAC 有20 000 个开关元件,重约计算机最初是怎么诞生的(计算机是如何诞生的)(14)30 吨,耗电150 千瓦。尽管功率很大,但任何时候ENIAC 一次只能处理20 个十进制数字。不过在完全制造完成之前,它就已经派上了大用场。1945 年,ENIAC 被用于美国新墨西哥州洛斯阿拉莫斯市原子弹计算机最初是怎么诞生的(计算机是如何诞生的)(15)测试的计算。

第二次世界大战结束之后,那些秘密实验室开始解密他们的工作成果和设计,由此出现了一个新兴产业。制造计算机立马成了一门生意,而且由于计算机这种设备本身的特点,这还是一个大产业。工程师莫奇利和埃克特刚刚走出ENIAC 的成功光环,就帮助雷明顿打字机公司迅速转型为斯佩里通用自动计算机公司。随后的好几年里,Univac 这个词成了计算机的代名词,就像提到舒洁(Kleenex)大家就会想到面巾纸一样。但斯佩里公司也有一些强大的竞争对手。经历了Mark I 项目的失望后,IBM 的高管们重新振作起来,着手制造通用计算机。两家公司形成了不同的运作风格。IBM 的员工都身着蓝色条纹西装,而斯佩里公司的大楼里则满是穿着运动鞋的年轻毕业生。不知是公司形象好还是商业能力强,没过多久,IBM 就从斯佩里手上抢到了行业领头羊的位置。

不久,大家用的多数计算机都是IBM 制造的了,而且IBM 的市场份额还在随着市场扩大而不断增加。其他的计算机公司也先后成立,一般都接受了曾在IBM 或斯佩里受训的工程师的指导。位于明尼阿波利斯市的CDC 公司脱离了IBM,随后霍尼韦尔公司、宝来公司、通用电气公司、RCA 公司和NCR 公司都纷纷开始生产计算机。不到10 年的时间,这8 家公司就称霸了羽翼渐丰的计算机市场。由于IBM 的营业额遥遥领先于其他7 家公司,当时这8家公司常被戏称为“白雪公主与七个小矮人”。

计算机最初是怎么诞生的(计算机是如何诞生的)(16)

约翰·冯·诺伊曼 博学多识,为计算机编程以及ENIAC 和EDVAC 做出了奠基式的贡献。

(资料来源:美国圣何塞计算机博物馆历史中心)

不过,“白雪公主与七个小矮人”很快就会被一些傲慢的行业新贵教训了。20 世纪60 年代出现了一款新型计算机。比起先前的计算机,这种计算机体积更小、价格更低,借用当时风靡的迷你裙的概念,人们将这种计算机称为“迷你计算机”(小型机)。生产小型机的公司中,最值得一提的是波士顿的DEC 公司和加州帕洛阿尔托的惠普公司。这些公司当时生产的计算机就是图灵和冯·诺伊曼所指的通用计算机,它们更小巧,更高效,功能也更强大。

不久之后,计算机的核心技术取得了重大突破,这使得计算机在功能、效率和小型化几个方面取得了惊人的发展。

——本文摘自《硅谷之火:个人计算机的诞生与衰落(第3版)》

计算机最初是怎么诞生的(计算机是如何诞生的)(17)

本书的主题两位作者总结得十分恰当:一帮疯狂的梦想家一次又一次地遭遇陈规的阻挠,但每次都得以实现他们的梦想。查尔斯·巴贝奇和他的分析机、图灵的计算机最初是怎么诞生的(计算机是如何诞生的)(18)测试、冯·诺伊曼的计算机、威廉·肖克利的晶体管、罗伯特·诺伊斯的集成电路、加里·基尔达尔的操作系统、埃德·罗伯茨的微型计算机公司、戈登·摩尔的摩尔定律、比尔·盖茨与软件的发展、史蒂夫·沃兹尼亚克与硬件的发展、史蒂夫·乔布斯和第一台真正意义上的个人计算机、卡普尔和电子表格软件、伯纳斯·李和Web、马克·安德森和浏览器,以及所有鲜为人知的无名英雄,都在本书中有所提及。两位作者计算机最初是怎么诞生的(计算机是如何诞生的)(19)关注故事的人文方面:梦想家的希望、欲望和价值观。技术创新专业的学生都应该将此书当作计算机文化的圣经,好好从中学习。

——托尼·波夫,著有iPod & iTunes For Dummies、Just Say No to Microsoft及许多技术图书

这是一部个人计算机发展的兴衰史,一部硅谷早期的奋斗史,是一部解秘硅谷的经典著作,史蒂夫·乔布斯、雷军的商业启蒙之书,曾影响了一代高科技计算机最初是怎么诞生的(计算机是如何诞生的)(20)创业者。本书是集历史故事与小说风格于一体的硅谷纪传体书籍,以纪实的手法呈现了20世纪50至80年代硅谷计算机最初是怎么诞生的(计算机是如何诞生的)(21)创业历程,以宏大的视野深度分析了硅谷成功的经验及发展趋势,具有跨时代的经验总结、分析和预测。

《硅谷之火》讲述的是一段完整的历史:从车库计算机最初是怎么诞生的(计算机是如何诞生的)(22)创业那个激情年代的计算机器和军用计算机,到兼容机的崛起,到人类首次进军网络空间,再到如今充斥着多种移动设备和云服务的集中化、商品化、躁动不已的互联世界。

计算机最初是怎么诞生的(计算机是如何诞生的)(23)

传播数学,普及大众

欢迎把我们推荐给你身边的朋友

,