首先请注意,目前使用的许多编程语言(尤其是“高级语言”)都是多范式的。这意味着您永远不会构建纯粹的 OOP 程序(除非您使用 Smalltalk 或 Eiffel 来构建您的大型项目)。
以PHP为例:
- 具有许多 OOP 元素(从版本 5 开始)
- 以前主要是程序性的
- 具有声明式编程的元素(例如数组函数)
- 实现了函数式编程的许多元素(从 5.4 版开始)
基本上,PHP 将许多不同的范式粘合在一起(并且本身就是一种“粘合语言”)。
此外,Java 实现了许多并非来自面向对象范式的概念(例如,来自函数式编程)。
在 Wikipedia 中按类型查看编程语言列表:https ://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Imperative_languages (不是 100% 准确)。
函数式编程(声明式编程的子集)
- Wideley 在实践中使用(它成为PHP等粘合语言的一部分,Java和许多其他语言都实现了函数式编程的概念)
- 许多想法源于LISP,绝对值得一看
- 您可以构建整个应用程序,例如使用 Haskell,因此它可以“替换”OOP
程序化编程
- C(作为一种主要的程序语言)仍然是最广泛使用的语言之一
- 许多现代胶水语言在一开始都是程序性的
- 仍然有许多程序主要是程序性的(所以如果你想要它可以“替换”OOP)
逻辑编程
- 最突出的例子是 Prolog。这用于受益于基于规则的逻辑查询的特定任务
- 在构建大型项目方面不能“替代”OOP,但可以在其他方面替代它
一般的声明性/特定领域语言
- 在您的项目中使用 SQL?然后它们不是纯粹的OOP,SQL本质上是声明性的。
- 许多特定领域的语言(如 CSS)是声明性的
一般的命令式编程
这个列表并不完整,它只是给出一个想法。请注意,在编写大型应用程序时,您通常会使用许多不同的范例,甚至您使用的每种语言都在实现多个范例。
在建模数据时,OOP 通常被认为是构建大型复杂关系的好选择。它并不总是适用于许多其他任务的范例。