谁知道电脑软件的发展史帮我一下!谢谢!
电脑软件的发展史
第一代软件(1946-1953)
第一代软件是用机器语言编写的,机器语言是内置在计算机电路中的指令,由0和1组成。
第二代软件(1954-1964)
当硬件变得更强大时,就需要更强大的软件工具使计算机得到更有效地使用。汇编语言向正确的方向前进了一大步,但是程序员还是必须记住很多汇编指令。
第三代软件(1965-1970)
在这个时期,由于用集成电路取代了晶体管,处理器的运算速度得到了大幅度的提高,处理器在等待运算器准备下一个作业时,无所事事。因此需要编写一种程序,使所有计算机资源处于计算机的控制中,这种程序就是操作系统。
第四代软件(1971-1989)
20世纪70年代出现了结构化程序设计技术,Pascal语言和Modula-2语言都是采用结构化程序设计规则制定的,Basic这种为第三代计算机设计的语言也被升级为具有结构化的版本,此外,还出现了灵活且功能强大的C语言。
第五代软件(1990-至今)
第五代软件中有三个著名事件:在计算机软件业具有主导地位的Microsoft公司的崛起、面向对象的程序设计方法的出现以及万维网(World Wide Web)的普及。
扩展资料
依据许可方式的不同,大致可将软件区分为几类:
1、专属软件:
此类授权通常不允许用户随意的复制、研究、修改或散布该软件。违反此类授权通常会有严重的法律责任。传统的商业软件公司会采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护。
2、自由软件:
此类授权正好与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其它限制。以Linux、Firefox 和OpenOffice 可做为此类软件的代表。
3、共享软件:
通常可免费的取得并使用其试用版,但在功能或使用期间上受到限制。开发者会鼓励用户付费以取得功能完整的商业版本。根据共享软件作者的授权,用户可以从各种渠道免费得到它的拷贝,也可以自由传播它。
4、免费软件:
可免费取得和转载,但并不提供源码,也无法修改。
5、公共软件:
原作者已放弃权利,著作权过期,或作者已经不可考究的软件。使用上无任何限制。
第一代软件是用机器语言编写的,机器语言是内置在计算机电路中的指令,由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年,麻省理工学院的麦卡锡(JohnMacarthy)发明了第一个用于人工智能的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年代,面向对象的程序设计逐步代替了结构化程序设计,成为目前最流行的程序设计技术。面向对象程序设计尤其适用于规模较大、具有高度交互性、反映现实世界中动态内容的应用程序。Java、C++、C#等都是面向对象程序设计语言。
1990年,英国研究员提姆·柏纳李(Tim Berners-Lee)创建了一个全球Internet文档中心,并创建了一套技术规则和创建格式化文档的HTML语言,以及能让用户访问全世界站点上信息的浏览器,此时的浏览器还很不成熟,只能显示文本。
软件体系结构从集中式的主机模式转变为分布式的客户机/服务器模式(C/S)或浏览器/服务器模式(B/S),专家系统和人工智能软件从实验室走出来进入了实际应用,完善的系统软件、丰富的系统开发工具和商品化的应用程序的大量出现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个大发展的阶段。
在计算机软件的发展史上,需要注意“计算机用户”这个概念的变化。起初,计算机用户和程序员是一体的,程序员编写程序来解决自己或他人的问题,程序的编写者和使用者是同一个(或同一组)人;在第一代软件末期,编写汇编器等辅助工具的程序员的出现带来了系统程序员和应用程序员的区分,但是,计算机用户仍然是程序员;20世纪70年代早期,应用程序员使用复杂的软件开发工具编写应用程序,这些应用程序由没有计算机背景的从业人员使用,计算机用户不仅是程序员,还包括使用这些应用软件的非专业人员;随着微型计算机、计算机游戏、教育软件以及各种界面友好的软件包的出现,许多人成为计算机用户;万维网的出现,使网上冲浪成为一种娱乐方式,更多的人成为计算机的用户。今天,计算机用户可以是在学习阅读的学龄前儿童,可以是在下载音乐的青少年,可以是在准备毕业论文的大学生,可以是在制定预算的家庭主妇,可以是在安度晚年的退休人员,……,所有使用计算机的人都是计算机用户。
人类所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。 1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。这台计算机共用了18000多个电于管组成,占地170m2,总重量为30t,耗电140kw,运算速度达到每秒能进行5000次加法、 300次乘法。
电子计算机在短短的50多年里经过了电子管、晶体管、集成电路(IC)和超大规模集成电路(VLSI)四个阶段的发展,使计算机的体积越来越小,功能越来越强,价格越来越低,应用越来越广泛,目前正朝智能化(第五代)计算机方向发展。
1.第一代电子计算机
第一代电于计算机是从1946年至1958年。它们体积较大,运算速度较低,存储容量不大,而且价格昂贵。使用也不方便,为了解决一个问题,所编制的程序的复杂程度难以表述。这一代计算机主要用于科学计算,只在重要部门或科学研究部门使用。
2.第二代电子计算机
第二代计算机是从1958年到1965年,它们全部采用晶体管作为电子器件,其运算速度比第一代计算机的速度提高了近百倍,体积为原来的几十分之一。在软件方面开始使用计算机算法语言。这一代计算机不仅用于科学计算,还用于数据处理和事务处理及工业控制。
3.第三代电子计算机
第三代计算机是从1965年到1970年。这一时期的主要特征是以中、小规模集成电路为电子器件,并且出现操作系统,使计算机的功能越来越强,应用范围越来越广。它们不仅用于科学计算,还用于文字处理、企业管理、自动控制等领域,出现了计算机技术与通信技术相结合的信息管理系统,可用于生产管理、交通管理、情报检索等领域。
4.第四代电子计算机
第四代计算机是指从1970年以后采用大规模集成电路(LSI)和超大规模集成电路(VLSI)为主要电子器件制成的计算机。例如80386微处理器,在面积约为10mm X l0mm的单个芯片上,可以集成大约32万个晶体管。
第四代计算机的另一个重要分支是以大规模、超大规模集成电路为基础发展起来的微处理器和微型计算机。
微型计算机大致经历了四个阶段:
第一阶段是1971~1973年,微处理器有4004、4040、8008。 1971年Intel公司研制出MCS4微型计算机(CPU为4040,四位机)。后来又推出以8008为核心的MCS-8型。
第二阶段是1973~1977年,微型计算机的发展和改进阶段。微处理器有8080、8085、M6800、Z80。初期产品有Intel公司的MCS一80型(CPU为8080,八位机)。后期有TRS-80型(CPU为Z80)和APPLE-II型(CPU为6502),在八十年代初期曾一度风靡世界。
第三阶段是1978~1983年,十六位微型计算机的发展阶段,微处理器有8086、808880186、80286、M68000、Z8000。微型计算机代表产品是IBM-PC(CPU为8086)。本阶段的顶峰产品是APPLE公司的Macintosh(1984年)和IBM公司的PC/AT286(1986年)微型计算机。
第四阶段便是从1983年开始为32位微型计算机的发展阶段。微处理器相继推出80386、80486。386、486微型计算机是初期产品。 1993年, Intel公司推出了Pentium或称P5(中文译名为“奔腾”)的微处理器,它具有64位的内部数据通道。现在Pentium III(也有人称P7)微处理器己成为了主流产品,预计Pentium IV 将在2000年10月推出。
由此可见,微型计算机的性能主要取决于它的核心器件——微处理器(CPU)的性能。
5.第五代计算机
第五代计算机将把信息采集、存储、处理、通信和人工智能结合一起具有形式推理、联想、学习和解释能力。它的系统结构将突破传统的冯·诺依曼机器的概念,实现高度的并行处理。