计算机简史

计算机简史

前言

笔者对20世纪人类科技爆炸式发展的过程挺感兴趣,但又没有耐心阅读历史书。《万物简史》那样的科普读物就很合适,但记录的历史还不过瘾。

因此笔者搜集资料,将计算机发展过程中那些有趣的历史简记在此文中,包括电子电路、计算机科学、编程语言、显示技术、通信网络、公司变迁等方面。


可计算的机器

1642年,法国数学家帕斯卡发明了一种机械计算装置,可以计算加减法,还可通过拨动齿轮实现进位。它被称为“帕斯卡加法器”。

1674年,德国数学家莱布尼兹改进了帕斯卡加法器,使它不仅能计算加减法,还能计算16位数以内的乘除法。它被称为“莱布尼兹乘法器”。

1679年,莱布尼兹发明一种计算方法:用二进制代替人们习惯的十进制。他在手稿中写下:“1与0,一切数字的神奇渊源。”

1820年,丹麦物理学家奥斯特发现了电流的磁效应。

1821年,英国物理学家法拉第发明了电动机。

1822年,英国数学家巴贝奇开始研制一台复杂的机械装置,取名为“差分机”。它能通过简单的加法运算实现平方运算,预计完工需要25,000个零件,最高可存储16位数。然而,消耗了将近3万英镑和十年时间之后,这台装置依然没有完成。

1831年,法拉第发现了电磁感应现象,进而得到产生交流电的方法,并发明了发电机。

1834年,巴贝奇设想了一台比“差分机”更复杂的机械计算装置,取名为“分析机”。它以蒸汽机为动力,驱动大量的齿轮运转,可以执行条件命令、循环命令。

  • 然而,那么复杂的机械装置终究是遥不可及的梦,巴贝奇最终只能在失望中离世。他的失败似乎说明了机械计算机的极限,日后,在人类世界兴起的是电子计算器。

电的时代

1844年,莫尔斯在华盛顿国会大厦向65公里外的Baltimore市发出了世界上第一封电报——“WHAT HATH GOD WROUGHT”。这封电报采用他发明的莫尔斯编码,通过已建设的电报线路传输。从此,人类进入电信时代。

1877年,贝尔电话公司成立。爱迪生为了与贝尔电话公司竞争,改良贝尔发明的电话机,期间发明了留声机。

1883年,爱迪生在寻找电灯泡的最佳灯丝材料时,偶然发现加热碳丝时,附近的铜线上会产生微弱的电流。他将这一发现命名为“爱迪生效应”,并申请了专利。

1888年,德国物理学家赫兹证明了电磁波的存在,使得无线电通信成为可能。

1897年,德国物理学家布劳恩制造出世界上第一台示波器,它使用阴极射线管(CRT)显示画面。此后演变成CRT显示器。

1904年,英国物理学家弗莱明根据爱迪生效应制作出第一只电子管(又称为真空管)。从此,人类进入电子时代。

1918年,德国与协约国签订停战协定,第一次世界大战结束。

1931年,奥地利数学家哥德尔证明了算术逻辑系统的“不完备性定理”。它表明可证的命题一定是真的,但真的命题不一定可证,悖论将永远纠缠着人类。

1934年,哥德尔在普林斯顿研究院开展关于“不完备性定理”的讲座,期间又提出了一般递归函数的概念:对于每个给定自变量值的集合,都能通过有穷程序计算出函数值。

  • 当场,数学家丘奇提出一个大胆的猜想:“可计算函数都是递归函数。”这奠定了算法理论的基础。

1936年,剑桥大学的研究员图灵设想出一种能自动计算的机器:在一条纸带上的每一格记下一个简单符号,一台机器像人脑一样依次读取每格的符号,根据符号执行某种操作。这种机器被称为图灵机,后来演变成一个猜想——“任何算法都可以由一台图灵机计算。”它揭开了计算机的光明未来。


