History:
1950 - Non-Structured Programming
1951 - Assembly
1958 - Algol
1960 - Structured Programming
Layering: 1 tier with UI, Business Logic, Data Storage
1970 - Procedural / Functional Programming
1970 - Pascal
1972 - C
1979 - Model View Controller
1980 - OOP
Layering: 2 tier. 1st tier with UI, 2nd tier with Business Logic and Data Storage
1980 - C++
1980 - CORBA = Common Object Request Broker Architecture
1986 - Erlang
1987 - Perl
1987 - PAC (Hierarchical Model-View Controller)
1988 - LSP (SOLID)
Layering: 3 tier. 1st tier with UI, 2nd Tier with Business Logic, 3rd tier with Data storage
1991- Message Bus