计算机发展史:世界上第一台计算机

本贴最后更新于 2525 天前,其中的信息可能已经时移俗易

起源
计算是人的基本能力,人类社会发展初期由于物质资料匮乏,并不需要大量的计算,主要是通过手工完成计算,辅以简单的工具,像是绳结、石子、算筹。但随着社会的发展,这种简单的以记录为主(算筹不是)的计算工具已经满足不了增长的数据计算需要,于是人们发明了算盘、纳皮尔棒1这样的计算工具。

17 世纪的欧洲机械制造业不断发展,以前依靠手工的计算方式不能满足需要,但是在相当长的时间之内大量的计算还是通过这种手工的方式来完成,可以想象当时计算的人的辛苦程度。期间曾经出现过像是帕斯卡计算器2的装置,但是由于过于复杂,并没有大规模使用。

关于谁是世界上第一台计算机的答案可能有多个,但是第一台真正意义上的数字计算机是由英国数学家 Charles Babbage(1792-1871)(查尔斯· 巴贝奇)发明的。

巴贝奇的计算机
巴贝奇
巴贝奇,1792 年出生于英格兰西南部的托特纳斯,是一个银行家的儿子。童年时代的巴贝奇展现了极高的数学天赋,考入剑桥大学之后,毕业留校,24 岁便担任剑桥大学“路卡辛讲座”的数学教授。关于发明计算机还要从 18 世纪末的法国说起。

18 世纪末,法兰西发起了一个宏大的计算工程--人工编制《数学用表》,这在没有先进工具的当时,是个艰巨的任务。这部大部头的书稿,在编制完成之后却是错误百出。据说有一天巴贝奇和友人在一起对这部书稿评头论足,翻一页一个错,翻两页好几双,面对错误百出的数学表,巴贝奇目瞪口呆。这或许是巴贝奇萌生研制计算机构想的起因。

巴贝奇在 20 岁的时候打算制造一台差分机,它可以按照设计者的意图,处理不同函数的计算过程。由于当时的制造工艺极差,从设计绘图到零件加工都要亲自动手。花了整整十年时间(1822 年)这台差分级才制造出来。这台差分级的计算精度达到了 6 位小数,以后的实际运用证明,这种机器非常适合编制航海和天文方面的数学用表。

初战告捷,成功的喜悦激励着巴贝奇,连夜奋笔上书皇家协会要求政府资助他建造第二台运算精度为 20 位大大型差分机,英国政府觉得有利可图,破天荒的和科学家签订了第一个合同,提供了 1.7 万英镑的资助,巴贝奇自己帖进去 1.3 万英镑弥补经费不足。在当年,这无疑是一笔巨款。

但是巴贝奇和英国政府都失算了,第二台差分级在“阴沟”里翻了船。由于第二台差分级需要的制造工艺极高,日复一日,这样过去了 10 年,制作出了全部零件的一半。参加实验的同事们再也坚持不下去,纷纷离他而去,巴贝奇肚子苦苦支撑了第三个十年,终于感到无力回天,只得把所有图纸和已经完成的零件送进伦敦皇家学院博物馆工人观赏。

1842 年在巴贝奇的一生中是极为不平常的一年。由于差分机的失败,受到了外界无尽的嘲讽,英国政府也宣布断绝对他的一切资助。但就是在这样艰难的时刻,他迎来了一个对他以后的事业至关重要的人--阿达·洛芙莱斯(Ada Lovelace)。

阿达是英国著名诗人拜伦3的的女儿。由于父亲拜伦和母亲性格不合,在阿达 2 岁的时候,母亲带着她离开英国。可能从小缺乏父爱,她没有继承父亲的浪漫主义情怀,却继承了母亲的数学才能和毅力。在阿达还是少女时代,母亲便带着她去参观过巴贝奇的差分机,当别的孩子还在叽叽喳喳摸不到头脑是,阿达却看得十分仔细,并十分清楚这项发明的重大意义。这个女孩的特殊气质,在巴贝奇的记忆力打下了较深的印记。她欣然同意与这位数学才女共同研制新的计算机器。

30 年的困难和挫折并没有使巴贝奇屈服,阿达的到来更加坚定了他的决心。还在大型差分机受挫的 1834 年,巴贝奇已经有了一个更大胆的设计。他的目标不仅仅是制造一个仅能制表的差分机,他要制造一台通用的计算机,巴贝奇把它称为“分析机”。它能够自动解算 100 个变量的复杂运算,每个数可达 25 位,速度可达每秒钟一次。

巴贝奇首先为分析机构思了一种齿轮式的“存贮库”,每一齿轮可贮存 10 个数,总共能够储存 1000 个 50 位数。分析机的第二个部件是所谓“运算室”,其基本原理与帕斯卡的转轮相似,但他改进了进位装置,使得 50 位数加 50 位数的运算可完成于一次转轮之中。此外,巴贝奇也构思了送入和取出数据的机构,以及在“存储库”和“运算室”之间运输数据的部件。他甚至还考虑到如何使这台机器处理依条件转移的动作。一个多世纪过去后,现代电脑的结构几乎就是巴贝奇分析机的翻版,只不过它的主要部件被换成了大规模集成电路而已。仅此一说,巴贝奇就当之无愧于计算机系统设计的“开山鼻祖”。阿达为这台计算机编制了一系列的程序。

但是由于得不到资助,巴贝奇和阿达不得暂时放下手中的活,取搞一些副业赚钱,以维持日常的开销。最后有贫困交加加上无休止的脑力劳动,阿达的健康急剧恶化。1852 年年,怀着对分析机的美好梦想和无尽的悲怆,年仅 36 岁的阿达香消魂散。

