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

本贴最后更新于 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 世纪初,英国著名浪漫主义诗人,代表作《唐璜》。

相关帖子

欢迎来到这里!

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

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

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

  • 其他回帖
  • 88250

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

  • someone

    😄

推荐标签 标签

  • RYMCU

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

    4 引用 • 6 回帖 • 51 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    408 引用 • 3574 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 2 关注
  • abitmean

    有点意思就行了

    29 关注
  • C

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

    85 引用 • 165 回帖 • 2 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    85 引用 • 139 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 488 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 6 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 47 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 510 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • Sym

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

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

    524 引用 • 4601 回帖 • 700 关注
  • Bug

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

    75 引用 • 1737 回帖 • 5 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1705 回帖 • 1 关注
  • HBase

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

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

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

    29 引用 • 66 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 670 关注
  • 导航

    各种网址链接、内容导航。

    40 引用 • 173 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 2 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 595 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 1 关注