Programming paradigms Flashcards
Imperative
Control flow is an explicit sequence of commands
Declarative
Programs state the result you want, not how to get it
Structured
Programs have clean, goto-free, nested control structures
Procedural
Imperative programming with procedure calls
Functional (Applicative)
Computation proceeds by (nested) function calls that avoid any global state
Function-Level (Combinator)
Programs have no variables. No kidding
Object-Oriented
Computation is effected by sending messages to objects; objects have state and behavior
Object-Oriented: Class-based
Objects get their state and behavior based on membership in a class
Object-Oriented: Prototype-based
Objects get their behavior from a prototype object
Event-Driven
Control flow is determined by asynchronous actions (from humans or sensors)
Flow-Driven
Computation is specified by multiple processes communicating over predefined channels
Logic (Rule-based)
Programmer specifies a set of facts and rules, and an engine infers the answers to questions
Constraint
Programmer specifies a set of constraints, and an engine infers the answers to questions
Aspect-Oriented
Programs have cross-cutting concerns applied transparently
Reflective
Programs manipulate their own structures