阿达去世后,巴贝奇又默默坚持了近 20 年,晚年的它已经不能发生,甚至不能有条理的思考,但他仍百折不挠的工作。最后,分析机终没有制造出来,他没失败了。他们失败的原因是他们看到太远,他们的设想超出了他们所处时代近一个世纪!但是他们留给了计算机后辈一份及其宝贵的精神财富,包括 30 中不同的设计方案,近 2100 张组装图和 50000 件零件图…,更包括那种在逆境中自强不息,为追求理想奋不顾身的精神。

1871 年,为计算事业贡献了众生的先驱者终于闭上了眼睛。当时就有人把他的大脑用盐渍着保存起来,想经过若干年后,有更先进技术来研究他大脑特别的机制;现在的人们,当然更不会以成败来论英雄!

在这台巴贝奇计算机失败近 100 年后,世界上第一台电子计算机研制成功,它就是阿塔纳索夫-贝瑞计算机。

阿塔纳索夫-贝瑞计算机

阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer,简称 ABC 计算机),是爱荷华州立大学的约翰·文特森·阿塔纳索夫(John Vincent Atanasoff)和他的研究生克利福特·贝瑞(Clifford Berry)在 1937 年设计,不可编程,仅仅用于求解线性方程组,并与 1942 年成功进行测试。

上个世纪 30 年代,保加利亚裔的阿塔纳索夫在爱荷华州立大学物理系任副教授,在给学生讲解线性微分方程的求解时,不得不面对复杂的计算,那是十分枯燥的工作。于是他开拓思路,尝试使用数字电子计算技术求解的可能性。

经过两年的反复试验,设计思路大体上清楚了,但是他需要一位聪明又懂机械,又有动手能力的人和他一起完成这项工作,于是他找到正在物理系读硕士的研究生福德-贝瑞。

两人终于在 1939 年制造出来一台样机,证明他们的思路是正确的。

这台计算机是电子与电气的结合,电路系统中装有 300 个电子真空管执行数字计算与逻辑运算,机器使用电容器来进行数值存储,数据输入采用打孔读卡方法,还采用了二进位制。因此,ABC 的设计中已经包含了现代计算机中四个最重要的基本概念,从这个角度来说它是一台真正现代意义上的电子计算机。

阿塔纳索夫的计算机模型机正好处于模拟计算与数字计算的门槛上。自从巴贝奇设计差分机和分析机以后,在 19 世纪下半叶,一些物理学家开始研制模拟计算装置。1876 年,发现热力学第二定律的 L.开尔文和他的弟弟一起研制了能计算傅立叶系数的“潮汐调和分析仪”。1887 年,和 E.莫雷一起否定以太存在的美国物理学家迈克尔逊又研制了更精确的分析仪。1930 年美国科学家、教育家万·布什(V Bush)等人研制出微分分析仪,用它来计算火力表时,速度要比手工计算快几十倍。
在同一时期,还有的德国的 Z3 计算机和英国的 Colossus(巨人)计算机,两者都是可编程的。只是由于当时的战争环境,不被广为人知。
从 ABC 开始,人类的计算从模拟向数字挺进。而“埃尼阿克(ENIAC)”标志着计算机正式进入数字的时代。

ENIAC 计算机

ENIAC,全称为 Electronic Numerical Integrator And Computer,即电子数字积分计算机。ENIAC 是世界上第一台通用计算机,也是继 ABC 计算机之后的第二台电子计算机。

它是图灵完全的电子计算机,能够重新编程,解决各种计算问题。它于 1946 年 2 月 14 日在美国宣告诞生。 承担开发任务的“莫尔小组”由四位科学家和工程师埃克特、莫克利、朱传榘、戈尔斯坦、博克斯组成。

ENIAC 长 30.48 米,宽 6 米,高 2.4 米,占地面积约 170 平方米,30 个操作台,重达 30 英吨,耗电量 150 千瓦,造价 48 万美元。它包含了 17,468 根真空管(电子管),7,200 根晶体二极管,1,500 个中转,70,000 个电阻器,10,000 个电容器,1500 个继电器,6000 多个开关,计算速度是每秒 5000 次加法或 400 次乘法,是使用继电器运转的机电式计算机的 1000 倍、手工计算的 20 万倍。


  1. 17 世纪早期,由英格兰数学家约翰.纳皮尔制造。

  2. 1842 年,由法国的数学家、哲学家帕斯卡发明,一种可以进行加减乘除计算的机械式计算机。该计算机使用了补码的思想,在现代计算机中一直在使用。随后莱布尼茨在帕斯卡计算机的影响下,发明了更加完美的机械式计算机。

  3. 19 世纪初,英国著名浪漫主义诗人,代表作《唐璜》。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • someone

    😄

  • 88250

    我们都是站在巨人的肩膀上,但很多时候依然看得不够远。

  • UniVista 1 via iPhone

    人类缺的不是知识,而是智慧,能对未来用于畅想,这才是人类发展的根本,创新将是未来永恒的话题。超越自己才是人类最大的难题!

推荐标签 标签

  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 108 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 367 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 49 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 776 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 709 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 40 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 555 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 390 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 663 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 68 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    77 引用 • 37 回帖 • 1 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 652 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 259 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖
  • 反馈

    Communication channel for makers and users.

    120 引用 • 906 回帖 • 279 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 651 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 7 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 2 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 686 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 2 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1128 回帖 • 110 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 355 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 11 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    59 引用 • 22 回帖 • 1 关注