18

我从高中开始学习 java 和 python,我想我只是一直在学习 OOP,我的问题是除了 OOP 之外还有哪些其他编程范式或编程语言类型?

4

5 回答 5

33

“相反”并不是一个很好的表达方式。民主的“对立面”是什么?OOP 是一种范式——一种看待编程问题的方式。

四种主要的编码范例是:

  1. 函数式(将程序视为数学公式)
  2. 命令式(程序是计算机的一系列指令)
  3. 逻辑(模型信息和该信息之间的关系),和
  4. OOP(模型对象以及它如何与其他数据交互)

http://www.cs.aau.dk/~normark/prog3-03/html/notes/paradigms_themes-paradigm-overview-section.html#paradigms_logic-paradigm-overview_title_1

到目前为止,逻辑是最不同的,你必须跳过很多圈才能解决逻辑编程中的一些问题。其他三个都解决相同的问题,但方法不同。

于 2011-06-09T15:22:30.530 回答
5

过程式编程是使用的其他形式之一。

http://en.wikipedia.org/wiki/Procedural_programming

于 2011-06-09T15:17:58.307 回答
2

哪有这回事。OOP 是一个建立在过程式编程之上的概念,没有对立面,而是可以选择是否使用 OO 编写。

于 2011-06-09T15:19:33.420 回答
1

这些答案都是错误的......这是一个非常好的问题......答案是......“AOP” - 即完全基于“算法”的“面向算法的编程”,它是最核心的这个概念——在 AOP 中,“数据”或“对象”或“对象”只是“传递给算法”——即算法完全为王(它“知道”如何处理数据)——数据携带围绕“无”。

事实上,“我们”(在 Inferix)认为 OOP 是一条死胡同!

AOP 是一种更好的现实模型——OOP 适用于“屏幕上的图像”和“数据处理”,但它不能封装智能——因为“关系、动态和智能”并不是它的核心!

所以我们认为“AI Entities”(即将推出)将只使用 AOP!

实际上,Algol60、Coral66 和 Inferix-MTR 是 AOP 语言的示例——Algol60 变成了 Pascal 和 Ada 之类的——而这些只是变得越来越 OOP(例如 Delphi)!

“键入”值的开始标志着 AOP 的结束!

但是:MTR 仍然是一种严格的 AOP 语言(但不幸的是,目前它是为 AI 实体使用而不是人类设计的)。

您可以将 AOP 视为一种严格“禁止”输入数据元素并且只关注“信号”的“值”的语言。

于 2013-01-21T23:14:02.433 回答
1

有几个,但我会说函数式编程是最相反的。

http://en.wikipedia.org/wiki/Functional_programming

于 2011-06-09T15:18:01.957 回答