Evolution of Programming Paradigms


Various programming paradigms are created for trying to solve the software crisis, which is a term used for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could now be tackled. The crisis remains unsolved.


There are four major programming paradigms, and no new major languages, except Java, were created since ’90s. Actually, the programming-language research has come to a dead end because of no breakthroughs since ’80s.

Functional Languages (e.g., Lisp)
It allows programs to be constructed by applying and composing functions. Its function definitions are trees of expressions that each return a value, rather than a sequence of imperative statements which change the state of the program or world. Functions can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can.

f x = if x / 2 > x then g (2 * x) else 42
g x = if x % 1 == 0 then f (g (x + 1)) else h (x - 1)
h x = if x % 1 == 1 then f (x * 2 + 1) else g (x + 1)




      “The saddest aspect of life right now is that science gathers    
      knowledge faster than society gathers wisdom.”    
      ― Isaac Asimov