计算机有哪些编程语言_计算机编程语言如何分类计算机编程语言分类第一代机器语言机器语言是由二进制0、1代码指令构成,不同的CPU具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。第二代汇编语言汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。第三代高级语言高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。第四代非过程化语言4GL是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。数据库查询和应用程序生成器是4GL的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的操作。用户只需将要查找的内容在什么地方、据什么根条件进行查找等信息告诉SQL,SQL将自动完成查找过程。应用程序生成器则是根据用户的需求“自动生成”满足需求的高级语言程序。真正的第四代程序设计语言应该说还没有出现。所谓的第四代语言大多是指基于某种语言环境上具有4GL特征的软件工具产品,SystemZ、如PowerBuilder、FOCUS等。第四代程序设计语言是面向应用,为最终用户设计的一类程序设计语言。它具有缩短应用开发过程、降低维护代价、最大限度地减少调试过程中出现的问题以及对用户友好等优点。程序设计语言分类一、从应用角度分类从应用角度来看,高级语言可以分为基础语言、结构化语言和专用语言。(1)基础语言基础语言也称通用语言。它历史悠久,流传很广,有大量的已开发的软件库,拥有众多的用户,为人们所熟悉和接受。属于这类语言的有FORTRAN、COBOL、BASIC、ALGOL等。FORTRAN语言是目前国际上广为流行、也是使用得最早的一种高级语言,从20世纪90年代起,在工程与科学计算中一直占有重要地位,备受科技人员的欢迎。BASIC语言是在20世纪60年代初为适应分时系统而研制的一种交互式语言,可用于一般的数值计算与事务处理。BASIC语言结构简单,易学易用,并且具有交互能力,成为许多初学者学习程序设计的入门语言。(2)结构化语言20世纪70年代以来,结构化程序设计和软件工程的思想日益为人们所接受和欣赏。在它们的影响下,先后出现了一些很有影响的结构化语言,这些结构化语言直接支持结构化的控制结构,具有很强的过程结构和数据结构能力。PASCAL、C、Ada语言就是它们的突出代表。PASCAL语言是第一个系统地体现结构化程序设计概念的现代高级语言,软件开发的最初目标是把它作为结构化程序设计的教学工具。由于它模块清晰、控制结构完备、有丰富的数据类型和数据结构、语言表达能力强、移植容易,不仅被国内外许多高等院校定为教学语言,而且在科学计算、数据处理及系统软件开发中都有较广泛的应用。C语言功能丰富,表达能力强,有丰富的运算符和数据类型,使用灵活方便,应用面广,移植能力强,编译质量高,目标程序效率高,具有高级语言的优点。同时,C语言还具有低级语言的许多特点,如允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作等。用C语言编译程序产生的目标程序,其质量可以与汇编语言产生的目标程序相媲美,具有“可移植的汇编语言”的美称,成为编写应用软件、操作系统和编译程序的重要语言之一。(3)专用语言是为某种特殊应用而专门设计的语言,通常具有特殊的语法形式。一般来说,这种语言的应用范围狭窄,移植性和可维护性不如结构化程序设计语言。随着时间的发展,被使用的专业语言已有数百种,应用比较广泛的有APL语言、Forth语言、LISP语言。二、从客观系统的描述分类从描述客观系统来看,程序设计语言可以分为面向过程语言和面向对象语言。(1)面向过程语言以“数据结构+算法”程序设计范式构成的程序设计语言,称为面向过程语言。前面介绍的程序设计语言大多为面向过程语言。(2)面向对象语言以“对象+消息”程序设计范式构成的程序设计语言,称为面向对象语言。比较流行的面向对象语言有Delphi、VisualBasic、Java、C++等。Delphi语言具有可视化开发环境,提供面向对象的编程方法,可以设计各种具有Windows内格的应用程序(如数据库应用系统、通信软件和三维虚拟现实等),也可以开发多媒体应用系统。VisualBasic语言简称VB,是为开发应用程序而提供的开发环境与工具。它具有很好的图形用户界面,采用面向对象和事件驱动的新机制,把过程化和结构化编程集合在一起。它在应用程序开发中的图形化构思,无需编写任何程序,就可以方便地创建应用程序界面,且与Windows界面非常相似,甚至是一致的。Java语言是一种面向对象的、不依赖于特定平台的程序设计语言,简单、可靠、可编译、可扩展、多线程、结构中立、类型显示说明、动态存储管理、易于理解,是一种理想的、用于开发Internet应用软件的程序设计语言。程序设计语言的特性程序设计语言具有心理工程及技术等特性。(1)心理特性:歧义性、简洁性、局部性、顺序性、传统性。(2)工程特性:可移植性,开发工具的可利用性,软件的可重用性、可维护性。(3)技术特性:支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。