真空管计算机

1939年,爱荷华州立大学的Atanasoff和Berry制造出世界上第一台电子计算机ABC。它采用二进制,由300个真空管执行数字计算和逻辑运算,使用电容器存储数据,通过打孔读卡输入数据。从此,世界进入电子计算机的时代。

1945年3月,参与美国原子弹研制的冯·诺依曼起草了一份论述EDVAC(Electronic Discrete Variable Automatic Computer)的报告,将计算机设计成五个基本部分:运算器、控制器、存储器、输入设备、输出设备。这种计算机结构被沿用至今。

  • 9月,日本政府代表在美国战舰密苏里号的甲板上签署无条件投降书。第二次世界大战结束。

1946年,美国军方为了计算导弹弹道而研制的计算机ENIAC(Electronic Numerical Integrator And Computer)顺利问世。它占地面积约170平方米,包含约17468根真空管。它每秒可以计算5000次加法,是采用继电器运转的机电式计算机的1000倍。ENIAC不能存储程序,但是可以重新编程——通过改变电线所接的电路板。


晶体管计算机

1948年,贝尔实验室的香农发表一篇论文《通信的数学原理》,阐明了通信的基本问题,奠定了现代信息论的基础。

  • 12月,贝尔实验室的肖克利、Johm Bardeen和Walter Brattain成功地以半导体材料制成了一种电子信号放大元件,称为“晶体管”。晶体管很快取代了真空管,成为了电子电路的主要元件。

1949年10月1日,中华人民共和国成立。中国离西方科技有很大距离需要追赶。

1950年,图灵发表论文《计算机器与智能》,提出了“图灵测试”——如果一台机器让人不能分辨出它是机器,则可以判断该机器具备人工智能。

1951年,王安离开哈佛大学,创立王安实验室。后来改名为“王安电脑有限公司”,在计算机行业崛起,与主导计算机行业的IBM公司竞争。

1952年,图灵设计了世界上第一个国际象棋程序。不过当时没有计算机具备足够的运算能力去执行这个程序,他就模仿计算机,每走一步要用半小时。他与一位同事下了一盘,结果输了。

1954年,IBM公司的John Backus公布了世界上第一种高级编程语言FORTRAN,主要应用于公式计算。

1955年,肖克利离开贝尔实验室,回到他的家乡圣克拉拉谷,在斯坦福大学的南边创立了肖克利半导体实验室,使电子工业界的目光汇聚到这个日后被称为“硅谷”的地方。

  • 八个杰出的年轻人慕名而来,但两年后一起离职,创办了仙童半导体公司,日后被称为“硅谷人才的摇篮”。

1956年8月,John McCarthy在Dartmouth学院发起一场会议,与香农、Nathaniel Rochester、Marvin Minsky等人在讨论中首次提出了“人工智能”的概念。

  • 9月,IBM发布了世界上第一块硬盘RAMAC 350,它的存储容量为5M,重达1吨,奠定了机械硬盘(HDD)的基本结构。比起使用打孔机、磁带作为存储介质,硬盘不仅容量大,还可以随机读写。

集成电路计算机

1958年,在美国德州仪器公司的实验室里,工程师Jack Kilby成功地把多个晶体管元件集中制作在一小块半导体材料上。他的发明被称为“集成电路”,使得电路的体积可以大幅缩小。

  • 同年,John McCarthy为人工智能编程设计了一种语言Lisp,它是第一种支持递归函数的高级语言。

1961年,美国无线电公司展示了一项新发明——液晶显示技术(Liquid Crystal Display,LCD)。它比CRT显示器体积小很多,分辨率更高。不过当时他们并没有重视LCD技术,日后主导世界LCD产业的是日本公司。

