我正在寻找一个完整且可信的图表,其中应包含“所有”编程范例(OOP,AOP以及可能并行,命令式,函数式,声明式等)。
编辑:
已经-2和3个关闭请求,没有任何理由。
如果您对这个问题不感兴趣并且没有理由不赞成,请跳过它。或提供原因。单击箭头很容易。表达自己似乎更困难。
编辑2:
在enter link description here上,您可以在右侧看到一个“编程范例”,其中包含以下数据:
Action
Agent-oriented
Aspect-oriented
Automata-based
Component-based
Flow-based
Pipelined
Concatenative
Concurrent computing
Relativistic programming
Data-driven
Declarative (contrast: Imperative)
Constraint
Dataflow
Cell-oriented (spreadsheets)
Reactive
Intensional
Functional
Logic
Abductive logic
Answer set
Constraint logic
Functional logic
Inductive logic
End-user programming
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level (contrast: Value-level)
Generic
Imperative (contrast: Declarative)
Procedural
Language-oriented
Discipline-specific
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Reflective
Attribute-oriented
Template
Policy-based
Non-structured (contrast: Structured)
Array
Nondeterministic
Parallel computing
Process-oriented
Programming in the large and small
Semantic
Structured (contrast: Non-structured)
Modular (contrast: Monolithic)
Object-oriented
By separation of concerns:
Aspect-oriented
Role-oriented
Subject-oriented
Class-based
Prototype-based
Recursive
Value-level (contrast: Function-level)
“编程范例”的表示形式是完全线性的,并且没有显示出各种范例是如何相互衍生的,而这正是我希望看到的。
最佳答案
彼得·范·罗伊(Peter Van Roy)在他的《计算机编程的概念,技术和模型》中有this diagram,该书显示了各种语言内核之间的关系。我认为这是一个非常有趣的图表,但是就像所有尝试将语言整合为“范例”一样,您都应该一丁点儿。语言的某些方面并没有很好地划分为范例,尚不清楚进行这种区分是否有益。
我还建议Shriram Krishnamurthi撰写的this article,为什么“范式”不再有用。