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