OOP Is not Essential

OOP Is not Essential

A new article of mine appeared in Overload: OOP Is not Essential.

Starting from a tweet from Grady Booch, the article claims that OOP is not essential in building (complex) software systems. It covers multiple meanings of the word “essential”, and it also covers the features of OOP and shows that there is nothing essential in there. The true weapon of fighting complexity is decomposition, but OOP isn’t the only alternative there.

read more

Golden mean in software engineering

Golden mean in software engineering

People often talk about modularity in software design, about conquering complexity, about reducing coupling and about decomposition. But often those discussions revolve around some concrete examples. Although this is generally a good thing, there is always the question of “does it also apply to my case?” We should also be looking at this from a more abstract way, to approach the essence of things.

While this blog post is far from an exposition of the essence of these things, it attempts to start an investigation in this direction. Even in its abstract form, it can be useful to draw some practical conclusions. But more importantly, it is a starting point for having more detailed discussions on taming complexity.

read more