第一篇:计算机程序设计发展史
我对程序设计的一点粗浅看法
——计算机程序设计发展史
【内容提要】
程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计一般是以某种程序设计语言为基石,构造出这种语言下的程序。程序设计的过程一般包括分析、设计、编码、测试、排错等不同阶段。
程序设计语言是人们为了描述计算过程而设计的一种具有语法语义描述的记号。没有程序设计语言支持的计算机无异于一堆废料。从最早的一代设计程序语言——机器语言,到现在的面向于数据库的第四代语言,程序设计语言的发展已经突破了语言的本身,更是一种交互式程序设计环境的发展。在计算机问世至今的半个世纪中,人们一直在为研究出更新更好的程序设计语言而努力着。
【关键词】
程序设计语言程序设计方法 计算机技术 发展
计算机程序设计发展史
一、程序设计语言的发展
(一)“史前”时期
世界上最早的“计算机”是我国的算盘,它被人们沿用至今。在17世纪,Pascal等人发明了一种以传动齿轮为基础的“计算机”,它是以齿轮的转动来控制计算的累加与进位。上个世纪初,英国剑桥大学著名数学家Charles Babbage于1822年与1848年分别设计出了两种差分机,并于1833年制造出了有名的分析机。分析机在原理上与当今社会的计算机非常类似,它靠输入读进穿孔卡片来对输入的数进行算术运算并给出结果。而且分析机可以随意重复运算序列。这些是由Ada Lovelace设计的运算序列可以解决许多问题。实际上,这种运算序列就是程序的雏形,而这种设计思想一直沿用至今。因而Ada Lovelace被称为是世界上第一个程序员(ADA语言就是为纪念她而命名)。1890年Hollerith研制出了一种同样使用穿孔卡片的统计机被用作各种统计工作。此后,Hollerith成立了一个公司,这个公司便是如今的IBM。
本世纪30年代,英国数学家Turing提出了图灵机的概念,它是由一个控制块、一条存储带及一个读写头构成的能执行左移、右移、在存储带中清除或写入符号以及条件转移等操作的机器。这种图灵机的结构虽然较为简单,但是却能完成现代计算机所能完成的一切运算。随后Church发明了一种以逻辑公式中约束变量的代入为主要运算的λ-演算,这种运算已经相当于一种语法与语义都非常简单的程序设计语言,已被广泛应用于程序理论以及程序设计语言理论与实践的研究中。
(二)低级语言时期
1.第一代程序设计语言——机器语言
机器语言是二进制机器代码编成的代码序列,用来控制计算机执行规定的操作。其特点是能直接反映计算机的硬件结构,并且用机器语言编写的程序不须作任何处理即可直接输入计算机执行。由于机器语言与机器是一对一的,不同的机器有不同的指令系统,一种机器编写的程序也无法直接搬到另一种机器上运行。一个问题如果需要在多种机器上求解,那么就必须对同一问题重复编写多个应用程序。
2.第二代程序设计语言——汇编语言
由于机器语言程序的直观性差,且与人们习惯使用的数学表达式及自然语言差距太大,导致机器语言难学、难记,编写出来的程序难以调试、修改、移植和维护,极大限制了计算机的推广作用。在这种情况下,用助记符号来表示机器指令的操作符与操作数(亦称运算符与运算对象),用地址符号或标号代替指令或操作数的地址的汇编语言出现了。机器不能直接识别使用汇编语言编写的程序,还要由汇编语言编译器转换成机器指令才能运行。
由于汇编语言与机器指令之间是一对一的关系,导致即使是编写一个很简单的程序也需要数百条指令。所以在汇编语言的基础上,人们又研制出了只需一条指令便可编译成多条机器指令的宏汇编语言。而后又研制出了用于把多个独立编写的程序块连接组装成一个完整程序的连接程序。但汇编语言大多是针对特定的计算机或计算机系统设计的,所以它对机器的依赖性很强,同时还有很多的机器语言中存在的问题,汇编语言也没有解决。
(三)高级语言阶段
1954年,第一个完全脱离机器硬件的高级语言——FORTRAN语言问世了。高级语言在不同的平台上会被编译成不同的机器语言,使得程序设计语言不再过度的依赖某种特定的机器或者语言环境。1970年,一个标志着结构化程序设计时期开始的语言问世了,它就是Pascal语言。这个标致性的语言拥有严格的结构化形式、丰富且完备的数据类型,运行效率高、查错能力强。同时Pascal语言还是一种自编译语言。这个以法国数学家pascal命名的语言现已成为使用最广泛的基于DOS的语言之一。
80年代初,在程序设计的思想上又发生了一次大的革命。这个时期研制出的语言多为面对对象的程序设计。之后,高级语言的目标则是面对应用的程序设计。它侧重于描述程序“做什么”而不是“如何做”。
程序设计语言的发展是一个不断演变的过程。从最开始的机器语言,到汇编语言,再到各种各样的高级语言,最后到支持面对对象技术的面对对象的语言,甚至未来的面对应用的语言,它的演化过程的根本推动力就是抽象机制的更高要求,以及对程序设计思想的更好的支持。也就是说把机器能够理解的语言提升到能够很好的模拟人类思考问题的形式的过程。
二、程序设计方法的发展
(一)传统的程序设计方法
传统的编程方法主要是基于DOS操作系统下计算机程序的编程方法。用传统的编程方法编制完成特定功能的程序时,必须设计程序的算法,明晰数据的流程。传统编程方法的算法是变化多端的,同一问题可以有最优算法,也可以有一般算法,甚至可能存在劣等算法;它的数据流程是纷繁杂乱的,数据的调用、控制方向等又是交叉变化的,而且这种编程方法一般依赖于操作平台、编译系统等,所以移植性比较差。导致程序的设计也变得困难和繁琐。
(二)可视化编程方法
可视化编程可通过调用控件,并为控制对象设置属性,根据开发者的需要,直接在窗口中进行用户界面的布局设计。该项技术的优点是:编程简单、自动生成程序代码、效率高。因此在当今的编程语言中也被广泛采用。
(三)面向对象的编程方法
为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息而应运而生的面对对象的编程方法达到了软件工程的三个主要目标:重用性、灵活性和扩展性。用这种方法编写出的计算机程序是由单个能够起到子程序作用的单元或对象组合而成的。
面向对象设计是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法。是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层次关系的对象类的属性和操作进行共享的一种方式。从传统的程序设计方法,发展到可视化编程序设计方法,进而发展到面向对象的程序设计方法的发展轨迹,是计算机程序设计方法发展的三个重要的阶段。在程序设计实践中,这三种方法不仅严格独立,又相互交叉,彼此紧密联系。但是需要指出的是,在当今社会面向对象的程序设计方法是最大众化的程序设计方法,这是毋庸置疑的。
今天,程序设计方法学的研究已经取得了非常多的成果,不仅是结构程序设计的方法日益完善,且广泛推广。模块程序化,递归程序设计方法和逐步求精程序设计方法等均取得了巨大的成果,成为当今社会程序设计中非常有效的方法。而抽象数据的代数规范和程序的形式推导技术仍在发展中,特别是程序变换技术和自动化方面还不成熟,但也取得了可喜的进展。
结论
用科学的逻辑思维方法去认识事物才能更加清楚的了解过去、现在和未来。程序设计的发展同样遵循科学技术发展的一般规律。以自然辩证法的观点来分析程序设计有助于我们更加深入的认识和探讨程序设计发展的历史、现状和未来的发展趋势。有了自认辩证法这把开启科学认知大门的钥匙,我们将回首过去,把握现在,放眼未来。才能正确的选择程序设计的发展方向,更好的学习和利用程序设计来改变我们的生活。
参考文献
1.《程序设计语言概念》(美)Robert W.Sebesta 编著 中国电力出版社 2006.1 2.《程序设计语言编译原理》 陈火旺编著 国防工业出版社 2000.3 3.《汇编语言程序设计》 刘丽莉 编著 北京大学出版社 2010.11 4.《计算机语言及其应用实例》 童隆正,许远编 电子工业出版社2003.8
5.《计算机语言处理》(日本)安居院猛,中正之 编著 国防工业出版社2003.5 6.《程序设计方法》 教育部师范教育司 编著 高等教育出版社2001.1
7. 《程序设计方法学》 胡正国,吴健,邓正宏 编著国防工业出版社2003.1 8.《数据库发展新技术》 磊哲 编著 电子工业出版社2006.1 9.《智能协作信息技术》 姚莉,张维明 编著 电子工业出版社 2002.4 10.《软件发展与社会进步》 蔡希尧 编著 电子工业出版社2006.2
第二篇:计算机发展史
计算机发展史
关于世界上第一台计算机的疑问,在国内的绝大部分媒体上都会出现世界上第一台电子计算机是上世纪1946年由美国电气工程师普雷斯波·埃克特(J.Prespen Eckert)和物理学家约翰·莫奇勒博士(John W.Mauchly)发明的ENIAC文字记载,但另一种说法却是:世界上第一台电子计算机是由美国爱荷华州立大学的约翰· 文森特·阿塔纳索夫(John Vincent
Atanasoff)教授和他的研究生克利福特·贝瑞(Clifford Berry)先生在1937年至1941年间开发的“阿塔纳索夫-贝瑞计算机(Atanasoff-Berry Computer,简称ABC)”。
影响较大的是 ENIAC(“埃尼阿克”,Electronic Numerical Integrator and
Calculator,电子数字积分器和计算器)。它是美国奥伯丁武器试验场为了满足弹道设计的需要而由美国宾夕法尼亚大学研制而成的。这台计算机的字长只有12位。它采用电子管作为计算机的基本元件,每秒可进行5000次加法运算。它使用了18800只电子管,占地达170平方米,重量30吨,每小时耗电达150千瓦,是一个名副其实的“庞然大物”。
ENIAC机的问世具有划时代的意义,在以后的60多年里,计算机技术发展异常迅速,在人类科技史上还没有一种学科可以与电子计算机的发展速度相提并论。
对于电子计算机的发展,一般根据构成它的主要逻辑元件的不同将计算机的发展分成四个阶段。下面简单概括一下计算机的发展历程。
第一代是电子管计算机,其发展年代大致为1946-1958年。主要特点是:硬件方面,采用电子管为基本逻辑电路元件,主存储器采用延线或磁鼓(后期采用了磁芯),外存储器采用磁带存储器,此时的计算机体积庞大、功耗大、可靠性差、价格昂贵;软件方面,最初只能使用机器语言,编写程序、修改程序都很不方便,50年代中期以后逐步发展了汇编语言,但仍未从根本上解决编制程序的困难,因而当时计算机的应用以科学计算为主。
第二代是晶体管计算机,其发展年代大致为1958-1964年。其主要特点是:硬件方面,采用晶体管为基本逻辑电路元件,主存储器全部采用磁芯存储器,外存储器采用磁盘。计算机的速度提高、体积减小、功耗减低、可靠性增强;软件方面已开始有很大的发展,出现了一系列高级程序设计语言及编译程序,并且提出了多道程序设计、并行处理和可变的微程序设计思想,开始出现操作系统。此时,计算机的应用也从单一的科学计算发展到了数据、事务管理和过程控制等。
第三代是集成电路计算机,其发展年代大致为1964-1971年。其主要特点是:硬件方面,逻辑元件已开始采用中、小规模集成电路(SSI和MSI),主存储器从磁芯存储器逐步过渡到了半导体存储器,计算机的体积进一步减小,运算速度、运算精度、存储容量以及可靠性等主要性能指标大为改善;软件方面,对计算机程序设计语言进行了标准化工作,并提出了计算机结构化程序设计思想,软件中的操作系统开始普及。计算机的应用领域迅速发展,包括商业、科技、工程等领域。
第四代是大规模集成电路计算机,自1971年开始。其主要特点是:硬件方面,计算机逻辑元件采用大规模和超大规模集成电路,主存储器采用半导体存储器,提供虚拟能力,计算机外围设备多样化、系列化;软件方面,实现了软件固化技术,出现了面向对象的计算机程序设计编程思想,并广泛采用了数据库技术、计算机网络技术。计算机的应用领域更加广泛并逐渐改变着人类的生活方式。其发展过程中最重要的成就之一表现在微处理器(Micro-processor)技术上。微处理器是一种超小型化的电子器件,它把计算机的运算器、控制器等核心部件集成在一个集成电路芯片上。微处理器的出现为微型计算机的诞生奠定了基础。
随着大规模集成电路技术的迅速发展,计算机除了向巨型机方向发展外,还朝着超小型机和微型机方向飞越前进。
第一台计算机
人们通常所说的计算机,是指电子数字计算机。一般认为,世界上第一台数字式电子计算机诞生于1946年2月,它是美国宾夕法尼亚大学物理学家莫克利(J.Mauchly)和工程师埃克特(J.P.Eckert)等人共同开发的电子数值积分计算机(Electronic Numerical Integrator And Calculator,简称ENIACENIAC是一个庞然大物,其占地面积为170平方米,总重量达30吨。机器中约有18800只电子管、1500个继电器、70000只电阻以及其它各种电气元件,每小时耗电量约为140千瓦。这样一台“巨大”的计算机每秒钟可以进行5000次加减运算,相当于手工计算的20万倍,机电式计算机的1000倍。
ENIAC虽是第一台正式投入运行的电子计算机,但它不具备现代计算机“存储程序”的思想。1946年6月,冯·诺依曼博士发表了“电子计算机装置逻辑结构初探”论文,并设计出第一台“存储程序”的离散变量自动电子计算机(The Electronic Discrete Variable Automatic Computer,简称EDVAC),1952年正式投入运行,其运算速度是ENIAC的240倍。冯·诺依曼提出的EDVAC计算机结构为人们普遍接受,此计算机结构又称冯·诺依曼型计算机。第一代电子管计算机研制(1958-1964年)
第二代晶体管计算机研制(1965-1972年)
第三代基于中小规模集成电路的计算机研制(1973-80年代初)第四代基于超大规模集成电路的计算机研制(80年代中期至今)
超导计算机:光计算机
超导计算机:纳米计算机
计算机的分类:计算机种类很多,可以从不同的角度对计算机进行分类。按照计算机原理分类,可分为数字式电子计算机、模拟式电子计算机和混合式电子计算机。按照计算机用途分类,可分为通用计算机和专用计算机。按照计算机性能分类,可分为巨型机、小巨型机、大型机、小型机、工作站和个人计算机六大类。
第三篇:计算机发展史
计算机发展历程的启示
我们生活在一个高速发展的信息时代,通过计算机的革新我们的生活有了翻天覆地的变化,我们通过计算机了解新闻大事,和远在国外的家人朋友进行视频通话,在网上进行购物,等等。计算机引领了一个新的时代。我很早接触计算机,通过这学期的学习,我了解了计算机的基本发展历史,最早的计算机起源于公元前5世纪,中国人发明的,就是算盘,并一直沿用至今,在某些运算上使用算盘甚至比现代计算机还要快捷,在此我要歌颂一下我国古代人民的伟大智慧。直到17世纪,计算设备才有了第二次重要的进步,1645年,法国人Blaise Pascal发明了自动进位加法器,这项技术在现在看来很笨拙,但是他对计算设备来说是有本质突破的,从手动到自动了。文艺复兴时期,人们长期被神权压抑的创造力得到空前释放。其中制造一台能帮助人进行计算的机器,就是最耀眼的思想火花之一。当时无数伟大的科学家为了这一目标努力着,但是局限于当时科学技术整体的不成熟,所以他们都失败了,但是正是得益于他们的探索,使“计算机”这个新兴思想得以保存并不断发展至今,使后人受益。所以,当我们感叹成功者的智慧时,也不能忘了这些探索者们的辛勤。而给我启示更多的是这个世界是一个相互关联的世界,计算机在当时没有发展起来,也许并不是研究计算机的科学家的思想不够成熟,而是与计算机关联的技术领域还不成熟。就像人们探测到了地底一万里有巨大宝藏,但是没有工具能让我们一下就到了埋宝藏的地方,所以只能用铲子挖,等有了挖掘机时用挖掘机挖。科学发展是这样的,整个社会也是这样的,事物与事物,人与人之间都有千丝万缕的关系,互相促进,互相制约的。在计算机学习中,我最大的启示就是:
1.乘法与加法
从上计算机的第一课,老师就开始和我们说计算机的加法运算比乘法运算快得到,可能会快100倍,因为早期的计算机乘法都是转换成加法指令实现的,因此我们在程序设计时尽量不使用乘法,i*2,改为i+i等等。但是随着CPU的不断发展,乘法运算已经是CPU的内置指令,现在CPU加法运算也只是比乘法效率快3倍,所以我们不需要害怕做乘法了。
2.PC服务器与小型机
PC简称个人电脑,PC服务器一般指采用个人电脑的技术架构生产的服务器。小型机是60,70年代遗留的名词,因为那时大型机是主角,小型机是指相对大型机更轻量级的服务器,80年代开始小型机充当大量应用的核心服务器,如数据库服务器,中间件服务器等等。
从80年代开始,PC与小型机就不是一个档次的计算机,小型机具有高性能的运算能力,PC的能力不及小型机的1/100,随着PC的迅速发展,小型机的价格高高在上,PC服务器在90年代也开始有了应用,2000年以后PC服务器开始大量普及,10000元的PC服务器也开始出现,相比上百万的小型机,PC服务器的性价比决对超值。随着INTEL及AMD的CPU双核,三核,四核的出现,PC服务器与IBM,HP等小型机的性能进一步缩小,大量评测显示现在PC的四核CPU与IBM POWER6性能完全相当,小型机在性能上的优势已经完全失去。从现在来看,小型机最大的优势是稳定性及可扩展性,这些只是高端系统才会考虑,这方面同样受到PC分布式架构系统的挑战,因此也出现了现在大家看到的小型机的没落,逐渐变成了IT领域的奢侈品,只有有钱国企还在为小型机买单。
3.拼音与五笔
1983年王永民先生发明了五笔汉字输入法,被国内外专家评价为“其意义不亚于活字印刷术”的“五笔字型”,让国人看到了汉字输入的希望,经过多年的发展,90年代国内90%以上的用户汉字输入都使用五笔输入法,一时间也让人形成不会五笔就不会计算机一样的感觉,看到别人用拼音输入法就知道这是一个小菜鸟。用五笔输入法一般人可以比较轻松的一分钟打60字,专业打字员可以每分钟到150字以上,而那时的拼音输入法也有很多种,如普通拼音,双拼,模糊音等等,但是普通人一分钟只能达到30字左右,主要是因为拼音输入法重码率太高,选字消耗的时间太多。
2000年左右拼音输入法出现了新的生机,微软拼音,拼音之星,拼音加加,紫光拼音等输入法开始流行,主要原因是使用计算机的人越来越多,互联网的应用,五笔输入法的学习成本太高,所以很多人依然选择了拼音输入法,这时期的拼音输入法的词汇量非常多,所以词语或短语输入效率比较高,加上互联网的普及,词库更新更方便,所以拼音输入法的速率与五笔相差无几。
五笔输入法后来也推出了98版,虽然输入效率可以进一步提高,但是由于要重新记忆新的字根法则比较麻烦,所以很多人还是用老版的字根法则,当然也出现了一些新的流行软件,如陈桥五笔,极品五笔等,但是没有本质的格新。
2000年期间应该是五笔与拼音55开的局面,在这个特殊的时候也产生了智能混合输入法,就是会根据你的输入字母显示五笔码汉字和拼音码汉字,典型的代表是万能五笔,万能五笔因为这个特性也红级一时,现在也还有不少人在使用。随着互联网的大量普及,拼音输入法在2007年左右迎来了新的春天,词库的进一步加大,在线自动词库更新,智能组词等特性,一般人用拼音输入法的效率已经与五笔输入法不相上下,零学习成本让新一代网民自然选择了拼音输入法,再也没有人鄙视你用拼音输入法。随着云输入法的应用,拼音输入法将会再有一次质的飞越,但五笔输入法依然只会被专业打字员相中。
4.串行与并行
并行与串行是一个永恒的话题,也许你会认为并行一定比串行快,但是实现上是什么样呢,在计算机系统里你可以看大量并行与串行的架构转变。10年以前,硬盘接口是并行一统天下,并行接口速率从8MB/s一路高歌猛进,但是到了
133MB/s后发现举步维艰,由于并行接口的总线达到80根,随着传输速率的提高,传输过程中线路之间的干扰非常厉害。这时SATA(串行接口)硬盘开始登场,SATA1.0的速率就已经是1.5Gb/s,由串行接口没有传输信息号的干扰,3Gb/s,6Gb/s已经轻松实现,现在PC的并行接口的硬盘也基本淘汰,服务器SCSI也大量转向SAS硬盘。
5.CPU单核与多核
单核CPU经历了频率快速发展,在1G的时候出现了一个坎,经过架构调整后继续前进,终于发现到了4G以后前途暗淡,通过增加频率带来了更多稳定性与功耗问题。多核让CPU重新找到了暂时的方向,2核,3核,4核,到6核,8核,CPU终于从单核正式跨入了多核时代。
6.简单与复杂
SQL语言因为简单快速普及,JavaEE里乱七八糟的框架让初学者要崩溃,但是现在依然活力四射。Google的简易让Yahoo搜索应用一路千丈,Oracle数据库的复杂架构让其它数据库只能奋力追赶。iPhone因为她的简单美让无数人疯狂,一夜之间让微软和诺基亚从智能手机的领跑者变成追随者,微软一个Office软
件你可能用了10年还只是用了五分之一的功能,以至于让其它办公软件难以超越。
我想,在未来的计算机发展中可能出现的以下的趋势:1)模块化,PC之所以有今天这么大的普及度,就是因为他的通用模块化设计起了决定性的推动作用,以后的PC同样也不会牺牲这方面优点,而且还会将它发扬光大,不但在内置板卡中实现模块化,甚至可以提供多个外接插槽,以供使用人加入新的模块,增加性能或功能使用起来和现在笔记本中的PCMICA有点接近。2)无线化,追求自由一直是人类的梦想,计算机的无线化风潮同样也是人们梦寐以求的,和现在笔记本讲的“无线你的无限”有所不同的是:未来的计算机将实现网络和设备间的无线连接,这将意味着未来在家中使用台式机比现在的笔记本还方便,因为显示器(当然不会是CRT的)与主机之间也是通过无线来连接的,无线显示器实现这种梦想的技术称为UWB技术,它是一种与其它技术有很大不同的无线通信技术,它可以为无线局域网WLAN和个人局域网的接口卡和接入技术带来低功耗、高带宽并且相对简单的无线通信技术,所以INTEL称他为无线USB,希望能够成为计算机与计算机或是计算机与消费电子产品(如数字相机)间的高频宽的无线连结。
3)专门化,其实并不是每一件工作都需要一部高性能的PC才能完成,甚至是有时候采用高性能的计算机还有可能带来麻烦,因为高性能势必带来高能耗、高发热量等不良的负面效应。将来的计算机由于从事的工作不同,在性能上在外形上都会有很大的不同。通用PC将逐渐由专用设备(软硬件一体化的计算机)所代替,以提高工作效率。4)网络化,计算机已经越来越普及,各种家用电器也开始具备了智能化,这些现象将促进家电与计算机的网络化进程,家庭网络分布式系统将逐渐取代目前单机操作的模式,计算机可以通过网络控制着各种家电的运行,并通过互联网下载各种新的家电应用程序,以增加家电的功能,改善家电的性能等等。也可以通过互联网远程遥控家中的家电,在办公室的时候就可以提前让家中的电器做好饭,煮好菜,开空调等等。5)环保化,随着计算机的性能的提高,能耗也将越来越大;而且计算机在家庭生活中的扮演的角色越来越重要,运行的时间也将变长。为了不让计算机成为家中用电量最大的电器,技术人员也先进各种方法让计算机的能耗降低,比如通过上面提到的专门化的计算机,让计算机的效率大幅提高,从而可以让低性能的硬件系统具备专业的功能,减少能耗。6)人性化,未来人类的工具和家中的控制中心,计算机需要和使用人进行非常多的交流,才能更为使用人服务。这就要求计算机和人之间的交流要人性化,才能让使用人真正乐意使用计算机。为了实现这个目标,未来的计算机的交互方式将会多样化,不但可以通过书写控制,还可以通过语言控制,甚至可以通过眼睛进行控制,因为智能化的提高,多数工作计算机可以自动选择操作的流程,过程无需人们参与,所以软件的界面也越来越简单,使用起来就像现在家用电器或者手机一样简单,使用人无需再进行专门的学习,就连老人都能运用自如。
我相信,新型计算机与相关技术的研发和应用,是二十一世纪科技领域的重大创新,必将推进全球经济社会高速发展,实现人类发展史上的重大突破。科学在发展,人类在进步,历史上的新生事物都要经过一个从无到有的艰难历程,随着一代又一代科学家们的不断努力,未来的计算机一定会是更加方便人们的工作、学习、生活的好伴侣。
第四篇:计算机发展史
无处不在、无所不能的电脑,已历经了50多个春华秋实。50余年在人类的历史长河中只是一瞬间,电脑却彻底改变了我们的生活。回顾电脑发展的历史,并依此上溯它的起源,真令人惊叹沧海桑田的巨变;历数电脑史上的英雄人物和跌宕起伏的发明故事,将给后人留下了长久的思索和启迪。请读者随着我们的史话倒转时空,从电脑最初的源头说起。
谁都知道,电脑的学名叫做电子计算机。以人类发明这种机器的初衷,它的始祖应该是计算工具。英语里“Calculus”(计算)一词来源于拉丁语,既有“算法”的含义,也有肾脏或胆囊里的“结石”的意思。远古的人们用石头来计算捕获的猎物,石头就是他们的计算工具。著名科普作家阿西莫夫说,人类最早的计算工具是手指,英语单词“Dight”既表示“手指”又表示“整数数字”;而中国古人常用“结绳”来帮助记事,“结绳”当然也可以充当计算工具。石头、手指、绳子……,这些都是古人用过的“计算机”。
不知何时,许多国家的人都不约而同想到用“筹码”来改进工具,其中要数中国的算筹最有名气。商周时代问世的算筹,实际上是一种竹制、木制或骨制的小棍。古人在地面或盘子里反复摆弄这些小棍,通过移动来进行计算,从此出现了“运筹”这个词,运筹就是计算,后来才派生出“筹”的词义。中国古代科学家祖冲之最先算出了圆周率小数点后的第6位,使用的工具正是算筹,这个结果即使用笔算也很不容易求得。
欧洲人发明的算筹与中国不尽相同,他们的算筹是根据“格子乘法”的原理制成。例如要计算1248×456,•可以先画一个矩形,然后把它分成3×2个小格子,在小格子边依次写下乘数、被乘数的各位数字,再用对角线把小格子一分为二,分别记录上述各位数字相应乘积的十位数与个位数。•把这些乘积由右到左,•沿斜线方向相加,最后就得到乘积。1617年,英国数学家纳皮尔把格子乘法表中可能出现的结果,印刻在一些狭长条的算筹上,利用算筹的摆放来进行乘、除或其他运算。纳皮尔算筹在很长一段时间里,是欧洲人主要的计算工具。算筹在使用中,一旦遇到复杂运算常弄得繁杂混乱,让人感到不便,于是中国人又发明了一种新式的“计算机”。
著名作家谢尔顿在他的小说《假如明天来临》里讲过一个故事:骗子杰夫向经销商兜售一种袖珍计算机,说它“价格低廉,绝无故障,节约能源,十年中无需任何保养”。当商人打开包装盒一看,这台“计算机”原来是一把来自中国的算盘。世界文明的四大发源地──黄河流域、印度河流域、尼罗河流域和幼发拉底河流域──先后都出现过不同形式的算盘,只有中国的珠算盘一直沿用至今。珠算盘最早可能萌芽于汉代,定型于南北朝。它利用进位制记数,通过拨动算珠进行运算:上珠每珠当五,下珠每珠当一,每一档可当作一个数位。打算盘必须记住一套口诀,口诀相当于算盘的“软件”。算盘本身还可以存储数字,使用起来的确很方便,它帮助中国古代数学家取得了不少重大的科技成果,在人类计算工具史上具有重要的地位。
15世纪以后,随着天文、航海的发展,计算工作日趋繁重,迫切需要探求新的计算方法并改进计算工具。1630年,英国数学家奥特雷德使用当时流行的对数刻度尺做乘法运算,突然萌生了一个念头:若采用两根相互滑动的对数刻度尺,不就省得用两脚规度量长度吗?他的这个设想导致了“机械化”计算尺的诞生。奥特雷德是理论数学家,对这个小小的计算尺并不在意,也没有打算让它流传于世,此后二百年,他的发明未被实际运用。18世纪末,以发明蒸汽机闻名于世的瓦特,成功地制出了第一把名副其实的计算尺。瓦特原来就是一位仪表匠,他的蒸汽机工厂投产后,需要迅速计算蒸汽机的功率和气缸体积。瓦特设计的计算尺,在尺座上多了一个滑标,用来“存储”计算的中间结果,这种滑标很长时间一直被后人所沿用。
1850年以后,对数计算尺迅速发展,成了工程师们必不可少的随身携带的“计算机”,直到20世纪五、六十年代,它仍然是代表工科大学生身份的一种标志。
凝聚着许许多多科学家和能工巧匠智慧的早期计算工具,在不同的历史阶段发挥过巨大作用,但也将随着科学发展而逐渐消亡,最终完成它们的历史使命。
第一台真正的计算机是著名科学家帕斯卡(B.Pascal)发明的机械计算机。
帕斯卡1623年出生在法国一位数学家家庭,他三岁丧母,由担任着税务官的父亲拉扯他长大成人。从小,他就显示出对科学研究浓厚的兴趣。
少年帕斯卡对他的父亲一往情深,他每天都看着年迈的父亲费力地计算税率税款,很想帮助做点事,可又怕父亲不放心。于是,未来的科学家想到了为父亲制做一台可以计算税款的机器。19岁那年,他发明了人类有史以来第一台机械计算机。
帕斯卡的计算机是一种系列齿轮组成的装置,外形像一个长方盒子,用儿童玩具那种钥匙旋紧发条后才能转动,只能够做加法和减法。然而,即使只做加法,也有个“逢十进一”的进位问题。聪明的帕斯卡采用了一种小爪子式的棘轮装置。当定位齿轮朝9转动时,棘爪便逐渐升高;•一旦齿轮转到0,棘爪就“咔嚓”一声跌落下来,推动十位数的齿轮前进一档。
帕斯卡发明成功后,一连制作了50台这种被人称为“帕斯卡加法器”的计算机,至少现在还有5台保存着。•比如,在法国巴黎工艺学校、英国伦敦科学博物馆都可以看到帕斯卡计算机原型。据说在中国的故宫博物院,也保存着两台铜制的复制品,是当年外国人送给慈僖太后的礼品,“老佛爷”哪里懂得它的奥妙,只把它当成了西方的洋玩具,藏在深宫里面。
帕斯卡是真正的天才,他在诸多领域内都有建树。后人在介绍他时,说他是数学家、物理学家、哲学家、流体动力学家和概率论的创始人。凡是学过物理的人都知道一个关于液体压强性质的“帕斯卡定律”,这个定律就是他的伟大发现并以他的名字命名的。他甚至还是文学家,其文笔优美的散文在法国极负盛名。可惜,长期从事艰苦的研究损害了他的健康,1662年英年早逝,死时年仅39岁。他留给了世人一句至理名言:“人好比是脆弱的芦苇,但是他又是有思想的芦苇。”
全世界“有思想的芦苇”,尤其是计算机领域的后来者,都不会忘记帕斯卡在浑沌中点燃的亮光。1971年发明的一种程序设计语言──PASCAL语言,就是为了纪念这位先驱,使帕斯卡的英名长留在电脑时代里。
帕斯卡逝世后不久,与法兰西毗邻的德国莱茵河畔,有位英俊的年轻人正挑灯夜读。黎明时分,青年人站起身,揉了一下疲乏的腰部,脸上流露出会心的微笑,一个朦胧的设想已酝酿成熟。虽然在帕斯卡发明加法器的时候,他尚未出世,但这篇由帕斯卡亲自撰写的关于加法计算机的论文,却使他似醍醐灌顶,勾起强烈的发明欲。他就是德国大数学家、被《不列颠百科全书》称为“西方文明最伟大的人物之一”的莱布尼茨(G.Leibnitz)。
莱布尼茨早年历经坎坷。当幸运之神降临之时,他获得了一次出使法国的机会。帕斯卡的故乡张开臂膀接纳他,为他实现计算机器的夙愿创造了契机。在巴黎,他聘请到一些著名机械专家和能工巧匠协助工作,终于在1674年造出一台更完美的机械计算机。
莱布尼茨发明的新型计算机约有1米长,•内部安装了一系列齿轮机构,除了体积较大之外,•基本原理继承于帕斯卡。•不过,莱布尼茨技高一筹,他为计算机增添了一种名叫“步进轮”的装置。步进轮是一个有9个齿的长圆柱体,9个齿依次分布于圆柱表面;旁边另有个小齿轮可以沿着轴向移动,以便逐次与步进轮啮合。每当小齿轮转动一圈,步进轮可根据它与小齿轮啮合的齿数,分别转动1/
10、2/10圈……,直到9/10圈,这样一来,它就能够连续重复地做加法。
稍熟悉电脑程序设计的人都知道,连续重复计算加法就是现代计算机做乘除运算采用的办法。莱布尼茨的计算机,加、减、乘、除四则运算一应俱全,也给其后风靡一时的手摇计算机铺平了道路。
不久,因独立发明微积分而与牛顿齐名的莱布尼茨,又为计算机提出了“二进制”数的设计思路。有人说,他的想法来自于东方中国。
大约在公元1700年左右某天,友人送给他一幅从中国带来图画,名称叫做“八卦”,是宋朝人邵雍所摹绘的一张“易图”。莱布尼茨用放大镜仔细观察八卦的每一卦象,发现它们都由阳(—)•和阴(--)两种符号组合而成。他挠有兴趣地把8种卦象颠来倒去排列组合,•脑海中突然火花一闪──这不就是很有规律的二进制数字吗?•若认为阳(—)是“1”•,阴(--)是“0”,八卦恰好组成了二进制000到111共8个基本序数。正是在中国人睿智的启迪下,莱布尼茨最终悟出了二进制数之真谛。虽然莱布尼茨设计的计算机用的还是十进制,但他率先系统提出了二进制数的运算法则,直到今天,二进制数仍然左右着现代电脑的高速运算。
帕斯卡的计算机经由莱布尼茨的改进之后,人们又给它装上电动机以驱动机器工作,成为名符其实的“电动计算机”,并且一直使用到本世纪20年代才退出舞台。尽管帕斯卡与莱布尼茨的发明还不是现代意义上的计算机,但它们毕竟昭示着人类计算机史里的第一抹曙光。
要让机器听人类的话,按人类的意愿去计算,就要实现人与机器之间的对话,或者说,要把人类的思想传送给机器,让机器按人的意志自动执行。
说来也怪,实现人与机器对话的始作俑者却不是研制计算机的那些前辈,而是与计算机发明毫不相干的两位法国纺织机械师。他们先后发明了一种指挥机器工作的“程序”,把思想直接“注入”到了提花编织机的针尖上。
顾名思义,提花编织机具有升降纱线的提花装置,是一种能使绸布编织出图案花纹的织布机器。
应该是,提花编织机最早出现在中国。在我国出土的战国时代墓葬物品中,就有许多用彩色丝线编织的漂亮花布。据史书记载,西汉年间,钜鹿县纺织工匠陈宝光的妻子,能熟练地掌握提花机操作技术,•她的机器配置了120根经线,平均60天即可织成一匹花布,每匹价值万钱。明朝刻印的《天工开物》一书中,还赫然地印着一幅提花机的示意图。可以想象,当欧洲的王公贵族对从“丝绸之路”传入的美丽绸缎赞叹不已时,中国的提花机也必定会沿着“丝绸之路”传入欧洲。
不过,用当时的编织机编织图案相当费事。所有的绸布都是用经线(纵向线)和纬线(横向线)编织而成。若要织出花样,织工们必须细心地按照预先设计的图案,在适当位置“提”•起一部分经线,•以便让滑梭牵引着不同颜色的纬线通过。机器当然不可能自己“想”到该在何处提线,只能靠人手“提”起一根又一根经线,不厌其烦地重复这种操作。
1725年,法国纺织机械师布乔(B.•Bouchon)突发奇想,想出了一个“穿孔纸带”的绝妙主意。布乔首先设法用一排编织针控制所有的经线运动,然后取来一卷纸带,根据图案打出一排排小孔,并把它压在编织针上。启动机器后,正对着小孔的编织针能穿过去钩起经线,其他的针则被纸带挡住不动。这样一来,编织针就自动按照预先设计的图案去挑选经线,布乔的“思想”于是“传递”给了编织机,而编织图案的“程序”也就“储存”在穿孔纸带的小孔之中。真正成功的改进是在80年后,另一位法国机械师杰卡德(J.Jacquard),大约在1805年完成了“自动提花编织机”的设计制作。
那是举世瞩目的法国大革命的年代──攻打巴士底狱,推翻封建王朝,武装保卫巴黎,市民们高唱着“马赛曲”,纷纷走上街头,革命风暴如火如荼。虽然杰卡德在1790年就基本形成了他的提花机设计构想,但为了参加革命,他无暇顾及发明创造,也扛起来福枪,投身到里昂保卫战的行列里。直到19世纪到来之后,杰卡德的机器才得以组装完成。
杰卡德为他的提花机增加了一种装置,能够同时操纵1200个编织针,控制图案的穿孔纸带后来也换成了穿孔卡片。据说,杰卡德编织机面世后仅25年,考文垂附近的乡村里就有了600台,•在老式蒸气机噗嗤噗嗤的伴奏下,把穿孔卡片上的图案变成一匹匹漂亮的花绸布。纺织工人最初强烈反对这架自动化的新鲜玩意的到来,因为害怕机器会抢去他们的饭碗,使他们失去工作,但因为它优越的性能,终于被人们普遍接受。1812年,仅在法国已经装配了万余台,并通过英国传遍了西方世界,杰卡德也因此而被受予了荣誉军团十字勋章和金质奖章。
杰卡德提花编织机奏响了19世纪机器自动化的序曲。在伦敦出版的《不列颠百科全书》和中国出版的《英汉科技词汇大全》两部书中,“JACQUARD”(杰卡德)一词的词条下,英语和汉语的意思居然都是“提花机”,可见,杰卡德的名字已经与提花机融为了一体。杰卡德提花机的原理,即使到了电脑时代的今天,依然没有更大的改动,街头巷尾小作坊里使用的手工绒线编织机,其基本结构仍与杰卡德编织机大体相似。
此外,杰卡德编织机“千疮百孔”的穿孔卡片,不仅让机器编织出绚丽多彩的图案,而且意味着程序控制思想的萌芽,穿孔纸带和穿孔卡片也广泛用于早期电脑以存储程序和数据。或许,我们现在把“程序设计”俗称为“编程序”,就引申自编织机的“编织花布”的词义。
今天出版的许多计算机书籍扉页里,都登载着巴贝奇(C.•Babbage)的照片:宽阔的额,狭长的嘴,锐利的目光显得有些愤世嫉俗,坚定的但绝非缺乏幽默的外貌,给人以一个极富深邃思想的学者形象。
巴贝奇是一位富有的银行家的儿子,1792年出生在英格兰西南部的托特纳斯,后来继承了相当丰厚的遗产,但他把金钱都用于了科学研究。童年时代的巴贝奇显示出极高的数学天赋,•考入剑桥大学后,他发现自己掌握的代数知识甚至超过了教师。毕业留校,24岁的年青人荣幸受聘担任剑桥大学“路卡辛讲座”的数学教授。这是一个很少有人能够获得的殊荣,牛顿的老师巴罗是第一名,牛顿是第二名。在教学之余,巴贝奇完成了大量发明创造,如运用运筹学理论率先提出“一便士邮资”制度,发明了供火车使用的速度计和排障器等等。假若巴贝奇继续在数学理论和科技发明领域耕耘,他本来是可以走上鲜花铺就的坦途。然而,这位旷世奇才却选择了一条无人敢于攀登的崎岖险路。
事情还得从法国讲起。•18世纪末,•法兰西发起了一项宏大的计算工程──人工编制《数学用表》,这在没有先进计算工具的当时,是件极其艰巨的工作。法国数学界调集大批数学家,组成了人工手算的流水线,算得天昏地暗,才完成了17卷大部头书稿。即便如此,计算出的数学用表仍然存在大量错误。据说有一天,巴贝奇与著名的天文学家赫舍尔凑在一起,对两大部头的天文数表评头论足,翻一页就是一个错,翻两页就有好几处。面对错误百出的数学表,巴贝奇目瞪口呆,他甚至喊出声来:“天哪,这些计算错误已经充斥弥漫了整个宇宙!”
这件事也许就是巴贝奇萌生研制计算机构想的起因。巴贝奇在他的自传《一个哲学家的生命历程》里,写到了大约发生在1812年的一件事:“有一天晚上,我坐在剑桥大学的分析学会办公室里,神志恍惚地低头看着面前打开的一张对数表。一位会员走进屋来,瞧见我的样子,忙喊道:„喂!你梦见什么啦?‟我指着对数表回答说:„我正在考虑这些表也许能用机器来计算!‟”巴贝奇的第一个目标是制作一台“差分机”。所谓“差分”的含义,是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。那一年,刚满20岁的巴贝奇从法国人杰卡德发明的提花编织机上获得了灵感,差分机设计闪烁出了程序控制的灵光──它能够按照设计者的旨意,自动处理不同函数的计算过程。
巴贝奇耗费了整整十年光阴,于1822年完成了第一台差分机,它可以处理3个不同的5位数,计算精度达到6位小数,当即就演算出好几种函数表。由于当时工业技术水平极低,第一台差分机从设计绘图到机械零件加工,都是巴贝奇亲自动手完成。当他看着自己的机器制作出准确无误的《数学用表》,高兴地对人讲:“哪怕我的机器出了故障,比如齿轮被卡住不能动,那也毫无关系。你看,每个轮子上都有数字标记,它不会欺骗任何人。”以后实际运用证明,这种机器非常适合于编制航海和天文方面的数学用表。
成功的喜悦激励着巴贝奇,他连夜奋笔上书皇家学会,要求政府资助他建造第二台运算精度为20位的大型差分机。英国政府看到巴贝奇的研究有利可图,破天荒地与科学家签订了第一个合同,•财政部慷慨地为这台大型差分机提供出1.7万英镑的资助。巴贝奇自己也贴进去1.3万英镑巨款,•用以弥补研制经费的不足。在当年,这笔款项的数额无异于天文数字──有资料介绍说,1831年约翰·布尔制造一台蒸汽机车的费用才784英磅。
然而,第二台差分机在机械制造工厂里触上了“暗礁”。
第二台差分机大约有25000个零件,•主要零件的误差不得超过每英寸千分之一,即使用现在的加工设备和技术,要想造出这种高精度的机械也绝非易事。巴贝奇把差分机交给了英国最著名的机械工程师约瑟夫·克莱门特所属的工厂制造,但工程进度十分缓慢。设计师心急火燎,从剑桥到工厂,从工厂到剑桥,一天几个来回。他把图纸改了又改,让工人把零件重做一遍又一遍。年复一年,日复一日,直到又一个10年过去后,巴贝奇依然望着那些不能运转的机器发愁,全部零件亦只完成不足一半数量。参加试验的同事们再也坚持不下去,纷纷离他而去。巴贝奇独自苦苦支撑了第三个10年,终于感到无力回天。
那天清晨,巴贝奇走进车间,偌大的作业场空无一人,只剩下满地的滑车和齿轮,四处一片狼藉。他呆立在尚未完工的机器旁,深深地叹了口气。在痛苦的煎熬中,他无计可施,只得把全部设计图纸和已完成的部分零件送进伦敦皇家学院博物馆供人观赏。1842年,在巴贝奇的一生中是极不平常的一年。英国政府宣布断绝对他的一切资助,连科学界的友人都用一种怪异的目光看着他。英国首相讥讽道:“这部机器的唯一用途,就是花掉大笔金钱!”同行们讥笑他是“愚笨的巴贝奇”。皇家学院的权威人士,包括著名天文学家艾瑞等人,都公开宣称他的差分机“毫无任何价值”……
就在痛苦艰难的时刻,孤独苦闷的巴贝奇意外地收到一封来信,写信人不仅对他表示理解而且还希望与他共同工作。娟秀字体的签名,表明了她不凡的身份──伯爵夫人。
接到信函后不久,巴贝奇实验室门口走进来一位年轻的女士。她身披素雅的斗蓬,鬓角上斜插一朵白色的康乃馨,显得那么典雅端庄。巴贝奇一时愣在那里,他与这位女士似曾相识,又想不起曾在何处邂逅。女士落落大方地作了自我介绍,正是那位写信人。
“您还记得我吗?”女士低声问道,“十多年前,您还给我讲过差分机原理。”看到巴贝奇迷惑的眼神,她又笑着补充说:“您说我像野人见到了望远镜。”巴贝奇恍然大悟,想起已经十分遥远的往事。面前这位女士和那个小女孩之间,依稀还有几分相似。原来,•伯爵夫人本名叫阿达·奥古斯塔(AdaAugusta),是英国著名诗人拜伦的独生女。她比巴贝奇的年龄小20多岁,1815年出生。阿达自小命运多舛,来到人世的第二年,父亲拜伦因性格不合与她的母亲离异,从此别离英国。可能是从未得到过父爱的缘由,小阿达没有继承到父亲诗一般的浪漫热情,却继承了母亲的数学才能和毅力。
还是在阿达的少女时代,母亲的一位朋友领着她们去参观巴贝奇的差分机。其他女孩子围着差分机叽叽喳喳乱发议论,摸不着头脑。只有阿达看得非常仔细,她十分理解并且深知巴贝奇这项发明的重大意义。或许是这个小女孩特殊的气质,在巴贝奇的记忆里打下了较深的印记。他赶紧请阿达入座,并欣然同意与这位小有名气的数学才女共同研制新的计算机器。
就这样,在阿达27岁时,她成为巴贝奇科学研究上的合作伙伴,迷上这项常人不可理喻的“怪诞”研究。其时,她已经成了家,丈夫是洛甫雷斯伯爵。按照英国的习俗,许多资料在介绍里都把她称为“洛甫雷斯伯爵夫人”。
30年的困难和挫折并没有使巴贝奇屈服,阿达的友情援助更坚定了他的决心。还在大型差分机进军受挫的1834年,巴贝奇就已经提出了一项新的更大胆的设计。他最后冲刺的目标,不是仅仅能够制表的差分机,而是一种通用的数学计算机。巴贝奇把这种新的设计叫做“分析机”•,它能够自动解算有100个变量的复杂算题,每个数可达25位,速度可达每秒钟运算一次。
今天我们再回首看看巴贝奇的设计,分析机的思想仍然闪烁着天才的光芒。
由于巴贝奇晚年因喉疾几乎不能说话,介绍分析机的文字主要由阿达替他完成。阿达在一篇文章里介绍说:“这台机器不论在可能完成的计算范围、简便程度以及可靠性与精确度方面,或者是计算时完全不用人参与这方面,都超过了以前的机器。”巴贝奇把分析机设计得那样精巧,•他打算用蒸汽机为动力,驱动大量的齿轮机构运转。巴贝奇的分析机大体上有三大部分:其一是齿轮式的“存贮库”,巴贝奇称它为“仓库”•(Store),每个齿轮可贮存10个数,齿轮组成的阵列总共能够储存1000个50位数。分析机的第二个部件是所谓“运算室”,它被巴贝奇命名为“作坊”(Mill),其基本原理与帕斯卡的转轮相似,用齿轮间的啮合、旋转、平移等方式进行数字运算。为了加快运算速度,他改进了进位装置,使得50位数加50位数的运算可完成于一次转轮之中。第三部分巴贝奇没有为它具体命名,其功能是以杰卡德穿孔卡中的“0”和“1”来控制运算操作的顺序,类似于电脑里的控制器。他甚至还考虑到如何使这台机器处理依条件转移的动作,比如,第一步运算结果若是“1”,就接着做乘法,若是“0”就进行除法运算。此外,巴贝奇也构思了送入和取出数据的机构,以及在“仓库”和“作坊”之间不断往返运输数据的部件。
阿达“心有灵犀一点通”,她非常准确地评价道:“分析机„编织‟的代数模式同杰卡德织布机编织的花叶完全一样”。于是,为分析机编制一批函数计算程序的重担,落到了数学才女的肩头。阿达开天辟地第一次为计算机编出了程序,其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。阿达编制的这些程序,即使到了今天,电脑软件界的后辈仍然不敢轻易改动一条指令。人们公认她是世界上第一位软件工程师。众所周知,•美国国防部据说是花了250亿美元和10年的光阴,把它所需要软件的全部功能混合在一种计算机语言中,希望它能成为军方数千种电脑的标准。1981年,这种语言被正式命名为ADA(阿达)语言,使阿达的英名流传至今。
不过,以上讲的都是后话,殊不知巴贝奇和阿达当年处在怎样痛苦的水深火热之中!由于得不到任何资助,巴贝奇为把分析机的图纸变成现实,耗尽了自己全部财产,弄得一贫如洗。他只好暂时放下手头的活,和阿达商量设法赚一些钱,如制作什么国际象棋玩具,什么赛马游戏机等等。为筹措科研经费,他们不得不“下海”搞“创收”。最后,两人陷入了惶惶不可终日的窘境。阿达忍痛两次把丈夫家中祖传的珍宝送进当铺,以维持日常开销,而这些财宝又两次被她母亲出资赎了回来。贫困交加,无休止的脑力劳动,使阿达的健康状况急剧恶化。1852年,怀着对分析机成功的美好梦想,软件才女英年早逝,死时年仅36岁。阿达去世后,巴贝奇又默默地独自坚持了近20年。晚年的他已经不能准确地发音,甚至不能有条理地表达自己的意思,但是他仍然百折不挠地坚持工作。1871年,为计算机事业贡献毕生精力的先驱者巴贝奇,终于满怀着对分析机无言的悲怅,孤独地离开了人世。有人把他的大脑用盐渍着保存起来,想经过若干年后,有更先进技术来研究他大脑保存的精神。
分析机终于没能造出来,巴贝奇和阿达失败了。巴贝奇和阿达的失败是因为他们看得太远,分析机的设想超出了他们所处时代至少一个世纪!社会发展的需求和科学技术发展的可能,使得他们注定要成为的悲剧人物。尽管如此,巴贝奇和阿达为电脑科学留下了一份极其珍贵的精神遗产,包括30种不同设计方案,近2000张组装图和50000张零件图……,更包括那种在逆境中自强不息,为追求理想奋不顾身的拼搏精神。
巴贝奇巨星陨落后,世人已逐渐将他淡忘,20世纪已经来临。计算机的历史等待着,等待着巴贝奇式的人物再世,等待着人类划时代的壮举。
大约在1936年,美国青年霍德华·艾肯(H.Aiken)来哈佛大学攻读物理学博士学位。恰好在世纪之交来到人世的艾肯,属于大器晚成的科学家。由于家庭贫困,他不得不以半工半读的方式艰难地读完高中。大学期间,也是一边工作,一边刻苦学习,直到毕业后才谋到一份工程师的工作。36岁那年,他毅然辞去收入丰厚的职务,重新走进大学校门。由于博士论文的研究涉及到空间电荷的传导理论,需要求解非常复杂的非线性微分方程,在进行繁琐的手工计算之余,艾肯很想发明一种机器代替人工求解的方法,幻想能有一台计算机帮助他解决数学难题。
三年之后,正如莱布尼茨在书里“找到”帕斯卡一样,艾肯也是在图书馆里“发现”的巴贝奇和阿达。巴贝奇和阿达的论文,令年轻人心摇旌动。70多年过去后,巴贝奇仿佛还在对他娓娓而谈:“任何人如果不接受我失败的教训,还仍然下决心去研制一台把数学分析的全部工作都包括在内的机器的话,我不怕把自己的名誉交给他去作出应有的评价,因为只有他才完全了解我工作的性质及其成果的价值”。以艾肯所处时代的科技水平,也许已经能够完成巴贝奇未竞的事业,造出通用计算机。为此,他写了一篇《自动计算机的设想》的建议书,提出要用机电方式,而不是用纯机械方法来构造新的“分析机”。然而,正在求学的读书人根本没有可能筹措到那么大的一笔经费。
取得博士学位的艾肯进入了美国海军军械局。一名小小的中尉,他仍然没有钱。“金钱不是万能的”,但是,对于艾肯实现计算机梦想来说,“没有钱却是万万不能的”,否则只会重蹈巴贝奇和阿达的复辙。
年轻的海军中尉想到了制表机行业的IBM公司。
艾肯从他一位老师口中得知IBM董事长沃森的大名,他的老师此时正在一所由IBM出资创办的“哥伦比亚大学统计局”里任职,非常乐意为学生写了份推荐信。艾肯连续通宵达旦地准备材料,拟好了一份详细的可行性报告,直接跑去找沃森。他听老师讲,沃森的作风从来就是独断专行,不设法说服此人,研制计算机的计划一准泡汤。
IBM的总部座落在一幢古色古香的建设物里。•沃森坐在宽大的写字台后,一言不发听艾肯陈述。在他的背后,是整整齐齐摆满各种书籍的大书柜,书柜的上方贴着只有一个单词的格言──思考(THINK),这是沃森最为推崇的行动准则。
艾肯说完了该说的话,忐忑不安地望着对面这位爱好“思考”的企业家。
“至少需要多少钱?”沃森开口询问。“恐怕要投入数以万计吧”,艾肯喃喃地回答,“不过……”
沃森摆了摆手,打断了艾肯的话头,拿起笔来,在报告上划了几下。
艾肯心里一紧:“没戏了!”出于礼貌,他还是恭敬地用双手接过那张纸,随即低头一瞅,顿时喜上眉稍──沃森的大笔一挥,批给了计算机100万美元!
有了IBM作坚强后盾,•新的计算机研制工作在哈佛物理楼后的一座红砖房里开了场,艾肯把它取名为“马克1号”(MarkⅠ),又叫做“自动序列受控计算机”。IBM又派来莱克、德菲和汉密尔顿等工程师组成攻关小组,财源充足,兵强马壮。比起巴贝奇和阿达,艾肯的境况实在要幸运得多。•IBM也因此从生产制表机、肉铺磅秤、咖啡碾磨机等乱七八糟玩意的行业里,正式跨进了计算机的“领地”。
艾肯设计的马克1号已经是一种电动的机器,•它借助电流进行运算,最关键的部件,用的是普通电话上的继电器。•马克1号上大约安装了3000个继电器,每一个都有由弹簧支撑着的小铁棒,•通过电磁铁的吸引上下运动。吸合则接通电路,代表“1”;释放则断开电路,代表“0”。继电器“开关”能在大约1/100秒的时间内接通或是断开电流,当然比巴贝奇的齿轮先进得多。
为马克1号编制计算程序的也是一位女数学家格雷斯·霍波(G.•Hopper)。这位声名遐迩的数学博士,1944年参加到哈佛大学计算机研究工作,她说:“我成了世界上第一台大型计算机MarkⅠ的第三名程序员。”霍波博士后来还为第一台储存程序的商业电子计算机UNIVAC写过程序,又率先研制成功第一个编译程序A-O和计算机商用语言COBOL,被公认是计算机语言领域的带头人。有一天,她在调试程序时出现了故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波恢谐地把程序故障统称为“臭虫”•(bug),而这一奇怪的“称呼”,后来成为计算机领域的专业行话,如DOS系统中的调试程序,程序名称就叫DEBUG。
1944年2月,马克1号计算机在哈佛大学正式运行。从外表看,它的外壳用钢和玻璃制成,长约15米,高约2.4米,自重达到31.5吨,是个像恐龙般巨大身材的庞然大物。据说,艾肯和他的同事们,•为它装备了15万个元件和长达800公里的电线。这台机器能以令当时人们吃惊的速度工作──每分钟进行200次以上的运算。它可以作23位数加23位数的加法,一次仅需要0.3秒;而进行同样位数的乘法,则需要6秒多的时间。只是它运行起来响声不绝于耳,有的参观者说:“就象是挤满了一屋子编织绒线活的妇女”,也许你会联想到,马克1号计算机也与杰卡德编织机有天然的联系。马克1号代表着自帕斯卡以来,•人类所制造的机械计算机或电动计算机之顶尖水平,当时就被用来计算原子核裂变过程。它以后运行了15年,编出的数学用表我们至今还在使用。1946年,艾肯和霍波联袂发表文章说,这台机器能自动实现人们预先选定的系列运算,甚至可以求解微分方程。
马克1号终于实现了巴贝奇的夙愿。•事隔多年后,已经担任大学教授的艾肯谈起巴贝奇其人其事来,仍然惊叹不已,他曾感慨地说,如果巴贝奇晚生75年,我就会失业。但是,马克1号是早期计算机的最后代表,•从它投入运行的那一刻开始就已经过时,因为此时此刻,人类社会已经跨进了电子的时代。
第五篇:计算机发展史简介
第一章 计算机发展史简介
一.先驱者的贡献
帕斯卡(Biaise Pascal,1623~1662)
法国数学家、物理学家
19 岁受机械时钟的启发发明第一个齿轮式机械计算器(1642 年),只能做加、减法 巴贝奇(C.Babbage,1791~1871)
英国数学家
公认的计算机之父 研制出差分机和分析机 提出程序控制的思想
提出了完整的通用计算机的设计方案,已经有许多的现代计算机的元素在里面,最终100 年后由艾肯实现
爱达.拜伦(Ada Augusts Lovelace,1815~1852) 英国数学家
为巴贝奇的分析机编制程序
虽然还没出现¡°循环¡±,¡°子程序¡± 的概念,但其中已经蕴含了现在程序的思想。 被称为世界上第一位程序员 艾肯(Howard Aiken,1900~1973) 美国数学教授
制造出第一台机电式计算机MarkI,后又制造出MarkII MarkI 的一些参数:
以机电的方法代替机械的方法实现分析机,1944 年完成,在哈佛大学用了15 年 15.5米,高2.4米,75万个零部件
乘法速度是3 秒
图灵(Alan Turing,1912~1954) 英国科学家
现代计算机诞生过程中最重要的两个 人物之一,另一个是冯.诺依曼 他对现代计算机的贡献有两个:
建立图灵机理论模型
提出定义机器智能的图灵测试
冯.诺依曼(Von.Neumann,1903~1957) 美国数学教授 现代计算机之父 两个方面的重要贡献
提出了存储程序的思想
在EDVAC设计中提出的计算机结构奠定了现代 计算机体系结构框架,被称为冯.诺依曼结构
二.现代计算机的诞生
第一台电子数字计算机电子计算机ENIAC的诞生
(Electronic Numerical Integrator And Computer)电子数字积分计算机 1946 年美国制造
是现代计算机的里程碑,是第一台采用电子技术的计算机 ENIAC的性能
占地170平方米、重30 吨、耗电140 千瓦 18000 个电子管、70000 个电阻、10000 个电容 10 位数的乘法时间3 毫秒
与IBM 的超级计算机¡°白色选择¡± 相比较
18000 个真空管---33 万亿个晶体管,18 亿倍
存储容量800 字节---4 万亿字节,50 亿倍
计算速度5000 次/ 秒---12.3 万亿次/ 秒,25 亿倍
ENIAC的缺陷
ENIAC 使用的是十进制数
存储容量很小
程序不是存储在计算机内部
使用的是电子管,耗电量大,性能不太稳定,冯.诺依曼与EDVAC 首次设计了存储程序计算机EDVAC EDVAC(1952 正式投入使用)
人类第一台具有内部存储程序功能 的计算机
采用二进制,速度比ENIAC 快240 倍
EDVAC奠定了现代计算机体系结构的基础,直到现在还是主流计算机的体系结构
三.计算机发展史
计算机代的划分(代表计算机纵向的发展)
第一代计算机(1946~1959)—— 电子管 5 千~4 万(次/ 秒)
第二代计算机(1959~1963)—— 晶体管
几十万~ 百万(次/ 秒)
第三代计算机(1964~1975)—— 集成电路
百万~ 几百万(次/ 秒)
第四代计算机(1975~ 至今)—— 超大规模集成电路(VLSI)
几百万~ 百万亿(次/ 秒)
第五代计算机(人工智能计算机)
80年代初,日本曾提出寻找一种非冯.诺依曼结构的计算机,希望计算机能理解人的自然语言,但最终失败
并行计算机、网络计算机、光计算机、化学和生物计算机、量子计算机等等 摩尔定律
微芯片上集成的晶体管数目每12个月翻一番
集成电路的集成度每18个月翻一番
如果价钱不变的话,电脑芯片的性能每隔18 个月至两年就会翻一番
四.计算机的发展趋势
微型化
进一步提高集成度,利用高性能的超大规模集成电路研制质量更加可靠、性能更加优良、价格更加低廉、整机更加小巧的微型计算机 巨型化
高速度、海量存储、强功能 网络化
把各自独立的计算机用通讯线路连结起来,形成各计算机用户之间可以相互通讯并能使用公共资源的网络系统 智能化
让计算机具有模拟人的感觉和思维过程的能力
多媒体化
让计算机除能处理数字和文字信息、三维图形、动画,还可以用听觉、触觉、甚至嗅觉等多种媒体形式与人交换信息
总结
计算机的产生建立在图灵机模型的基础之上
艾肯和祖思的机电式计算机为后来的电子计算机的产生积累了经验 ENIAC 采用了先进的电子技术,是现代电子计算机的里程碑
冯.诺依曼模型明确反映现代计算机的存储程序工作原理以及计算机的基本体系结构