Four Paradigms
The history of software design and development can be described by this progression of programming paradigms and artifacts:
| Paradigm | Typical Artifacts |
| control-oriented | flowcharts, Fortran, Algol 60 |
| data-oriented | records, Cobol, Pascal |
| object-oriented | classes, Simula, Smalltalk, Java |
| abstraction-oriented | abstract data types, components |
Each of these design paradigms absorbs rather than replaces the earlier paradigms, so object-oriented design is a part of abstraction-oriented design.
Once upon a time, object-oriented design and object-oriented programming were the latest buzz.
Nowadays these are all old, time-tested ideas.