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

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

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

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

推荐标签 标签

  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    6 引用 • 38 回帖
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1348 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 73 关注
  • Flume

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

    9 引用 • 6 回帖 • 629 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 203 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 9 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 136 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 51 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 742 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 680 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 17 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • 百度

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

    63 引用 • 785 回帖 • 175 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 22 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖 • 2 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 354 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖 • 1 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 531 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 815 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • 互联网

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

    98 引用 • 344 回帖
  • 工具

    子曰:“工欲善其事,必先利其器。”

    286 引用 • 729 回帖