计算机软件发展历史
3.0
2025-01-06
7
4
218.84KB
17 页
10龙币
侵权投诉
计算机软件发展历史(简史)
来源:互联网
计算机软件技术发展很快。50 年前,计算机只能被高素质的专家使用,今
天,计算机的使用非常普遍,甚至没有上学的小孩都可以灵活操作;40 年前,
文件不能方便地在两台计算机之间进行交换,甚至在同一台计算机的两个不同
的应用程序之间进行交换也很困难,今天,网络在两个平台和应用程序之间提
供了无损的文件传输;30 年前,多个应用程序不能方便地共享相同的数据,今
天,数据库技术使得多个用户、多个应用程序可以互相覆盖地共享数据。了解
计算机软件的进化过程,对理解计算机软件在计算机系统中的作用至关重要。
第一代软件(1946-1953)
第一代软件是用机器语言编写的,机器语言是内置在计算机电路中的
指令,由 0和1组成。例如计算 2+6 在某种计算机上的机器语言指令如下:
10110000 00000110
00000100 00000010
10100010 01010000
第一条指令表示将“6”送到寄存器 AL 中,第二条指令表示将“2”与寄存器 AL
中的内容相加,结果仍在寄存器 AL 中,第三条指令表示将 AL 中的内容送到地
址为 5的单元中。
不同的计算机使用不同的机器语言,程序员必须记住每条及其语言指令的
二进制数字组合,因此,只有少数专业人员能够为计算机编写程序,这就大大
限制了计算机的推广和使用。用机器语言进行程序设计不仅枯燥费时,而且容
易出错。想一想如何在一页全是 0和1的纸上找一个打错的字符!
在这个时代的末期出现了汇编语言,它使用助记符(一种辅助记忆方法,
采用字母的缩写来表示指令)表示每条机器语言指令,例如 ADD 表示加,SUB
表示减,MOV 表示移动数据。相对于机器语言,用汇编语言编写程序就容易多
了。例如计算 2+6 的汇编语言指令如下:
MOV AL,6
ADD AL,2
MOV #5,AL
由于程序最终在计算机上执行时采用的都是机器语言,所以需要用一种称
为汇编器的翻译程序,把用汇编语言编写的程序翻译成机器代码。编写汇编器
的程序员简化了他人的程序设计,是最初的系统程序员。
第二代软件(1954-1964)
当硬件变得更强大时,就需要更强大的软件工具使计算机得到更有效
地使用。汇编语言向正确的方向前进了一大步,但是程序员还是必须记住很多
汇编指令。第二代软件开始使用高级程序设计语言(简称高级语言,相应地,
机器语言和汇编语言称为低级语言)编写,高级语言的指令形式类似于自然语
言和数学语言(例如计算 2+6 的高级语言指令就是 2+6),不仅容易学习,方
便编程,也提高了程序的可读性。
IBM 公司从 1954 年开始研制高级语言,同年发明了第一个用于科学与工程
计算的 FORTRAN 语言。1958 年,麻省理工学院的麦卡锡(John Macarthy)发
明了第一个用于人工智能的 LISP 语言。1959 年,宾州大学的霍普(Grace
Hopper)发明了第一个用于商业应用程序设计的 COBOL 语言。1964 年达特茅
斯学院的凯梅尼(John Kemeny)和卡茨(Thomas Kurtz)发明了BASIC 语言。
高级语言的出现产生了在多台计算机上运行同一个程序的模式,每种高级
语言都有配套的翻译程序(称为编译器),编译器可以把高级语言编写的语句
翻译成等价的机器指令。系统程序员的角色变得更加明显,系统程序员编写诸
如编译器这样的辅助工具,使用这些工具编写应用程序的人,称为应用程序员。
随着包围硬件的软件变得越来越复杂,应用程序员离计算机硬件越来越远了。
那些仅仅使用高级语言编程的人不需要懂得机器语言和汇编语言,这就降低了
对应用程序员在硬件及机器指令方面的要求。因此,这个时期有更多的计算机
应用领域的人员参与程序设计。
由于高级语言程序需要转换为机器语言程序来执行,因此,高级语言对软
硬件资源的消耗就更多,运行效率也较低。由于汇编语言和机器语言可以利用
计算机的所有硬件特性并直接控制硬件,同时,汇编语言和机器语言的运行效
率较高,因此,在实时控制、实时检测等领域的许多应用程序仍然使用汇编语
言和机器语言来编写。
在第一代和第二代软件时期,计算机软件实际上就是规模较小的程序,程序的
编写者和使用者往往是同一个(或同一组)人。由于程序规模小,程序编写起
来比较容易,也没有什么系统化的方法,对软件的开发过程更没有进行任何管
理。这种个体化的软件开发环境使得软件设计往往只是在人们头脑中隐含进行
的一个模糊过程,除了程序清单之外,没有其他文档资料。
第三代软件(1965-1970)
在这个时期,由于用集成电路取代了晶体管,处理器的运算速度得到
了大幅度的提高,处理器在等待运算器准备下一个作业时,无所事事。因此需
要编写一种程序,使所有计算机资源处于计算机的控制中,这种程序就是操作
系统。
用作输入/输出设备的计算机终端的出现,使用户能够直接访问计算机,而
不断发展的系统软件则使计算机运转得更快。但是,从键盘和屏幕输入输出数
据是个很慢的过程,比在内存中执行指令慢得多,这就导致了如何利用机器越
来越强大的能力和速度的问题。解决方法就是分时,即许多用户用各自的终端
同时与一台计算机进行通信。控制这一进程的是分时操作系统,它负责组织和
安排各个作业。
1967 年,塞缪尔(A.L.Samuel)发明了第一个下棋程序,开始了人工智能
的研究。1968 年荷兰计算机科学家狄杰斯特拉(Edsgar W.Dijkstra)发表了论
文《GOTO 语句的害处》,指出调试和修改程序的困难与程序中包含 GOTO 语
句的数量成正比,从此,各种结构化程序设计理念逐渐确立起来。
20 世纪 60 年代以来,计算机用于管理的数据规模更为庞大,应用越来越
广泛,同时,多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。
为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用程序服务,
出现了数据库技术,以及统一管理数据的软件系统——数据库管理系统
DBMS。
随着计算机应用的日益普及,软件数量急剧膨胀,在计算机软件的开发和
维护过程中出现了一系列严重问题,例如:在程序运行时发现的问题必须设法
改正;用户有了新的需求必须相应地修改程序;硬件或操作系统更新时,通常
需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例消
耗资源,更严重的是,许多程序的个体化特性使得他们最终成为不可维护的,
“软件危机”就这样开始出现了。1968 年,北大西洋公约组织的计算机科学家在
联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了
“软件工程”这个名词。
第四代软件(1971-1989)
20 世纪 70 年代出现了结构化程序设计技术,Pascal 语言和 Modula-2
语言都是采用结构化程序设计规则制定的,Basic 这种为第三代计算机设计的语
言也被升级为具有结构化的版本,此外,还出现了灵活且功能强大的 C语言。
更好用、更强大的操作系统被开发了出来。为 IBM PC 开发的 PC-DOS 和为
兼容机开发的 MS-DOS 都成了微型计算机的标准操作系统,Macintosh 机的操
作系统引入了鼠标的概念和点击式的图形界面,彻底改变了人机交互的方式。
20 世纪 80 年代,随着微电子和数字化声像技术的发展,在计算机应用程
序中开始使用图像、声音等多媒体信息,出现了多媒体计算机。多媒体技术的
发展使计算机的应用进入了一个新阶段。
这个时期出现了多用途的应用程序,这些应用程序面向没有任何计算机经
验的用户。典型的应用程序是电子制表软件、文字处理软件和数据库管理软件。
Lotus1-2-3 是第一个商用电子制表软件,WordPerfect 是第一个商用文字处理软
件,dBase III 是第一个实用的数据库管理软件。
第五代软件(1990-)
第五代软件中有三个著名事件:在计算机软件业具有主导地位的
Microsoft 公司的崛起、面向对象的程序设计方法的出现以及万维网(World
Wide Web)的普及。
在这个时期,Microsoft 公司的Windows 操作系统在 PC 机市场占有显著优
势,尽管 WordPerfect 仍在继续改进,但 Microsoft 公司的Word 成了最常用的
文字处理软件。20 世纪 90 年代中期,Microsoft 公司将文字处理软件 Word、电
子制表软件 Excel、数据库管理软件 Access 和其他应用程序绑定在一个程序包
中,称为办公自动化软件。
面向对象的程序设计方法最早是在 20 世纪 70 年代开始使用的,当时主要
是用在 Smalltalk 语言中。20 世纪 90 年代,面向对象的程序设计逐步代替了结
构化程序设计,成为目前最流行的程序设计技术。面向对象程序设计尤其适用
于规模较大、具有高度交互性、反映现实世界中动态内容的应用程序。;font-
size:12.0000pt;mso-font-kerning:0.0000pt;">
分享:
0
喜欢
0
赠金笔
1 孕育阶段
这个阶段主要是指 1956 年以前。自古以来,人们就一直试图用各种机器来代
替人的部分脑力劳动,以提高人们征服自然的能力,其中对人工智能的产生、
发展有重大影响的主要研究成果包括:
早在公元前 384-公元前 322 年,伟大的哲学家亚里士多德(Aristotle)就在他的名
著《工具论》中提出了形式逻辑的一些主要定律,他提出的三段论至今仍是演
绎推理的基本依据。
英国哲学家培根(F. Bacon)曾系统地提出了归纳法,还提出了“知识就是力量”的
警句。这对于研究人类的思维过程,以及自 20 世纪 70 年代人工智能转向以知
识为中心的研究都产生了重要影响。
德国数学家和哲学家莱布尼茨(G. W. Leibniz)提出了万能符号和推理计算的思
想,他认为可以建立一种通用的符号语言以及在此符号语言上进行推理的演算。
这一思想不仅为数理逻辑的产生和发展奠定了基础,而且是现代机器思维设计
思想的萌芽。
英国逻辑学家布尔(C. Boole)致力于使思维规律形式化和实现机械化,并创立了
布尔代数。他在《思维法则》一书中首次用符号语言描述了思维活动的基本推
理法则。
英国数学家图灵(A. M. Turing)在1936 年提出了一种理想计算机的数学模型,
即图灵机,为后来电子数字计算机的问世奠定了理论基础。
美国神经生理学家麦克洛奇(W. McCulloch)与匹兹(W. Pitts)在1943 年建成了第
一个神经网络模型(M-P 模型),开创了微观人工智能的研究领域,为后来人工
神经网络的研究奠定了基础。
美国爱荷华州立大学的阿塔纳索夫(Atanasoff)教授和他的研究生贝瑞(Berry)在
1937 年至 1941 年间开发的世界上第一台电子计算机“阿塔纳索夫-贝瑞计算机
(Atanasoff-Berry Computer,ABC)”为人工智能的研究奠定了物质基础。需要
说明的是:世界上第一台计算机不是许多书上所说的由美国的莫克利和埃柯特
在1946 年发明。这是美国历史上一桩著名的公案。
由上面的发展过程可以看出,人工智能的产生和发展绝不是偶然的,它是科学
技术发展的必然产物。
2 形成阶段
摘要:
展开>>
收起<<
计算机软件发展历史(简史)来源:互联网计算机软件技术发展很快。50年前,计算机只能被高素质的专家使用,今天,计算机的使用非常普遍,甚至没有上学的小孩都可以灵活操作;40年前,文件不能方便地在两台计算机之间进行交换,甚至在同一台计算机的两个不同的应用程序之间进行交换也很困难,今天,网络在两个平台和应用程序之间提供了无损的文件传输;30年前,多个应用程序不能方便地共享相同的数据,今天,数据库技术使得多个用户、多个应用程序可以互相覆盖地共享数据。了解计算机软件的进化过程,对理解计算机软件在计算机系统中的作用至关重要。 第一代软件(1946-1953) 第一代软件是用机器语言编写的,机器语言是内置...
声明:本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击侵权投诉。
分类:实用文档
价格:10龙币
属性:17 页
大小:218.84KB
格式:DOCX
时间:2025-01-06


冀公网安备13010802002329