码迷,mamicode.com
首页 > 编程语言 > 详细

高级程序设计语言

时间:2015-04-19 11:23:37      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

高级语言的初级阶段实际上是从低级语言(机器语言和汇编语言)向高级语言的过渡,其代表是第一个高级语言Fortran语言,初期高级语言中的问题是表达式处理,这一点从Fortran名称的含义(FORmula TRANsformation language)可以看出,FortranBasic语言引入了变量、表达式、语句等概念,由于当时计算机应用的重点是数值计算,所以它与低级语言的主要区别也体现在表达式计算的自动处理上,而且把表达式的计算进一步引入到重复语句的控制和数组下标,更体现出"高级"编程的特征。早期的高级语言已经有子程序的概念,但应该说它们还只是"萌芽"状态的函数和过程,到结构程序设计阶段,语言中的函数和过程是最重要的设施。 第二阶段我们称之为结构程序设计阶段,结构程序设计语言的主要特征就是两点,一个是清清楚楚的数据类型说明和检查,另一个是以过程和函数为主要形式的层次编程方法。它强调的是程序自身的结构。其代表语言首先当推Pascal语言。 

有了高级语言,才有了大量比较大规模程序编制的需要,其中高级语言的编译系统本身也是一种大规模程序。面对大程序的设计,初级阶段的高级语言及其编程方法不适应了,于是,60年代末的"软件危机"出现了,由Digkstra发起的"Goto语句有害"的讨论导致了PascalC等语言和软件工程思想及结构程序设计方法。当代的大多数程序员都是在这样的理论指导下培养出来,并创造了当今软件产业如此辉煌发展的局面。也可以说结构程序设计语言及其设计方法学,是初期阶段高级语言产生后发展的必然的、合乎逻辑的结果。 

在这一时期,可以说从开始就已经孕育着一些向下一阶段发展的原始思想。例如,在CPascal语言中,允许把函数或过程像数据那样作为函数或过程的参数来处理。而ALGOL68Simula67Modula-2等语言也设置了类(class)或类似的语法成分。在数据和函数(过程)组成的模块之间由"移入表""移出表"来规定相互间的调用关系。在KanthAhoHopcroftUllman等人的数据结构与算法文献中,明确指出抽象数据类型的概念,这些都是OOP的原始思想。 以面向对象程序设计(OOP)为主要特征的第三阶段,可以认为是程序设计方法学发展的成熟期,公认的第一个面向对象语言是Smalltalk。以类(class)和对象(object)为主要语法成分,从抽象数据类型的思想出发,把数据和代码作为一体封装,如同客观事物的物质存在和它的行为功能形成的一个统一体,这样的对象之间的继承关系及行为描述的多态性,构成了OOP的基本特征。 目前,面向对象设计技术已从方法学的研究领域进入软件产业界的实际开发环境,它已不仅是一种玄妙的理论,而成为程序员必须掌握的技术。 

虽然,Smalltalk最早为人们所接受,有些报导认为这种语言已为许多用户掌握和使用,然而实际的情况是,能够取代C语言,并可以成为主要软件开发语言的只能是C++。 以改良的方式实现语言的升级换代早已不是新鲜事。加强了数据类型概念和过程函数功能的FortranBasic的一些新版本:带有类和对象的Pascal语言(Turbo Pascal 5.5,6.0版本)等都是按照这种方式开发出的新成果。但与C++语言相比,都不能算是成功。 

C++为什么会成为主流语言 面向对象程序设计技术的完美,意味着软件开发技术的成熟,另一方面,软件技术发展到今天,OOP对于它已经不是可有可无的、用来绵上添花的改进措施,而是没有其它选择的唯一出路。 与六、七十年代相比,当今的软件产业可以说已不可同日而语,这种差别,不仅体现在软件产品的数量、品种、规模和功能结构的复杂性上,而且也体现在软件产品本身的内在特征上,程序设计的观念逐渐发生了本质的变化,这种变化使得面向过程的结构化设计方法已经不再适用。 例如,大多数软件产品(包括系统软件和应用软件)都是事件驱动的,程序设计者无法控制事件发生的顺序,换句话说,程序员编程序的概念已经发生变化。现在的编程目标已经不能简单地理解为告诉机器先做什么,然后再做什么,一项软件开发工作,实际上是对于程序员所选择的或自己设计的若干功能模块的组装。所谓组装,主要是规定模块间消息的传送关系,所谓模块的功能,就是程序模块接收、处理和发送消息的特征。显然OOP方法可以说是唯一适用的技术。 另一方面,现代软件由于面对问题的复杂性和对用户界面的方便性要求,具有许多新特征,如窗口、对话框、滚动条等图形用户界面,自动内存管理、模块动态联接、动态数据交换等等都不得不以一种可重用模块的方式为程序员利用,传统的库标准函数的形式已不能解决问题,因为窗口、对话框之类的对象已不可能以标准(带参数)函数的形式来描述,类和对象则是唯一适当的形式,过去C语言丰富而功能强大的库函数是其受到程序开发者欢迎的重要原因,现在,C++语言则以其标准类库(Borland公司的WOLMicrosoft公司的MFC)作为击败其它面向对象语言的手段之一。 

 

http://www.lwinfo.com/uzt/list1/213900.html
http://www.lwinfo.com/uzt/list1/213901.html
http://www.lwinfo.com/uzt/list1/213902.html
http://www.lwinfo.com/uzt/list1/213903.html
http://www.lwinfo.com/uzt/list1/213904.html
http://www.lwinfo.com/uzt/list1/213905.html
http://www.lwinfo.com/uzt/list1/213906.html
http://www.lwinfo.com/uzt/list1/213907.html
http://www.lwinfo.com/uzt/list1/213908.html
http://www.lwinfo.com/uzt/list1/213909.html
http://www.lwinfo.com/uzt/list1/213910.html
http://www.lwinfo.com/uzt/list1/213911.html

 

高级程序设计语言

标签:

原文地址:http://www.cnblogs.com/npxyy/p/4438762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!