1964年,Dartmouth学院的John Kemeny和Thomas Kurtz发明了一种高级语言BASIC。它拥有接近英语的简单命令,适合让学院的学生们学习编程。为了让学院里唯一一台计算机能被学生们同时使用,他们还发明了分时操作系统。

  • 同年,贝尔实验室、麻省理工学院、通用电气公司开始合作研发一个目标宏大的分时操作系统multics——计划将它安装在通用电力公司的大型机上,支持300个用户同时使用。multics项目提出了许多新概念,比如动态链接、分层文件系统。

1965年,仙童半导体公司的摩尔发表一个对集成电路的预言,后来被称为“摩尔定律”——半导体芯片上能集成的晶体管和电阻数量将每年增加一倍。

1966年,Ken Thompson从加州大学伯克利分校毕业,加入名满天下的贝尔实验室,参与multics项目。

  • 在研发multics的过程中,Thompson发明了B语言,在multics系统中编写了一个名叫“Space Travel”的小游戏。

1967年,IBM公司推出世界上第一张软盘。它直径32英寸,是计算机最早的可移动存储介质,虽然储存容量只有几十KB。

  • 同年,Dennis Ritchie来到贝尔实验室,负责多道处理机的BCPL语言等。他在次年拿到哈佛的数学博士学位,论文为《递归函数的层次》。
  • 同年,挪威的Ole Johan Dahl和Kristen Nygaard发布了Simula 67语言。它是第一种面向对象的高级语言,引入了对象、类、继承的概念。

1968年,Robert Noyce和莫尔等人离开仙童半导体公司,创立了Inter公司,日后主导了世界的半导体行业。

  • 12月,加州大学伯克利分校的Douglas Engelbart博士在一个计算机会议上展示了他发明的定位器——一个带着按钮的木头盒子,拖着一条长导线。使用这个装置可以更方便地操作电脑。因为它看起来像一只老鼠,所以取名为“鼠标”。

1969年,由于multics的研发进度缓慢,贝尔实验室决定退出该项目。

  • 因此,Ken Thompson不得不将他的小游戏移植到另一台老机器上,移植的过程是:借鉴multics系统的设计思路,用汇编语言开发一个新操作系统,取名为Unix;然后在BCPL语言的基础上设计出B语言,用B语言混合汇编语言在Unix系统中开发应用程序。
  • 同年,被仙童半导体公司解雇的Jerry Sanders创立了AMD公司。40多年后,AMD打破了Inter公司对CPU市场的垄断。
  • 同年,在冷战的阴影下,美国为了避免计算机系统被集中打击而开始建立一个分布式计算机系统,以4所大学的计算机作为网络节点构成一个广域网。这个网络被称为阿帕网(ARPAnet),它是最早的计算机网络,也是互联网(即Internet)的早期骨干网。

微型计算机

1971年,Inter公司发布世界上第一款微型CPU 4004,它每次运算可以处理4位二进制数。从此,世界进入微型计算机的时代。

1972年,因为使用B语言移植程序仍然比较麻烦,Ken Thompson和Dennis Ritchie将解释型的B语言改进成编译型的C语言,用它重写了Unix系统,终于成功移植了自己的小游戏。

  • 吸取了multics项目夭折的教训,Dennis Ritchie在设计Unix系统时采用“Keep it simple stupid”的原则,将复杂的程序拆分成多个小模块分别实现,然后再灵活地组合。

1973年,施乐公司研发出第一台使用Alto操作系统的个人电脑。Alto操作系统是第一个使用用户图形界面(GUI)和鼠标的操作系统。

  • 同年,Vinton Cerf和Robert Kahn设计了TCP/IP协议,成功应用于阿帕网。

1975年,施乐公司的Alan Kay发明了Smalltalk语言。它是世界上第二种面向对象的高级语言,并且提供了第一个集成开发环境(IDE)。

  • 同年,雅达利公司推出第一款电子街机游戏《PONG》。游戏中一个小点在两条线段之间碰撞,模拟两个人打乒乓球。

