除了传统按照编程语言代码风格,机器语言、汇编语言和高级语言,也有后来面向过程和面向对象风格差异,还可以按编程模式区分。
编程模式
- 命令式语言
- 函数式语言
- 逻辑式语言
命令式语言
- 比如常见的C/C++/Java/C#/Python/JavaScript/Go等。面向过程和面向对象都属于此分类。
- 特别提到AOP编程,全称Aspect Oriented Programming,意为面向切面编程,本质也是命令行语言。它是一种通过预编译方式和运行期间动态插入实现更方便的程序技术,Spring是AOP的典型代表。
函数式语言
- 比如Lisp/ML/OCaml/Scheme/Haskell/F#/Rust等.
逻辑式语言
- 比如Prolog语言。
万事都不绝对,函数式语言同样有命令式语言的特点,命令式语言也有在加入lambda表达式之类的风格。
其他语言和分类
- C系语言:C/ObjC/C++/Java/C#.
- SNOBOL是一门面向字符串的编程语言,语法"怪异".