Programming
Primitive programming
Sequential programming
Procedural programming
Declarative and Imperative are actually high-level categories of programming paradigms, and most paradigms fit under one of these. Let’s integrate them into the evolution story :
Two Main Branches
1. Imperative Paradigm (Step-by-step how to do things)
You tell the computer exactly how to perform tasks.
Examples : Procedural, Structured, Object-Oriented, Event-Driven, Concurrent.
Languages : Fortran, C, Java, Python (in imperative style).
2. Declarative Paradigm (Describe what you want, not how to do it)
Focuses on the desired result, not the steps.
Examples : Functional, Logic, Database query languages, Configuration languages.
Languages : SQL, Prolog, HTML, Haskell.
Where They Fit in Evolution
Machine & Assembly (Imperative) – telling the CPU exactly what to do.
Procedural / Structured (Imperative) – more human-friendly but still step-by-step.
Object-Oriented (Imperative) – organizing steps inside “objects”.
Event-Driven (Imperative) – still gives explicit steps, but triggered by events.
Functional (Declarative) – describe relationships and transformations (no side effects).
Logic Programming (Declarative) – describe facts and rules (Prolog).
SQL & DSLs (Declarative) – describe data and desired output.