1976年,DATARAM公司推出了世界上第一款固态硬盘(SSD)。它名为BULK CORE,容量为2MByte。

1977年,苹果公司发布他们的第二款个人电脑Apple II,获得了市场的追捧,使个人电脑开始普及。

  • 9月,中国教育部决定恢复已经停止了10年的高考,以统考、择优录取的方式选拔人才上大学。

1978年,Brian Kernighan和Dennis Ritchie出版《The C Programming Language》,将C语言介绍给全世界。

  • 这是第一本介绍C语言编程的书籍,书中的第一个示例程序是显示“hello world”,成为了众多编程语言教程的传统。
  • 这本书中描述的C语言还没有正式的语法标准,被称为“K&R C”。
  • 随着C语言的传播,Unix系统逐渐成为了主流的操作系统。

1979年,Bjarne Stroustrup来到贝尔实验室,他结合Simula等语言的经验,开始将C语言改进成一种编程效率更高的、面向对象的语言。1983年它被正式命名为C++,意思是C的升级版。

1980年,SONY公司推出世界上第一张CD光盘。光盘不仅存储容量大,还可以反复擦写,重复使用,很快便普及开来。

1981年,微软公司为IBM公司销售的个人电脑提供了一个磁盘操作系统,简称为MS-DOS。随着IBM PC的热销,MS-DOS也成为了最受欢迎的DOS系统。

1983年9月,Richard Stallman提出GNU计划,开始了自由软件运动。

  • GNU计划的目的是创建一个完全自由的、兼容Unix的操作系统GNU以及配套软件。
  • 自由软件的英文名是free software,这个free不是指免费,而是指自由。自由软件会公开自己的源代码,并且可以被用户自由地使用、复制、修改、发布。
  • 同年,Brad Cox发明了Objective-C语言。它在ANSI C的基础上增加了Smalltalk语言的特性,后来被苹果公司用于IOS系统的编程。

1984年,苹果公司发布Mac OS System 1.0操作系统。它首创了通过鼠标拖动文件到窗口中,实现文件的拷贝。

  • 同年,东芝公司的舛冈富士雄提出了“闪速存储器”的概念,简称为“闪存”。闪存比硬盘读写速度快,断电后还能保持数据。

1985年,微软公司发布自己的第一个图形用户界面的操作系统Microsoft Windows 1.0。

1986年,爱立信公司的Joe Armstrong发明了Erlang语言。它支持超大量级的并发进程,适合编写分布式应用。

  • 同年,ANSI(美国国家标准学会)制定了关系型数据库的标准语言SQL。

1987年,邓青云博士发明了有机发光二极管(OLED)。使用OLED作为显示器,比CRT、LCD显示器亮度高、对比度高,还支持柔性曲面,如今已广泛用作手机显示屏。

  • 9月,在德国Karlsruhe大学Werner Zorn教授等人的帮助下,王运丰教授和李澄炯博士等人在北京计算机应用技术研究所(ICA)建成一个电子邮件节点,并于9月20日向德国成功发出一封电子邮件——“Across the Great Wall we can reach every corner in the world.”。

1988年,加州大学伯克利分校的Larry Wall公布了Perl语言。它内置了正则表达式,适用于文本处理。

1989年,ANSI(美国国家标准学会)制定了第一个C语言标准,称为ANSI C。又因为所在年份被称为C89。

  • 12月,参与设计ABC语言的Guido van Rossum决定开发一种更好的脚本语言,并根据他喜欢的Monty Python喜剧团将这种语言命名为Python。它结合了Unix shell和C语言的习惯,是面向对象、解释型的脚本语言。

千禧之年

1990年11月,在王运丰教授和Werner Zorn教授的努力下,中国的顶级域名.CN完成注册。从此中国在国际互联网上有了自己的身份标识。

