计算机语言与自然语言很相似,自然语言虽然方言很多,但是主体结构几千年来变化很少。近十多年来程序语言发展的成绩主要体现在设计框架和设计工具的改进方面。例如,微软公司的.NET Framework框架中有超过1万个类和10万个方法(子程序)。例如,目前的程序集成开发环境(IDE)包含了无数强大的功能,如指令彩色显示,指令和函数提示,错误提示,自动递进,自动收缩,集成调试器和编译器等。与此相比,程序语言本身的改进并不明显。
在程序语言发展历史中,语言抽象级别不断提高,语言表现力越来越强大.这样就可以用更少的代码完成更多的工作。早期程序员使用汇编语言编程,接着使用面向过程的程序语言(如Pascal、C等),然后发展到面向对象的程序语言(如C++、Java、C#等)。随着因特网的发展,网络动态程序语言(如PHP、Python等)得到了广泛应用,这种趋势目前还在继续发展。
程序语言的主要发展趋势是:声明式编程风格,如Prolog、SQL,、函数式编程等;动态程序语言,如PHP、Python等;以及多核CPU环境下的并行编程,如UPC、Go等。随着程序语言的发展,各种语言之间的边界变得越来越模糊。[1]
指令及指令流程控制
程序由多条语句组成,一个语句就是一条指令(可以包含多个操作)。语句有规定的关键字(命令)和语法结构,程序语言利用串行的方法编写程序语句。语言中的控制指令(如顺序、选择、循环、调用等)可以改变程序的执行流程,用来控制计算机的处理过程。
程序语言基本组成
程序语言虽然千差万别,但是程序语言基本成分不外以下4种:一是数据成分,它用来描述程序中数据的类型,如数值、字符等;二是运算成分,它用来描述程序中所包含的各种运算,如四则运算、逻辑运算等;三是控制成分,它用来控制程序语句的执行流程,如选择、循环、调用等;四是传输成分,用来表达程序中数据的传输,如实参与形参、返回值等。[1]
程序语言的分类方法
程序语言有多种分类方法,大部分程序语言都是算法描述型语言,如C/C++、Java等,还有一部分是数据描述型语言,如HTML等标记语言。按照编程技术难易程度可分为低级语言(机器语言、汇编语言)和高级语言;按照程序语言设计风格可分为命令式语言(过程化语言)、结构化语言、面向对象语言、函数式语言、脚本语言等;按照语言应用领域可分为通用程序语言(GPPL)和专用程序语言(DSL);按照程序执行方式,可分为解释型语言(如JavaScript、Python、Perl、R等),编译型语言(如C/C++等),编译+解释型语言(如Java、PHP等)。