“Nevertheless, I consider OOP as an aspect of programming in the large that is, as an aspect that logically follows programming in the small and requires sound knowledge of procedural programming.”
Tip: press → for another quote, C to copy, S to share.
Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely demonstrated.
But active programming consists of the design of new programs, rather than contemplation of old programs.
A good designer must rely on experience, on precise, logic thinking and on pedantic exactness. No magic will do.
In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever.