Programming Paradigm

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2020 Mar 31 2:1
Editor
Edited
Edited
2025 Oct 9 10:57
Whether something is Declarative or Imperative is a matter of layers. In general purpose programming languages, no language can be completely imperative or declarative. Whether something is imperative or declarative is determined by the framework, root level, or even function definition. However, from a
Simplicity
perspective, if declarative and imperative approaches are interleaved within the same block definition, the system becomes complex. Therefore, proper composition is the way to simple system design.
Black-box abstraction transforms imperative layer to declarative layer. Conventional interfaces maintain declarative to declarative interactions. Execution semantics transform declarative layers into imperative processes. Metalinguistic abstraction transforms imperative layers into imperative ones.
Programming Paradigms
 
 
 

SICP

Example: Mathematical definition of a square root vs. an algorithm that iteratively improves approximations.
  • Declarative knowledge: Defines "what is true" - knowledge that describes what is true
  • Imperative knowledge: Explains "how to execute" - procedural knowledge that shows how to do something
 
 

Recommendations