1.4.2 程序设计语言
程序设计语言是用于书写计算机程序的语言。语言的基础是一组记号和一组规则,根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。
自20世纪60年代以来,世界上公布的程序设计语言已有上千种之多,但是只有很小一部分得到了广泛的应用。从发展历程来看,程序设计语言可以分为4代。
1.第一代机器语言
机器语言是由二进制0、1代码指令构成的,不同的CPU(中央处理器)具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。
2.第二代汇编语言
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口、汇编程序翻译成机器语言程序的效率高。从软件工程角度来看,只有在高级语言不能满足设计要求或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才会被使用。
3.第三代高级语言
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言、概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用、通用性强、应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述这两个方面对其进一步分类。
4.第四代非过程化语言
4GL(第四代语言)是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。数据库查询和应用程序生成器是4GL的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的操作。用户只需将要查找的内容在什么地方、根据什么条件查找等信息告诉SQL,SQL将自动完成查找过程。应用程序生成器则是根据用户的需求“自动生成”满足需求的程序。