程序设计语言主要可以分为以下几类:
机器语言
使用二进制代码编写,能被计算机直接接受和执行。
特点:执行速度快,但编写复杂,可读性和可移植性差。
示例:0和1组成的二进制指令序列。
汇编语言
比机器语言容易理解,程序不能被机器直接识别,要经过翻译器翻译成机器语言。
特点:使用助记符代替二进制代码,但仍需对计算机架构有深入了解。
示例:ADD代表加法,MOV代表数据传递。
高级语言
更近自然语言,易学易掌握,可读性强,可维护性和可移植性好,但运行速度相对较慢。
需要转换成机器语言,才能被计算机执行。
示例:C、C++、Java、Python、JavaScript等。
低级语言
包括机器语言和汇编语言,与特定的机器有关,功效高,但使用复杂、繁琐、费时、易出差错。
示例:机器语言和汇编语言。
中级语言
可以编程操纵机器的硬件特征但不涉及地址码和操作码。
示例:高级汇编语言、C、FORTH等。
过程式语言
用户可以指明一列可顺序执行的运算,以表示相应的计算过程。
示例:FORTRAN、COBOL、PASCAL等。
非过程式语言
不强调顺序执行,而是通过声明和调用函数或过程来实现计算。
示例:函数式编程语言(LISP、ML)、逻辑式编程语言(Prolog)、关系式编程语言(SQL)等。
交互式语言
具有反映人机交互作用的语言成分,如BASIC等。
示例:BASIC。
非交互式语言
不反映人机交互作用,如FORTRAN、COBOL、ALGOL69、PASCAL、C等。
脚本语言
一种解释型语言,通常用于自动化任务或扩展其他应用程序的功能。
示例:JavaScript、PHP、Perl、Bash等。
领域特定语言(DSL)
针对特定应用领域设计的语言,目标单一。
示例:MATLAB、HTML、CSS等。
函数式编程语言
专注于使用数学函数来表示计算,具有不可变性和缺乏副作用。
示例:Haskell、LISP、ML等。
这些分类方法并不是互斥的,一种程序设计语言可能同时属于多个类别。例如,Python既是一种高级语言,也是一种脚本语言,同时也支持函数式编程。