100年是不是很长?
有人说,100年当然很长啊,100年是大约36500天,是876000小时,能够看见世纪的长河,见证时代的发展,翻阅古今史诗。
“日升月落,反反复复,斗转星移,庭前花开花谢,一年又一年,都不曾失约。”
也有人说,100年很短,人类的平均寿命在65-75岁之间,花甲之年也不过谈笑之间,恍恍惚惚便递进了三代人,貌似也没有数来几个春天。
“犹记少时骑竹马,转眼已是白头翁。”
不妨让我们回到一百年前,来聊一聊计算机是如何诞生在那个充满未知时代的。
在1930年以前,有一个阶段被称为机械计算机器时代。
在这个阶段,人们发明了一些用来进行计算的机器,它们与计算机的现代概念几乎没有相似之处。
在17世纪,法国著名的数学家和物理学家布莱斯·帕斯卡(Blaise Pascal)发明了Pascaline,这是一个用来进行加减运算的计算机器。
到了20世纪,尼克劳斯·沃思(Niklaus Wirth)发明了一种结构化的程序设计语言,他将其命名为Pascal语言,用来纪念这位发明首台机械计算机器的科学家。
在17世纪后期,德国数学家戈特弗里德·莱布尼茨(Gottfried Leibnitz)发明了一台既能够做乘除运算又能做加减运算的更加复杂的计算机器。这台机器被称为莱布尼茨之轮(Leibnitz'sWheel)。
而第一台利用存储和编程概念的机器是雅卡尔提花织机(Jacquard loom),它是由约瑟夫-玛丽·雅卡尔(Joseph-Marie Jacquard)在19世纪初期发明的。
这种织机利用穿孔卡(类似于存储程序)来控制织布过程中经线的提升。
1823年,查尔斯·巴比奇(Charles Babbage)发明了一种差分引擎,它不仅能够很容易地进行数学运算,还可以解多项式方程。
后来,他发明了一种叫作分析引擎的机器,在某种程度上和现代计算机的概念类似。
该机器由4个部分组成:制造场(现在的算术逻辑单元)、存储单元(存储器)、操作者(控制单元)和输出单元(输入输出)。
1890年,在美国人口普查办公室工作的赫尔曼·何勒里斯(Herman Hollerith)设计并制造出具有编程能力的机器。
该机器可以自动阅读、计数和排列存储在穿孔卡上的数据。
在随后的20年里,计算机便从机械运算步进到了电子计算时代,也就是1930~1950年这段时间。
这一时期的早期计算机并不是将程序存储到存储器中,所有的计算机都是在处部进行编程的。
第一台用来完成特定任务的计算机是通过将信息进行电子编码来实现其功能的,它是由约翰·阿塔纳索夫(John V.Atanasoff)及其助手克利福德·贝里(Clifford Berry)于1939年发明的。
他又被称为:ABC(Atanasoff Berry Computer),主要用于实现解线性方程组。
在同一时期,名为康拉德·朱斯(Konrad Zuse)的德国数学家设计出通用计算机,并命名为“Z1”。
20世纪30年代,美国海军和IBM公司在哈佛大学发起了一项工程,在霍华德·艾肯(Howard Aiken)的直接领导下建造了一台名为Mark I的巨型计算机。
这种计算机既使用了电子部件,也使用了机械部件。
在英国,阿兰·图灵发明了一台名为巨人(Colossus)的计算机,这台计算机是为破译德国 Enigma密码而设计的。
第一台通用的、完全电子的计算机由约翰·莫奇勒(John Mauchly)和普雷斯波·埃克特(J.Presper Eckert)发明,这台计算机被称为ENIAC(ElectronicNumericalIntegrator and Calculator,电子数字积分器和计算器)。
它是在1946年完成设计的,利用了将近18000个真空管,有100英尺长,10英尺高,重达30吨。
前面说的这几种计算机的存储器仅仅用来存放数据,它们利用配线或开关进行外部编程。
然而,冯·诺依曼提出程序和数据应该存储在存储器中。
按照这种方法,每次使用计算机来完成一项新的任务,你只需要改变程序,而不用重新布线或者调节成百上千的开关。
第一台基于冯氏思想的计算机于1950年在宾夕法尼亚大学诞生,命名为EDVAC。
与此同时,英国剑桥大学的莫里斯·威尔克斯(Maurice Wilkes)制造了同样类型的被称为EDSAC的计算机。
也就是说,只有基于冯·诺依曼模型实现的计算机才是现代计算机的前身。
1950年以后,计算机的发展都差不多全是基于冯·诺依曼模型。
它们变得更快、更小、更便宜,但原理几乎是相同的。
历史学家将这一时期划分为几代,每一代计算机的改进主要体现在硬件或软件方面(而不是模型)。
第一代计算机(大约1950~1959年)以商用计算机的出现为主要特征。
在这个时期,计算机只有专家们才能使用,它们被锁在房子里,限制操作者和计算机专家以外的人员进入。
计算机体积庞大,且使用真空管作为电子开关,此时的计算机只有大的机构才能负担得起。
第二代计算机(大约1959~1965年)使用晶体管代替了真空管,这既减小了计算机的体积,也节省了开支,从而使得中小型企业也可以负担得起。
FORTRAN和COBOL这两种高级计算机程序设计语言的发明也使得编程更加容易。
这两种语言将编程任务和计算机运算任务分离开来,例如,土木工程师能够直接编写一个FORTRAN程序来解决问题,而不必涉及计算机结构中的具体电子细节。
第三代计算机因为集成电路的发明,更加减少了计算机的成本和大小。
小型计算机出现在市场上,封装的程序,也就是通常所说的软件包也已经有售,小型公司可以买到需要的软件包(如会计程序),而不必写自己的程序。
一个新的行业——软件行业就此诞生了。
这个时期大概从1965年持续到1975年。
第四代计算机诞生在大约1975~1985年,这个时期出现了微型计算机。
第一个桌面计算器(Altair8800)出现在1975年。
电子工业的发展允许整个计算机子系统做在单块电路板上。
这一时代还出现了与我们生活息息相关且离不开的产物——网络(计算机网络)。
我们现在正处于第五代计算机时代,这个时代始于1985年。
这个时代见证了掌上计算机和台式计算机的诞生、第二代存储媒体(CD-ROM、DVD等)的改进、多媒体的应用以及虚拟现实现象。
如果往上去追溯,貌似这段历史离我们并不遥远,很多计算机相关领域的开山鼻祖仍然还在为世界互联网的发展而作出贡献,他们让程序、计算机、网络变得更加简单容易以及可靠。
从人类历史的第一台电子计算机的诞生到现在各种精密设计的高性能、大内存的笔记本电脑,再到我们生活处处离不开的微型计算机也就是手机,不过是用了不到两代人的时间,准确来说,是94年。
世界是多变的,发展是迅速的,时间是短暂的,就让我们站在21世纪之巅,看昼夜交替,待沧海桑田。