My reading journal: Clean Architecture - Chapter 3: Paradigm overview
This chapter is exactly what its title says: an overview of programming paradigms and what is it. The author presents three programming paradigms: structural, object-oriented and functional and gives a short summarize about each one.
The first was the structural paradigm, discovered by Edsger Wybe in 1968 and showed us that the indiscriminate use of
goto statements could be harmful to program structure, replacing it with
do/while/until. This paradigm, as the author said, imposes a discipline on direct transfer of control.
The next one was the object-oriented paradigm, extremely popular today, what has transformed the way of memory allocation, function to constructor, local variables to attributes and nested functions to methods. To summarize this paradigm, he says it imposes on the programmer the discipline of indirect transfer of control.
The last one, the oldest, but highly comment on days, was the functional paradigm. It is based on the lambda calculus, invented by Alonzo Church in 1936 and its main characteristic is the immutability, what says that values and symbols cannot change. As the author did with each one of the paradigms, he says that the functional paradigm imposes discipline upon assignment due to the immutability of the paradigm. We can observe, and the author also says it, that paradigms cited just removed some capabilities from the programmer, saying what don’t do, more than tell us what to do.
To conclude the chapter, Uncle Bob says that probably these three paradigms will be the only we will see because there are no more capabilities what can be removed from the programmer and the time since the last paradigm invention.
This was a short chapter, it just shows us the programming paradigms and explain what each one is with a short summarize of each one.
After a long time without blogging here, I will read the book from the beginning, chapter by chapter, and post me summarize again, helping me in future revisions and who judge this content useful.