1991年4月,微软发布了源于BASIC语言的Visual Basic语言。它可以通过图形用户界面进行直观的编程。

  • 5月,欧洲粒子物理研究所(CERN)的Tim Berners Lee公布了一种针对Internet的文档系统,可以让任何人通过HTTP协议、HTML等技术获取Internet上某台电脑的文档。他将这种系统命名为World Wide Web,简写为WWW、Web,中文译名为万维网。他还为此做出了世界上第一个Web网页和Web浏览器。
  • 同年,Sun公司的James Gosling等人开始研发一种适用于单片机系统的编程语言——他们将C++语言进行简化,抛弃了多继承、指针等复杂功能,并提高程序的兼容性。他们把这种语言取名为Oak,介绍给硬件厂商,但并没有受到欢迎。
  • 10月,Linus Torvalds开发出Linux内核,将它授权为自由软件,与GNU计划开发的诸多软件组合构成了一个类Unix的操作系统。它的全名是GNU/Linux。
  • 12月25日,戈尔巴乔夫宣布辞去苏联总统职务。次日,苏联最高苏维埃共和国院举行最后一次会议,宣布苏联停止存在。

1992年,王安电脑有限公司申请破产保护,一代传奇谢幕。

1993年,里约热内卢天主教大学的Roberto Ierusalimschy、Waldemar Celes、Luiz Figueiredo发明了Lua语言。它基于ANSI C,适用于编写嵌入其它程序的脚本。

1994,Rasmus Lerdorf为了维护他的个人网页而用Perl语言编写了一个程序,后来改进成一种新语言PHP。

1995年,Sun公司发现Oak语言在互联网上的用途——它可以随网页移植到不同系统,从而实现不同平台之间的网络通信。于是将它改名为Java重新发布,终于成功推广。

  • 同年,日本的松本行弘公布了Ruby语言。它结合了Perl、Python、Java等语言的特点,是面向对象、无类型、动态的编程语言,主要用于服务器端编程。
  • 同年,Brendan Eich为网景浏览器设计了JavaScript语言,后来成为浏览器上最流行的脚本语言。

1997年5月,IBM公司研发的计算机Deep Blue在国际象棋比赛中击败了人类象棋冠军Garry Kasparov。

  • 11月,中国互联网络信息中心(CNNIC)发布了第一次《中国互联网络发展状况统计报告》:截止到1997年10月31日,中国共有上网计算机29.9万台,上网用户数62万,CN下注册的域名4066个,WWW站点约1500个,国际出口带宽25.408M。58%的上网用户家庭人均月收入为400元-1000元,32%的为1000元-2000元。报告最后指出——网上速度太慢和收费太贵是影响中国 Internet 发展的两大障碍。

1998年1月,曾经主导浏览器市场的网景浏览器落败,打败它的是与微软系统捆绑销售的IE浏览器。网景公司为了挽回市场,将浏览器开源,但依然无力回天。日后,这个开源项目孕育出了Firefox浏览器。

  • 同年,自由软件阵营中的部分成员分裂出来,以“开源”的名义继续开展活动。开源只是一种通过协作提高软件质量的开发方法,开源软件不一定是自由软件。

1999年7月,中国互联网络信息中心(CNNIC)发布了第四次《中国互联网络发展状况统计报告》:截止到1999年6月30日,中国共有上网计算机146万台,上网用户数256万,CN下注册的域名29045个,WWW站点约9906个,国际出口带宽241M。用户投票最多的浏览器首页依次为www.sina.com.cnwww.sohoo.com.cnwww.263.net、空白页。


本文参考资料:

百度百科相关词条
维基百科相关词条
http://www.elecfans.com/d/618293.html
https://www.cnblogs.com/brucezhang2017/articles/8413872.html
http://www.gerenjianli.com/Mingren/05/8alm320ti6on9cc.html
https://thessdguy.com/the-first-ssd/#more-48
http://www.gnu.org/
http://www.cnnic.net.cn/hlwfzyj/hlwdsj/

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值