计算机语言发展史.docx
《计算机语言发展史.docx》由会员分享,可在线阅读,更多相关《计算机语言发展史.docx(19页珍藏版)》请在冰豆网上搜索。
计算机语言发展史
软件的产生始于早期的机械式计算机的开发。
从19世纪起,随着机械式计算机的更新,出现了穿孔卡片,这种卡片可以指导计算机进行工作。
但是直到20世纪中期现代化的电子计算机出现之后,软件才真正得以飞速发展。
在世界上第一台计算机ENIAC上使用的也是穿孔卡片,在卡片上使用的是专家们才能理解的语言,由于它与人类语言的差别极大,所以我们称之为机器语言。
也就是第一代计算机语言。
这种语言本质上是计算机能识别的唯一语言,但人类却很难理解它,以后的计算机语言就是在这个基础上,将机器语言越来越简化到人类能够直接理解的、近似于人类语言的程度,但最终送入计算机的工作语言,还是这种机器语言。
高级语言的任务就是将它翻译成易懂的语言,而这个翻译工作可以由计算速度越来越高、工作越来越可靠的计算机自己来完成。
计算机语言发展到第二代,出现了汇编语言。
比起机器语言,汇编语言大大前进了一步,尽管它还是太复杂,人们在使用时很容易出错误,但毕竟许多数码已经开始用字母来代替。
简单的“0、1”数码谁也不会理解,但字母是人们能够阅读并拼写的。
第二代计算机语言仍然是“面向机器”的语言,但它已注定要成为机器语言向更高级语言进化的桥梁。
当计算机语言发展到第三代时,就进入了“面向人类”的语言阶段。
你可以阅读、并直接用人类的语言来输入。
对我们汉语来说,目前还不能用中文汉字来输入指令,这主要是因为中文的输入还没有一个非常好的手段。
第三代语言也被人们称之为“高级语言”。
高级语言是一种接近于人们使用习惯的程序设计语言。
它允许用英文写解题的计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子差不多。
例如用BASIC高级语言,要想计算7×6的结果,只需写出 PRINT7*6即可,送入计算机后将自动进行计算并打印出结果。
一般人都能很快学会使用计算机,并且完全可以不了解机器指令,也可以不懂计算机的内部结构和工作原理,就能编写出应用计算机进行科学计算和事务管理的程序。
高级语言容易学习,通用性强,书写出的程序比较短,便于推广和交流,是很理想的一种程序设计语言。
高级语言发展于50年代中叶到70年代,有些流行的高级语言已经被大多数计算机厂家采用,固化在计算机的内存里。
如 BASIC语言,现在已有128种不同的 BASIC语言在流行,当然其基本特征是相同的。
除了BASIC语言外,还有FORTRAN(公式翻译)语言、 COBOL(通用商业语言)、 C语言、 DL/I语言、 PASCAC语言、ADA语言等250多种高级语言。
高级语言是一种动用语言,要完成某一个简单的计算步骤,你必须详细准确地给出每一条指令。
如解决经营管理活动中天天都要碰到的财务清账、库存等问题,就须编无数条程序,而情况一经变化,原有的设计程序则要修改,这样就使错误的可能性增大,工作效率大大降低。
为了解决这个问题,第四代计算机语言,即“实用语言”出现了。
第四代语言是使用第二代第三代语言编制而成的,每一种语言都有其特定的应用范围。
实际上,实用语言发展到今天已出现了一些有运用性质的第四代语言,如“LO- TOS1—2—3”。
第四代语言的特点就是它们只需要操作人员输入原始数据,并命令它们执行。
至于怎样执行则由它们本身来决定的,它已经在相当程度上替代了人脑的工作。
第四代语言的特点还在于:
操作者几乎不需要经过特殊训练,几乎所有的“实用语言”都有“帮助(Help)”功能,你可以遵照计算机给出的指示来完成你的工作,第二次就完全不用帮助了!
计算机语言是人与计算机进行对话的最重要的手段。
目前人们对计算机发出的命令几乎都是通过计算机语言进行的。
人与人之间的交流不仅仅依靠语言,还有一些其它的方式,比如人的手势、眼神等。
由此我们可以推测,在不久的将来,计算机与人类的交流将是全方位的,而不再仅仅依靠计算机语言。
那时,人们将更方便、更容易地操纵和使用计算机。
现代电子计算机技术的飞速发展,离不开人类科技知识的积累,离不开许许多多热衷于此并呕心沥血的科学家门的探索,正是这一代代的积累才构筑了今天的“信息大厦”。
下面这个按时间顺序展现的计算机发展简史,虽然不是很详细的描述这一辉煌历程,但我们同样可以从中感受到科技发展的艰辛及科学技术的巨大推动力。
一、机械计算机时代的拓荒者
在西欧,由中世纪进入文艺复兴时期的社会大变革,大大促进了自然科学技术的发展,人们长期被神权压抑的创造力得到空前释放。
其中制造一台能帮助人进行计算的机器,就是最耀眼的思想火花之一。
从那时起,一个又一个科学家为把这一思想火花变成引导人类进入自由王国的火炬而不懈努力。
但限于当时的科技总体水平,大都失败了,这就是拓荒者的共同命运:
往往见不到丰硕的果实。
后人在享用这甜美的时候,应该能从中品出一些汗水与泪水的滋味……
1614:
苏格兰人John Napier (1550-1617)发表了一篇论文,其中提到他发明了一种可以计算四则运算和方根运算的精巧装置。
1623:
Wilhelm Schickard (1592-1635)制作了一个能进行六位以内数加减法,并能通过铃声输出答案的"计算钟"。
通过转动齿轮来进行操作。
1625:
William Oughtred (1575-1660) 发明计算尺
1642:
法国数学家Pascal 在WILLIAM Oughtred计算尺的基础上将计算尺加以改进,能进行八位计算。
并且还卖出了许多,成为一种时髦的商品。
在此插入〈PASCAL像〉
1668:
英国人Samuel Morl和 (1625-1695)制作了一个非十进制的加法装置,适宜计算钱币。
1671:
德国数学家Gottfried Leibniz设计了一架可以进行乘法,最终答案可以最大达到16位。
1775:
英国Charles制作成功了一台与 Leibniz's 的计算机类似的机器。
但更先进一些。
1776:
德国人Mathieus Hahn成功的制作了一台乘法器。
1801:
Joseph-Maire Jacuard 开发了一台能用穿孔卡片控制的自动织布机。
1820:
法国人Charles Xavier Thomas de Colmar (1785-1870),制作成功第一台成品计算机,非常的可靠,可以放在桌面上,在后来的90多年间一直在市场上出售。
1822:
英国人Charles Babbage (1792-1871)设计了差分机和分析机,其中设计的理论非常的超前,类似于百年后的电子计算机,特别是利用卡片输入程序和数据的设计被后人所采用。
1832:
Babbage 和Joseph Clement 制成了一个差分机的成品,开始可以进行6位数的运算。
后来发展到20位、30位,尺寸将近一个房子那么大。
结果以穿孔的形式输出。
但限于当时的制造技术,他们的设计难以制成。
1834:
斯德哥尔摩的George Scheutz用木头做了一台差分机。
1834:
Babbage 设想制造一台通用的分析机,在只读存储器(穿孔卡片)中存储程序和数据,Babbage在以后的时间继续他的研究工作,并于1840年将操作数提高到了40位,并基本实现了控制中心(CPU)和存储程序的设想,而且程序可以根据条件进行跳转,能在几秒内作出一般的加法,几分钟内作出乘除法。
1842:
Babbage的差分机项目因为研制费用昂贵,被政府取消。
但他自己仍花费大量的时间和精力于他的分析机研究。
1843:
Scheutz 和他的儿子Edvard Scheutz 制造了一台差分机,瑞典政府同意继续支持他们的研究工作。
1847:
Babbage 花两年时间设计了一台较简易的、31位的差分机,但没有人感兴趣并支持他造出这台机器。
但后来伦敦科学博物馆用现代技术复制出这台机器后发现,它确实能准确的工作。
1848:
英国数学家George Boole创立二进制代数学。
提前差不多一个世纪为现代二进制计算机铺平了道路。
1853:
令Babbage感到高兴的是,Scheutzes制造成功了真正意义上的比例差分机,能进行15位数的运算。
象Babbage所设想的那样输出结果。
后来伦敦的Brian Donkin又造出了更可靠的第二台。
1858:
第一台制表机被Albany的Dudley天文台买走。
第二台被英国政府买走。
但天文台并没有将其充分利用,后来被送进了博物馆。
而第二台却被幸运的使用了很长时间。
1871:
Babbage 制造了分析机的部分部件和印表机。
1878:
纽约的西班牙人Ramon Verea,制造成功桌面计算器。
比前面提到的都要快。
但他对将其推向市场不感兴趣,只是想表明,西班牙人可以比美国人做的更好。
1879:
一个调查委员会开始研究分析机是否可行,最后他们的结论是:
分析机根本不可能工作。
此时Babbage 已经去世了。
调查之后,人们将他的分析机彻底遗忘了。
但Howard Aiken 例外。
1885:
这时期更多的计算机涌现出来。
如美国、俄国、瑞典等。
他们开始用有槽的圆柱代替易出故障的齿轮。
1886:
芝加哥的Dorr E. Felt (1862-1930), 制造成了他的计算机。
这是第一台用按键操作的计算器,而且速度非常快,按键抬起,结果也就出来了。
1889:
Felt推出桌面印表计算器。
1890:
1890美国人口普查。
1880年的普查人工用了7年的时间进行统计。
这意味着1890年的统计将会超过10年。
美国人口普查部门希望能得到一台机器帮助提高普查的效率。
Herman Hollerith,建立制表机公司的那个人,后来他的公司发展成了IBM公司。
借鉴了Babbage的发明,用穿孔卡片存储数据,并设计了机器。
结果仅仅用了6个周就得出了准确的数据(62622250人)。
Herman Hollerith大发其财。
1892:
圣多美和普林西比的William S. Burroughs (1857-1898),制作成功了一台比Felt的功能更强的机器,真正开创了办公自动化工业。
1896:
Herman Hollerith创办了IBM公司的前身。
--------------------------------------------------------------------------------
1900
1906:
Henry Babbage, Charles Babbage 的儿子,在R. W. Munro的支持下,完成了父亲设计的分析机,但也仅能证明它能工作,而没有将其作为产品推出。
二、电子计算机最初的日子里
在这之前的计算机,都是基于机械运行方式,尽管有个别产品开始引入一些电学内容,却都是从属与机械的,还没有进入计算机的灵活:
逻辑运算领域。
而在这之后,随着电子技术的飞速发展,计算机就开始了由机械向电子时代的过渡,电子越来越成为计算机的主体,机械越来越成为从属,二者的地位发生了变化,计算机也开始了质的转变。
下面就是这一过渡时期的主要事件:
1906:
美国的Lee De Forest发明了电子管。
在这之前造出数字电子计算机是不可能的。
这为电子计算机的发展奠定了基础。
回页首
--------------------------------------------------------------------------------
1910
1920
1924年2月:
IBM,一个具有划时代意义的公司成立。
--------------------------------------------------------------------------------
1930
1935:
IBM推出IBM 601机。
这是一台能在一秒钟算出乘法的穿孔卡片计算机。
这台机器无论在自然科学还是在商业意义上都具有重要的地位。
大约造了1500台。
1937:
英国剑桥大学的Alan M. Turing (1912-1954)出版了他的论文 ,并提出了被后人称之为"图灵机"的数学模型。
1937:
BELL试验室的George Stibitz展示了用继电器表示二进制的装置。
尽管仅仅是个展示品,但却是第一台二进制电子计算机。
1938:
Claude E. Shannon 发表了用继电器进行逻辑表示的论文。
1938:
柏林的Konrad Zuse 和他的助手们完成了一个机械可编程二进制形式的计算机,其理论基础是Boolean代数。
后来命名为Z1。
它的功能比较强大,用类似电影胶片的东西作为存储介质。
可以运算七位指数和16位小数。
可以用一个键盘输入数字,用灯泡显示结果。
1939 1月1日:
加利福尼亚的David Hewlet和William Packard 在他们的车库里造出了Hewlett-Packard计算机。
名字是两人用投硬币的方式决定的。
包括两人名字的一部分。
1939年11月:
美国John V. Atanasoff和他的学生Clifford Berry 完成了一台16位的加法器,这是第一台真空管计算机。
1939:
二次世界大战的开始,军事需要大大促进了计算机技术的发展。
1939:
Zuse和Schreyer 开始在他们的Z1计算机的基础上发展Z2计算机。
并用继电器改进它的存储和计算单元。
但这个项目因为Zuse服兵役被中断了一年。
1939/1940:
Schreyer利用真空管完成了一个10位的加法器,并使用了氖灯做存储装置。
回页首
--------------------------------------------------------------------------------
1940
1940年1月:
Bell实验室的Samuel Williams和Stibitz制造成功了一个能进行复杂运算的计算机。
大量使用了继电器,并借鉴了一些电话技术, 采用了先进的编码技术。
1941夏季:
Atanasoff和学生Berry完成了能解线性代数方程的计算机,取名叫"ABC"(Atanasoff-Berry Computer),用电容作存储器,用穿孔卡片作辅助存储器,那些孔实际上是"烧"上的。
时钟频率是60HZ,完成一次加法运算用时一秒。
1941年12月:
德国Zuse制作完成了Z3计算机的研制。
这是第一台可编程的电子计算机。
可处理7位指数、14位小数。
使用了大量的真空管。
每秒种能作3到4次加法运算。
一次乘法需要3到5秒。
1943:
1943年到1959年时期的计算机通常被称作第一代计算机。
使用真空管,所有的程序都是用机器码编写,使用穿孔卡片。
典型的机器就是:
UNIVAC。
1943年1月:
Mark I,自动顺序控制计算机在美国研制成功。
整个机器有51英尺长,重5吨,75万个零部件,使用了3304个继电器,60个开关作为机械只读存储器。
程序存储在纸带上,数据可以来自纸带或卡片阅读器。
被用来为美国海军计算弹道火力表。
1943年4月:
Max Newman、Wynn-Williams和他们的研究小组研制成功"Heath Robinson",这是一台密码破译机,严格说不是一台计算机。
但是其使用了一些逻辑部件和真空管,其光学装置每秒钟能读入2000个字符。
同样具有划时代的意义。
1943年9月 :
Williams和Stibitz完成了"Relay Interpolator",后来命名为"Model II Relay Calculator"。
这是一台可编程计算机。
同样使用纸带输入程序和数据。
其运行更可靠,每个数用7个继电器表示,可进行浮点运算。
1943年12月:
最早的可编程计算机在英国推出,包括2400个真空管,目的是为了破译德国的密码,每秒能翻译大约5000个字符 ,但使用完后不久就遭到了毁坏。
据说是因为在翻译俄语的时候出现了错误。
1946:
ENIAC (Electronic Numerical Integrator 和 Computer):
第一台真正意义上的数字电子计算机。
开始研制于1943年,完成于1946年。
负责人是John W. Mauchly和J. Presper Eckert。
重30吨,18000个电子管,功率25千瓦。
主要用于计算弹道和氢弹的研制。
三、晶体管计算机的发展
真空管时代的计算机尽管已经步入了现代计算机的范畴,但其体积之大、能耗之高、故障之多、价格之贵大大制约了它的普及应用。
直到晶体管被发明出来,电子计算机才找到了腾飞的起点,一发而不可收……
1947:
Bell实验室的William B. Shockley、 John Bardeen和Walter H. Brattain.发明了晶体管,开辟了电子时代新纪元。
1949:
EDSAC:
剑桥大学的Wilkes和他的小组建成了一台存储程序的计算机。
输入输出设备仍是纸带。
1949:
EDVAC (electronic discrete variable computer):
第一台使用磁带的计算机。
这是一个突破,可以多次在其上存储程序。
这台机器是John von Neumann提议建造的。
1949:
"未来的计算机不会超过1.5吨。
"这是当时科学杂志的大胆预测。
回页首
--------------------------------------------------------------------------------
1950
1950:
软磁盘由东京帝国大学的Yoshiro Nakamats发明。
其销售权由IBM公司获得。
开创存储时代新纪元。
1950:
英国数学家和计算机先驱Alan Turing说:
计算机将会具有人的智慧,如果一个人和一台机器对话,对于提出和回答的问题,这个人不能区别到底对话的是机器还是人,那么这台机器就具有了人的智能。
在此插入〈阿兰图灵像〉
1951:
Grace Murray Hopper完成了高级语言编译器。
1951:
Whirlwind:
美国空军的第一个计算机控制实时防御系统研制完成。
1951:
UNIVAC-1:
第一台商用计算机系统。
设计者:
J. Presper Eckert 和John Mauchly。
被美国人口普查部门用于人口普查,标志着计算机的应用进入了一个新的、商业应用的时代。
1952:
EDVAC (Electronic Discrete Variable Computer):
由Von Neumann领导设计并完成。
取名:
电子离散变量计算机。
1953:
此时世界上大约有100台计算机在运转。
1953:
磁芯存储器被开发出来。
在此插入〈磁芯存储器图〉
1954:
IBM的John Backus和他的研究小组开始开发 FORTRAN (FORmula TRANslation),1957年完成。
是一种适合科学研究使用的计算机高级语言。
1956:
第一次有关人工智能的会议在Dartmouth 学院召开。
1957:
IBM开发成功第一台点阵打印机。
1957:
FORTRAN 高级语言开发成功。
四、集成电路,现代计算机插上腾飞的翅膀
尽管晶体管的采用大大缩小了计算机的体积、降低了其价格,减少了故障。
但离人们的要求仍差很远,而且各行业对计算机也产生了较大的需求,生产更能更强、更轻便、更便宜的机器成了当务之急,而集成电路的发明正如“及时雨”,当春乃发生。
其高度的集成性,不仅仅使体积得以减小,更使速度加快,故障减少。
人们开始制造革命性的微处理器。
计算机技术经过多年的积累,终于驶上了用硅铺就的高速公路。
1958年9月12日:
在Robert Noyce(INTEL公司的创始人)的领导下,发明了集成电路。
不久又推出了微处理器。
但因为在发明微处理器时借鉴了日本公司的技术,所以日本对其专利不承认,因为日本没有得到应有的利益。
过了30年,日本才承认,这样日本公司可以从中得到一部分利润了。
但到2001年,这个专利也就失效了。
1959:
1959年到1964年间设计的计算机一般被称为第二代计算机。
大量采用了晶体管和印刷电路。
计算机体积不断缩小,功能不断增强,可以运行FORTRAN和COBOL ,接收英文字符命令。
出现大量应用软件。
1959:
Grace Murray Hopper开始开发COBOL (COmmon Business-Orientated Language)语言,完成于1961年。
回页首
--------------------------------------------------------------------------------
1960
1960:
ALGOL:
第一个结构化程序设计语言推出。
1961:
IBM的Kennth Iverson推出APL编程语言。
1963:
PDP-8:
DEC公司推出第一台小型计算机。
1964:
1964年到1972年的计算机一般被称为第三代计算机。
大量使用集成电路,典型的机型是IBM360系列。
1964:
IBM发布PL/1编程语言。
1964:
发布IBM 360首套系列兼容机。
1964:
DEC发布PDB-8 小型计算机。
1965:
摩尔定律发表,处理器的性能每年提高一倍。
后来其内容又发生了改变。
在此插入〈摩尔像〉
1965:
Lofti Zadeh创立模糊逻辑,用来处理近似值问题。
1965:
Thomas E. Kurtz和John Kemeny完成BASIC(Beginners All Purpose Symbolic Instruction Code)语言的开发。
特别适合计算机教育和初学者使用,得到了广泛的推广。
1965:
Douglas Englebart 提出鼠标器的设想,但没有进一步的研究。
直到1983年被苹果电脑公司大量采用。
1965:
第一台超级计算机CD6600开发成功。
1967:
Niklaus Wirth开始开发PASCAL语言,1971年完成。
1968:
Robert Noyce和他的几个朋友创办了INTEL公司。
1968:
Seymour Paper和他的研究小组在MIT开发了LOGO语言。
1969:
ARPANET计划开始启动,这是现代INTERNET的雏形。
1969 年4月7日:
第一个网络协议标准RFC推出。
1969:
EIA (Electronic Industries Associa
回页首
--------------------------------------------------------------------------------
1970
1970:
第一块RAM芯片由INTEL推出,容量1K。
1970:
Ken Thomson和Dennis Ritchie开始开发UNIX操作系统。
1970:
Forth编程语言开发完成。
1970:
Internet的雏形ARPAnet (Advanced Research Projects Agency network) 基本完成。
开始向非军用部门开放,许多大学和商业部门开始接入。
1971年11月15日:
Marcian E. Hoff在INTEL公司开发成功第一块微处理器4004,含2300个晶体管,是个4位系统,时钟频率108KHz ,每秒执行6万条指令。
在此插入〈4004图像〉
在后来的日子里,处理器发展主要指标一览。
处理器 主频 每秒百万条指令
4004 108 KHz 0.06
8080 2MHz 0.5
68000 8MHz 0.7
8086 8MHz 0.8
68000 16 MHz 1.3
68020 16 MHz 2