【创世纪厅】
1945年,ENIAC正式问世。由U.S. Army主导开发,面向大型机平台用户。
技术特色:硬件。
影响力评估:技术维度 10/10,商业维度 5/10,文化维度 9/10,用户维度 2/10。
作为创世纪厅的经典代表,ENIAC在软件发展史上留下了深刻的印记。
第一台通用电子计算机
【创世纪厅】
1945年,ENIAC正式问世。由U.S. Army主导开发,面向大型机平台用户。
技术特色:硬件。
影响力评估:技术维度 10/10,商业维度 5/10,文化维度 9/10,用户维度 2/10。
作为创世纪厅的经典代表,ENIAC在软件发展史上留下了深刻的印记。
1945年的深秋,当世界还沉浸在二战结束的复杂情绪中,美国宾夕法尼亚大学的一间大教室里,一个占地170平方米、重达30吨的钢铁巨兽正在发出低沉的轰鸣。它没有键盘,没有屏幕,只有一排排闪烁的电子管和密密麻麻的插接线缆。这就是ENIAC——人类历史上第一台通用电子计算机。它的诞生,不是某个商业公司的远见,而是战争催生的产物;它的使命,不是改变世界,而是计算炮弹的轨迹。但正是这台每天要烧坏几只真空管、消耗150千瓦电力的庞然大物,用电子脉冲的节奏,彻底敲开了数字时代的大门。
要理解ENIAC的意义,必须先回到1940年代的技术环境。那时,计算机的概念还停留在“人”身上——在弹道研究实验室里,上百名女性计算员用机械计算器手动计算火炮射击表。一份完整的射击表需要数千个弹道数据,每个数据的计算要耗费数小时,而美军每周需要数百份这样的表格。机械计算器已经比纯手工快,但面对战争的需求,依然杯水车薪。1942年,宾夕法尼亚大学摩尔电气工程学院的物理学家约翰·莫奇利(John Mauchly)提出了一大胆的想法:用电子管来取代机械齿轮,让电流本身完成计算。这个想法在当时近乎疯狂——电子管是收音机里的元件,脆弱、昂贵、耗电,而且极不可靠。但莫奇利和同样来自摩尔学院的工程师普雷斯珀·埃克特(J. Presper Eckert)说服了美国陆军弹道研究实验室,在1943年获得了开发合同。项目的代号是“Project PX”,预算最初只有15万美元,最终却膨胀到了近50万美元——这在1940年代是一笔天文数字。
ENIAC的开发过程充满了工程师特有的疯狂与执着。埃克特负责硬件设计,他面临的首要问题是:如何让一万七千多个真空管同时工作而不频繁烧毁?当时的真空管平均寿命只有几百小时,而ENIAC需要连续运行数天甚至数周。埃克特的解决方案极其简单又极其巧妙:他要求所有真空管在额定电压以下运行,即“降额使用”,将工作电压降低到设计值的80%。这一招让真空管的寿命延长了十倍以上,但代价是计算速度略有下降——不过,从每秒几千次加法降到每秒五千次,依然比任何机电计算机快千倍。莫奇利则贡献了架构思想:ENIAC采用十进制而不是二进制,因为它要计算的是弹道数据,十进制更直观。它由20个累加器、一个乘法器、一个除法器和一个平方根器组成,每个单元都能立工作。当程序运行时,这些单元通过插接线缆连接起来,形成一条临时的“计算流水线”。这种设计在今天看来笨拙得可笑——每次改变计算任务,工程师们都要花几天时间重新插拔线缆——但在当时,这是唯一可行的全电子化方案。
ENIAC的“编程”过程完全不同于现代概念。没有键盘,没有屏幕,没有磁盘,甚至没有操作系统。程序员们(最初全是女性)必须面对一面墙般的插接板,用电缆将各个功能单元连接起来。一个简单的加法运算,需要将累加器的输出端连接到另一个累加器的输入端;一个复杂的弹道计算,需要几十根电缆像蜘蛛网一样交织在面板上。如果计算逻辑变了,整张“网”就得重来。更麻烦的是,ENIAC的“内存”只有20个累加器,每个累加器只能存储一个10位十进制数。要存储中间结果,程序员必须巧妙安排计算顺序,让数据在累加器之间“流动”,就像杂技演员同时抛接多个球。这种编程方式催生了最早的“软件思维”——程序员必须将数学问题分解成一系列微小的、可并行的步骤,然后用硬件连线来“编码”这些步骤。ENIAC的六位主要程序员——凯·麦克纳尔蒂(Kay McNulty)、贝蒂·詹宁斯(Betty Jennings)、贝蒂·斯奈德(Betty Snyder)、玛琳·韦斯科夫(Marlyn Wescoff)、弗朗西斯·比拉斯(Frances Bilas)和露丝·利希特曼(Ruth Lichterman)——都是女性,她们后来被称为“ENIAC女孩”。她们的工作不仅是编程,还包括诊断硬件故障:当计算结果出错时,她们要在一万七千多个真空管中找出烧坏的那一个,然后替换它。这种“人肉调试”的效率极低,但正是这些女性程序员,为后世的软件工程奠定了最早的实践基础。
ENIAC的正式运行日期是1945年12月,但战争已经在同年8月结束。它最初的任务——计算火炮射击表——突然变得不再紧迫。然而,ENIAC很快找到了新的使命:1946年,它被用于氢弹的初步设计计算。当时,洛斯阿拉莫斯国家实验室的物理学家们正在研究“超级”热核武器,需要模拟核聚变反应的复杂流体动力学方程。这些方程如果用机械计算器来算,需要数月甚至数年;而ENIAC只用了几个月就完成了初步计算。有趣的是,ENIAC的第一次实际运算并不是弹道,而是氢弹——它从战争机器变成了冷战武器。1946年2月,ENIAC正式向公众揭幕,媒体称它为“电子大脑”。这个称号引发了公众的恐惧和好奇:《纽约时报》报道说“电子计算机能思考”,而一些评论家则警告“机器将取代人类”。ENIAC的开发者们不得不反复解释:它只是一个快速计算器,没有智能,没有意识。
ENIAC的硬件规模至今令人瞠目。它包含17,468个真空管、7,200个晶体二极管、1,500个继电器、70,000个电阻器和10,000个电容器。这些元件被安装在40个机柜中,机柜高2.4米,总长度超过30米。运行时,ENIAC的功耗达到150千瓦,相当于当时一个小型工厂的用电量。每当它启动,费城的供电网络都会感到明显的负荷波动。更夸张的是散热:真空管产生的热量足以让房间温度飙升到50摄氏度,工程师们不得不安装巨大的空调系统来冷却。即便如此,ENIAC每天仍会因真空管故障而停机数次——平均每两天就有一只真空管烧毁。维修团队需要在一万七千多个管子里找出坏的那一个,这就像在森林里找一片特定的叶子。他们发明了一种“热定位法”:用手触摸真空管的玻璃外壳,感觉哪个温度异常高,就换掉哪个。这种原始的方法居然有效,但维修一台机器需要两到三名工程师全职工作。
ENIAC的“版本演进”不是通过软件升级,而是通过硬件改造。1947年,它增加了只读存储(函数表),可以预存三角函数、对数等常用函数值,从而加速计算。1948年,工程师们又通过转换板实现了部分存储程序能力——虽然还不是真正的冯·诺依曼架构,但已经能执行简单的条件分支和循环。这些改进让ENIAC的性能提升了数倍,但它始终没有摆脱“硬连线编程”的本质。直到1955年10月2日,ENIAC正式退役,它累计运行了约8万小时,完成了数百万次科学计算。退役后,它的部分部件被拆解,运往博物馆;大部分被当作废金属处理。今天,只有少数几个机柜和原件保存在宾夕法尼亚大学、史密森尼学会和伦敦科学博物馆。
ENIAC的商业影响几乎为零——它从未被出售,也没有直接催生商业计算机市场。但它的文化遗产却是革命性的。首先,它证明了全电子化计算的可行性。在ENIAC之前,人们普遍认为电子管计算机太不可靠、太昂贵,无法实用;ENIAC用近十年的运行记录打破了这种怀疑。其次,ENIAC催生了第一代计算机科学家和工程师——莫奇利和埃克特后来创立了埃克特-莫奇利计算机公司(后被Univac收购),开发了第一台商用计算机UNIVAC I;ENIAC的女程序员们则成为了编程领域的先驱,其中凯·麦克纳尔蒂后来参与了COBOL语言的开发。第三,ENIAC的“可编程”概念——尽管是通过插接板实现的——为存储程序计算机(如EDVAC、曼彻斯特马克一号)铺平了道路。冯·诺依曼正是在参观ENIAC后,写出了著名的《第一份草案》,提出了存储程序架构,即现代计算机的蓝图。
ENIAC的轶事趣闻同样丰富。据说,ENIAC首次公开演示时,一位记者问它能否下棋,工程师们只好尴尬地回答“不能”。还有一次,ENIAC计算一个弹道问题时,结果总是出错,工程师们花了三天检查,最后发现是一只老鼠咬断了某根电缆。更传奇的是,1947年,ENIAC被用来计算氢弹的“泰勒-乌拉姆”构型时,一位女程序员在插接板上不小心接错了线,导致计算结果完全错误,却意外发现了一种新的数值不稳定性——这个“错误”后来被写进了核武器设计的教科书。这些故事让ENIAC不仅仅是一台机器,更是一个充满人性色彩的科技符号。
今天,当我们用智能手机拍照、用笔记本电脑写代码、用AI生成文本时,很少有人会想起ENIAC。但它的遗产无处不在:你手机里的每个App,本质上都是一串电子脉冲的序列;你电脑里的每个程序,都继承了ENIAC“可编程”的基因。ENIAC没有操作系统,没有图形界面,没有网络,但它定义了计算的核心——用电子速度执行人类预先编排的指令。从ENIAC到IBM 360,从个人电脑到云计算,从真空管到量子比特,计算机的外形和性能已经天翻地覆,但那个在1945年轰鸣的电子管迷宫,始终是所有软件的起点。它用三十吨的重量、一万七千个真空管和每秒五千次加法的速度,证明了电子的力量可以超越齿轮和杠杆,从而开启了人类文明最激动人心的篇章。
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度