admin 管理员组文章数量: 1086019
2024年12月30日发(作者:易语言做游戏脚本)
计算机语言(或称程序设计语言)的发展过程是其功能不断完善、描述问题的方法越来
越贴近人类思维方式的过程。
(1)第一代语言——机器语言
机器语言是计算机诞生和发展初期使用的语言,表现为二进制的编码形式,是由CPU
可以直接识别的一组由0和1序列构成的指令码。这种机器语言是从属于硬件设备的,不
同的计算机设备有不同的机器语言。直到如今,机器语言仍然是计算机硬件所能“理解”
的惟一语言。在计算机发展初期,人们就是直接使用机器语言来编写程序的,那是一项相
当复杂和繁琐的工作。
例如,下面列出的一串二进制编码
011011 000000 000000 000001 110101
命令计算机硬件完成清除累加器,然后把内存地址为117的单元内容与累加器的内容
相加的操作。
可以看出,使用机器语言编写程序是很不方便的,它要求使用者熟悉计算机的所有细
节,程序的质量完全决定于个人的编程水平。特别是随着计算机硬件结构越来越复杂,指
令系统变得越来越庞大,一般的工程技术人员难以掌握程序的编写。为了把计算机从少数
专门人才手中解放出来,减轻程序设计人员在编制程序工作中的繁琐劳动,计算机工作者
开展了对程序设计语言的研究以及对语言处理程序的开发。
(2)第二代语言——汇编语言
汇编语言开始于20世纪50年代初期,它是用助记符来表示每一条机器指令的。例如,
上面的机器指令可以表示为
CLA 00 017
由于便于识别记忆,汇编语言比机器语言前进了一步。但汇编语言程序的大部分语句
还是和机器指令一一对应的,语句功能不强,因此编写较大的程序时仍很繁琐。而且汇编
语言都是针对特定的计算机或计算机系统设计的,对机器的依赖性仍然很强。用汇编语言
编好的程序要依靠计算机的翻译程序(汇编程序)翻译成机器语言后方可执行,但这时用户
看到的计算机已是装配有汇编程序软件的计算机。
(3)第三代语言——高级语言、算法语言
高级语言起始于20世纪50年代中期,它允许人们用熟悉的自然语言和数学语言编写
程序代码,可读性强,编程方便。例如,在高级语言中写出如下语句:
X=(A+B)/(C+D)
与之等价的汇编语言程序如下:
CLA C
ADD D
STD M
CLA A
ADD B
DIV M
STD X
显然,前者比后者容易得多。
用一种高级语言写成的源程序可以在具有该种语言编译系统的不同计算机上使用,但
这种语言必须经过编译或解释程序译成机器语言后才能执行。BASIC、FORTRAN、COBOL、
PASCAL等都属于第三代语言。
第三代语言又称为“过程语言”,顾名思义,它是面向“过程的”。用过程语言编写
程序,用户可不必了解计算机的内部逻辑,而主要考虑解题算法的逻辑和过程的描述,把
解决问题的执行步骤通过语言告诉给计算机。
在第三代语言的发展中,值得一提的有FORTRAN语言和COBOL语言。
FORTRAN语言是科学和工程计算领域中的传统编程语言,它首先引入了与汇编语言中的助
记符有本质区别的变量的概念,并引入了表达式语句、子程序等概念,成为以后出现的其
他高级程序设计语言的重要基础。FORTRAN语言一经问世便很快流行起来,因其执行的高
效率与近乎完善的输入/输出功能,至今在科学计算领域仍充满着生命力。
COBOL语言是数据处理方面的标准语言,它对程序设计语言发展的主要贡献是引入了
独立于机器的数据描述概念和与英语类似的语法结构,其中的数据描述概念正是数据库管
理系统中主要概念的雏形。COBOL语言的出现,使人们开始意识到计算机不仅可应用于科
学计算领域,而且适用于各种事务处理领域,大大拓宽了计算机的应用范围。
(4)第四代语言——非过程化语言
用户在使用这种语言时,不必关心问题的解法和处理过程的描述,只需说明所要完成
的工作目标及工作条件,就能得到所要的结果,而其他的工作都由系统来完成。换句话说,
原来费时费力的编程工作现在主要由系统来承担。因此,非过程化语言比过程化语言使用
起来更加方便。但是非过程化语言目前只适用于部分领域,其通用性及灵活性不如过程化
语言。
如果说第三代语言要求人们告诉计算机怎么做,那么第四代语言只要求人们告诉计算
机做什么。因此,人们称第四代语言是面向目标的语言。
关系数据库的标准语言SQL即属于第四代语言。例如,用户想检索出满足一定条件的
学生名单,只要通过SQL语言的SELECT语句告诉计算机查询的范围(查学生信息表)、查
询内容(查出姓名和年龄)和检索条件(查年龄小于18岁的学生)即可得到查询结果。该语
句形式如下:
SELECT sname,age
FROM students
WHERE age<18
(5)第五代语言——智能性语言
第五代语言除具有第四代语言的基本特征外,还具备许多新的功能,特别是具有一定
的智能。 PROLOG(PROgramming in LOGic)语言是第五代语言的代表。智能化语言主要
应用于抽象问题求解、数据逻辑、公式处理、自然语言理解、专家系统和人工智能等领域。
在计算机语言的发展过程中,新的技术和新的思想不断出现。
在20世纪60年代的10年时间里,人们至少发明了200多种高级语言。比较著名的
有应用于人工智能领域的LISP语言,涉及到矩阵运算的科学计算领域的APL语言,成功
地用于文本处理领域的SNOBOL语言,用于处理仿真问题的SIMULA语言,以及交互式的解
释型程序设计语言BASIC。
20世纪70年代以来,随着结构化程序设计思想的日益深入,使得这段时期问世的几
种程序设计语言的控制结构大为简化,比较有代表性的有PASCAL、Ada、C语言等。
目前用于教学及软件研制中的PASCAL语言在支持结构化程序设计思想的同时,吸收
了其他语言中用户定义数据类型等优点,使其数据抽象进入了一个新的层次。
Ada语言以可靠性、可维护性、可读性及高效率为设计目标,集各种过程性程序设计
语言的优秀思想之大成,在PASCAL语言的基础上,增加和扩充了数值计算、输入/输出、
数据抽象、并发处理、实时处理、异常处理等内容,集中体现了软件工程学、程序设计语
言学、程序设计方法学的优秀成果,支持程序的模块性、可移植性、可扩充性及抽象与信
息隐藏,有助于高效地开发与维护程序。
C语言是美国Bell实验室开发成功的。当时的高级语言基本上都不适合开发系统软
件,系统软件都是用机器语言或汇编语言编写的,而C语言的许多类汇编语言特征却使其
大获成功。C语言的表达式简洁,具有丰富的运算符、控制结构与数据结构。C语言已不
限于系统软件的开发,而成为当前最流行的程序设计语言之一。
虽然C语言并不是为教学设计的(在一定意义上来说,C语言并不适合于教学),但由
于它的实用性和广泛的市场占有率,因此在国内外计算机程序设计的课程中被广泛采用。
20世纪80年代初开始提出的“面向对象”(Object-Oriented)概念是相对于“面向
过程”的一次革命。C++便是一种面向对象的程序设计语言。“面向对象”不仅仅作为一
种语言,更作为一种方法论贯穿于软件设计的各个阶段。面向对象的技术在系统程序设计、
数据库及多媒体应用等诸多领域得到了广泛应用,面向对象的程序设计思想将会主导今后
程序设计语言的发展。
如果说,面向过程的语言仍然反映了计算机的思维方式,那么面向对象的程序设计语言则
充分体现了人们看待周围事物所采用的面向对象的观点。这种观点认为:我们周围的世界
是由一个个的对象组成的,而周围所发生的一切是对象间相互作用的结果。
面向对象的技术进一步缩小了人脑与电脑思维方式上的差异,并可以使人们在利用计
算机解决问题时,不是将主要精力花在如何描述解决问题的过程上(即编程上),而是花在
对要解决问题的分析上。
近年来,一种新的语言——Java正逐渐成为程序设计的流行语言。
Java的诞生最早大概可追溯至1991年4月,Sun的绿色计划(Green Project)开始着
手于发展消费性电子产品,所使用的语言是C、C++及Oak(Java语言的前身),后因语言
本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标;再加上网络的
兴起,绿色计划也因此而改变了发展方向,此时已是1994年了。
随着WWW的兴起,Java终于崭露头角。人们称Java是Internet上的世界语,是最
佳的网络应用开发语言。Java的诞生,从根本上解决了Internet的异质、代码交换以及
网络程序的安全性等诸多问题。首先,Java是一种与平台无关的语言,Java程序编译后,
生成的字节代码(Byte-Code)运行在Java虚机器(实际上是一个解释器)上。一个操作系统
平台只要提供Java虚机器,Java程序就可以在上面运行。从理论上讲,Java程序可以运
行于所有的操作系统平台上,从根本上解决了Internet的异质问题。其次,Java采用了
可移动代码技术,在网络上不仅可以进行无格式的数据信息交换,而且可以进行程序交换。
Java是比较纯的面向对象的语言,它的绝大多数程序实体都是对象,利用对象的封
装性可以大大降低网络上程序交换的复杂性。最后,Java是一种更安全的语言,它消除
了C和C++中众多的不安全因素(Java为了追求语言简单性和安全性,把C程序员推崇备
至的指针也取消了),提供了诸多安全保障机制,例如异常处理、代码检查等,比其他语
言更适合网络应用软件的开发。
4.2 Microsoft Windows 操作系统简述
4.2.1 Windows家族:
Windows这个词用于一系列不同的产品,它们可以划分为以下四个类别:
① 16位操作环境:这些产品只是提供了一个图形用户界面或桌面,还要有一个独立的操
作系统提供必要的服务,例如读取磁盘服务、显示器和键盘的输入等等。这个系列的产品
包括Windows 1.0(1985年)、Windows 2.0(1987年)以及它的近似产品Windows 286
和Windows 386、Windows 3.0和Windows 3.1。它们都不能脱离DOS运行。
② 混合的16/32位操作环境:这个系列的Windows是16位的Windows的升级版本,仍
然需要DOS操作系统才能运行,但是由于和微软的MS-DOS组件整合在一起作为一个整体
来发售,这样就不用再单独购买MS-DOS以运行Windows了。这个系列包括Windows 95(第
一版发行于1995年,后来的改进版本发行于1996年和1997年),以及三个版本的Windows
98(1998年、1999年和2000年)。这三个版本最终发展成为Windows ME。但是它作为Windows
98家族的资格并没有在广告上出现。
③ 32位操作系统环境:起初是为更高性能的商业市场设计而编写的独立的32位操作系
统。这个系列包括Windows NT 3.1(1992年)、NT 3.5、NT 3.51、NT 4.0、Windows 2000
和Windows XP等。
④ 64位操作系统环境:最新的Windows版本开始采用64位操作系统环境,虽然不管是
Intel的EM64T还是AMD的x86-64在本质上都是一种32位扩展指令集,兼容英特尔的
EM64T扩展指令集和AMD的x86-64指令集(Intel的EM64T其实是其兼容指令集)。这个
系列的产品包括Windows XP 64位版和Windows Server 2003 64位版。IA-64是Intel
的安腾处理器使用的完全不同的纯64位RISC指令集,在32位兼容模式下性能极为低下
而且基本不兼容现有的x86软件,故和现有桌面平台所谓的64位元指令集是完全不同的
概念,Microsoft仅仅有Windows 2000 Advanced Server Limited Edition这个限量版
的基于IA-64指令集的系统和一个非常罕见的Windows Server 2003 for IA-64版本。
4.2.2 Windows的发展史
Windows起源可以追溯到Xerox公司所进行的研发工作。1970年,美国Xerox公司成
立了著名的研究机构Palo Alto Research Center(PARC),从事局域网络、激光打印机、
图形使用者接口(Graphic User Interface,缩写:GUI)和面向对象(Object-Oriented)
技术的研究,并于1981年宣布推出世界上第一个商用的GUI系统:Star 8010工作站。
但由于种种原因,此技术上的领先并未得到充份的重视,也没有进一步做商业化的应用。
然而Apple Computer公司的创始人之一Steve Jobs在参观Xerox公司的PARC研究
中心后,认识到了GUI的重要性以及广阔的市场前景,于是开始着手进行自己的GUI系统
研发工作,并于1983年研发成功第一个GUI系统:Lisa。不久,Apple又推出第二个GUI
系统:Macintosh,这是世界上第一个成功的商用GUI系统。Apple公司在开发Macintosh
时,出于市场战略上的考量,只开发了能于Apple公司自己的计算机上作运作的GUI系统,
但当时,基于Intel x86微处理器芯片的IBM兼容计算机已渐露头角,因此就给了
Microsoft公司所开发的Windows生存空间和市场。
Microsoft公司早就意识到建立业界标准的重要性,在1983年春季就宣布开始研究
开发Windows,希望它能够成为基于Intel x86微处理芯片计算机上的标准GUI操作系统。
它在1985年和1987年分别推出Windows 1.03版和Windows2.0版。但是,由于当时硬件
和DOS操作系统的限制,这两个版本并没有取得很大的成功。此后,Microsoft公司对
Windows的RAM管理、GUI做了重大改进,使GUI更加美观并支持虚拟内存。Microsoft
于1990年5月份推出Windows 3.0并一炮而红。这个「千呼万唤始出来」的操作系统一
面世便在商业上取得惊人的成功:不到6周,Microsoft公司销出了50万份Windows 3.0,
打破了任何软件产品的6周销售记录,从而一举奠定了Microsoft在操作系统上的垄断地
位。后来更因此在1994年时被Apple公司控告侵权,展开了著名的“look and feel”诉
讼官司。
自Windows 95和Windows NT 4.0以来,这个系统最明显的特征是桌面。微软设计的
桌面大大改变了人机交流的界面,使得更多普通的任务只需要少量的计算机知识就可以胜
任了,甚至一些比较复杂的任务。但是Windows界面也使得用户和计算器的内部工作隔离
开来,使得用户控制和设置计算器变得更加困难(这或多或少是由于现代操作系统功能和
复杂性不断增长以及不断有大量低水平的计算机人员的增长所带来的必然)。
Windows获得了巨大的市场成功。估计现在有90%的个人计算机使用这个系统。但是
用户也很难选择其它的操作系统,因为在他们花钱购买计算机的时候他们的计算机已经有
了Windows系统,而他们必须删除了Windows之后才能安装别的系统(通常是免费的系统)。
因此,无论是它的市场占有率或为了实现保持市场主导位置的活动都是极富争议性的。
Windows Vista和Windows Server 2003是现在最新的Windows版本。Windows Server
2003有四个版本:Windows Server 2003 Web服务器版本(Web Edition)、 Windows Server
2003标准版(Standard Edition)、 Windows Server 2003企业版(Enterprise Edition)
以及Windows Server 2003数据中心版(Datacenter Edition)。Web Edition主要是为
网页服务器(web hosting)设计的,而Datacenter是一个为极高端系统使用的。标准和
企业版本则介于两者中间。
Windows CE系统是1996年开始设计的一款专门针对嵌入式设备设计的操作系统,最
开始的时候微软打算在Windows 98和Windows NT的基础上修改,但是项目进行不顺利,
后来经过全新设计产生了Windows CE系列产品其中包括后来的Pocket PC、Smartphone
以及Windows Mobile,严格的说Windows CE只是一个操作系统的核心,在这个核心的基
础上发展了针对不同设备的不同版本的操作系统。
微软有一系列主动的计划:.NET,Palladium以及Windows Vista(开发代号Longhorn)
操作系统。有人认为.NET和Windows Vista是微软希望从Windows中转移开来。有人推
想这样将可能帮助微软避免遭到像反托拉斯那样的后果。也可以宣称微软的下一代产品将
是全新的产品,而不是Windows的后续版本。
4.2.3为特殊设备设计的版本
为个人数码助理(PDA)设计的Pocket PC。
为移动电话设计的Smartphone和Windows Mobile(最新版本为5.0)。
为笔记本电脑及触摸式屏幕设计的Tablet PC。
为DEC Alpha、IBM Power PC和MIPS systems设计的Windows NT。(在2000年后都
废止了)
为掌上电脑设计的Windows CE。
为[[1]]设计的[XP Media Center Edition](简称[MCE])
为XBOX游戏机设计的版本,名为 Dashboard,但实为 Windows 2000修改而成。
版权声明:本文标题:计算机语言(或称程序设计语言)的发展过程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735631176a1682317.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论