Lecture 2
Lecture 2
Lecture 2
Overview Of Programming Paradigms
Clean Architecture
A CRAFTSMAN’S
GUIDE TO SOFTWARE
STRUCTURE AND
DESIGN
Lesson’s objectives
• Structured Programming
• Functional Programming
• Object-Oriented Programming
PROGRAMMING PARADIGMS
• In 1938, Alan Turing laid the foundations of what was to become
computer programming
• He was not the first to conceive of a programmable machine, but he
was the first to understand that programs were simply data
• By 1945, Turing was writing real programs on real computers in code
that we would recognize
• Those programs used loops, branches, assignment, subroutines,
stacks, and other familiar structures
• Turing’s language was binary. Martin, R.C. (2017).
PROGRAMMING PARADIGMS [2]
• Since those days, a number of revolutions in programming have
occurred.
• First, in the late 1940s, came assemblers.
• In 1951, Grace Hopper invented A0, the first compiler. In fact, she
coined the term compiler.
• Fortran was invented in 1953
• What followed was an unceasing flood of new programming
languages—COBOL, PL/1, SNOBOL, C, Pascal, C++, Java, ad infinitum.
PROGRAMMING PARADIGMS [3]
• Another, probably more significant, revolution was in programming
paradigms.
• Paradigms are ways of programming, relatively unrelated to
languages
• A paradigm tells you which programming structures to use, and when
to use them.