The more I read about OOP, the more there is a feeling that OOP is understood not only by everyone. Another article is an example .
Here you can paint for a long time the absurdity of the arguments in the above article. But in general, the whole article can be literally crossed out as follows.
With the increasing complexity of software, the need arose for isolating complexity, breaking it apart. Just chop apart does not work, because there will be a problem connecting parts. And then smart people came up with: let's isolate parts so that the external part is important, not how it is arranged inside. Those. don't think about the mechanisms, think about the contracts.
This is what is called OOP, and it is precisely the isolation of complexity that led, in a sense, to revolution, because it became possible to write much more complex programs.
Everything else is transfusion from a sieve, including quotes from well-known and respected people. The problem with the PLO is that they initially thought about one thing, but then the practitioners came and changed everything for their own needs, because programs need to be written not tomorrow or the day after tomorrow, but today. And even better, yesterday.
What the PLO has become today is the result of a misunderstanding of software development goals: fighting complexity . It so happens that the brain does not contain all aspects and parts of the system, we can only keep a small part. Therefore, the struggle with complexity is the driver and motivation to create new paradigms. Moreover, this may be a criterion for the correctness of the choice of paradigm: how simple and understandable the resulting code is.
So, the main thing in programming is not the use of modern or old-fashioned practices, but the correct control of complexity in each part of the system.
[1] Joe Armstrong on Elixir, Erlang, OP and OOP . Here is the initial understanding of OOP, which was later transformed under the influence of C ++ and Java. The original OOP is now called the actor model.
[2] Asynchrony 3: Subject model . How from a practical point of view to combine the PLO and actor model, getting a new paradigm, including the previous ones.
Source: https://habr.com/ru/post/452462/
All Articles