按对机器依赖程度
1. 低级语言 面向机器,用机器直接提供的地址码、操作码语义概念编程。机器语言和汇编语言,宏汇编虽然抽象层次逐渐提高仍属低级语言的汇编语言(如8088汇编,6800汇编)。 2. 高级语言 独立于机器,用用语言提供的语义概念和支持的范型编程。如命令式(PASCAL、C、ADA)、函数式(LISP、M)、逻辑式(PROLOG)、关系式(DBASE)、对象式(SMALKTALK、C++)。
3. 中级语言 可以编程操纵机器的硬件特征但不涉及地址码和操作码。如字位运算,取地址,设中断,开辟空间、无用单元发回,用寄存器加速等。高级汇编,C,FORTH属此例。
按应用领域
1. 商用语言 处理日常商业事务。有良好文字、报表功能,数据量大和数据库密切相关。代表语言是COBOL,RPG,ADA。
2. 科学计算 数值计算量大,支持高精度、向量、矩阵运算。代表语言有FORTRAN、APL、ADA。
3. 系统程序设计 支持与硬件相关的低级操作,编写系统程序(操作系统,编译、解释器,数据库管理系统,网络接口程序)的语言,如C、ADA、BLISS、FOTH。
4. 模拟语言 模拟应用主要是以时间为进程模拟客观世界的状态变化。分离事件模拟和连续模拟。 代表语言有GPSS、SLAM、SIMULA 67。
5. 正文处理 主要操作对象是自然语言中字符(英文),很方便产生报告、表格,代表语言是SMOBOL。
6. 实时处理 其特点是能根据外部信号控制不同的程序 并发执行。这 语言有并发PASCAL 、并发 C、ADA、MESA、OCCAM、FORTHRAN-90、LINDA。用于通讯领域的程序设计语言都要有实时功能,如GYPSY,CHILL。 7. 嵌入式应用 在一个大型机器(宿主机)上为小机器(或单片机)开发程序,经调试后将它译为小机器(目标机)的目标码在小机器上运行叫嵌入式应用。如机载、弹载计算机。这类程序一般都有实时要求,并近于系统设计。代表语言ADA。
8. 人工智能应用 这类程序是对人们的智力行为仿真。包括自然语言理解、定理证明、模式识别、机器人、各种专家系统。这类语言要能描述知识、并根据推理推断合理的结论。在符号运算上作谓词演算或λ演算是其推理运算的基本方式。代表语言有LISP和PROLOG。
9. 查询和命令语言 这是一类新兴的语言,是各种早期系统程序简单的用户命令的发展。数据库语言DBASE、SQL。操作系统UNIX的SHELL语言为其代表。现代软件环境的
用户界面语言更是丰富多彩使用方便。其特点是与程序员的交互性和非过程性。
10. 教学语言 为了培训程序员或使学生很快入门,人们设计了教学用语言。例如,过程程序设计有BASIC,结构化程序设计有PASCAL,青少年启蒙有LOGO。但往往由于对程序语言的作用没有全面理解,初学者到一门启蒙语言后就企图用它作软件设计,这是十分有害的。
11. 打印专用 图文并用在各种打印机(包括激光)打印字体优美的报告、图形、图象。代表语言有POSTSCRIPT、TEX、LATEX。
12. 专用于某类数据结构。
串处理 专用于处理正文字符串,抽取字符串,引用串函数,串形式匹配,回溯与穷举查找。代表语言有SNOBOL、ICON。
数组处理 构造和操纵矩阵,可整体操纵数组,代表语言有APL、VISI CALE,LOTUS。
表处理 支持表的各种切割、连接操作。直接表I/O、动态堆栈分配。代表语言有LISP,T、SCHEME、MIRANDS。 13. 数据库应用
数据库专用,可完成简单应用,复杂应用要嵌入通用程序设计语言,如SQL、DBASE。
数据库程序设计语言 既支持一般应用操纵临时对象(程
序终止即消失),也可操纵数据库中持久对象,且可混合在一个程序中,如C++、C02、OPAL。
按实现计算方式
编译型语言 用户将源程序一次写好,提交编译,运行编译得目标码模块。再通过连接编辑、加载成为内存中可执行目标码程序。再次运行目标码,读入数据得出计算结果。大多数高级程序设计语言属于这一类。
解释型语言 系统的解释程序对源程序直接加工。一边 ,一边执行。不形成再次调用它执行的目标码文件。大多数交互式(INTERACTIVE)语言、查询命令语言采用解释型实现。典型的例子有BASIC,LISP,PROLOG,APL,SHELL,SQL。 它们的特点是所用 空间小,反映快,但运行效率慢。
按使用方式
交互式语言 程序在执行过程中程序可陆续添加和修改,以对话方式实现计算。一般是解释型的。由于程序设计支持环境的发展,交互式语言可方便为用户调用各环境工具,有日益发展的趋势。
非交互式语言 多数编译型语言的目标码文件执行期间,程序员不能干预,只能在执行完毕再修改。
按程序设计范型
单范型语言 范型即程序组织和实现计算的模式
命令式语言 计算实现的模型如果按冯·诺依曼原理强制改变内存中的值叫命令(或译指令、强制IMPERATIVE)程序状态的变化没有一定规则,程序逻辑大了就很难查错,很难调试,不易证明其正确。组织程序和范型即:算法过程+数据结构。到目前软件开发主导语言仍是命令式语言。近代命令式语言增加了模块强制类型检查、抽象数据类型、类属等机制可开发较安全、可靠的大程序。
面向对象语言 将数据和其上的操作封装于对象中,对象归属于类对象,类对象有继承,实例对象上的操作可动态决定。程序是相互发消息通信的对象集合。代表语言有SIMULA-67、SMALLTALK。
数据流语言 传统过程语言中以程序控制保证程序功能实现,数据是分散的,为控制流服务。数据流语言以数据对象为核心加工过程为其服务。藉以提高运算速度。这种语言的程序设计方法学模型是基于数据流。数据流语言有VAL和EUC LID。 函数式语言 程序对象是函数及高阶函数,组织程序的范型是函数定义及引用。代表语言有LISP FP ML MIRANDA。 逻辑式语言 程序对象是常量,变量和谓词、组织程序的范型是定义谓词的公式,并构造满足谓词的事实库和约束关系库。代表语言有PROLOG。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库程序设计语言的历史回顾与分类(6)在线全文阅读。
相关推荐: