Deconstructing Inheritance

Deconstructing Inheritance

Another article I wrote appears in Overload: Deconstructing Inheritance.

The article tries to perform a critique of Inheritance as it is present in mainstream OOP. We look from multiple points of views on the Inheritance relationship, and we show that, at a closer inspection, it doesn’t reach up to the promises it makes. The article touches the simple problem of the Rectangle and Square, it discusses the parallel with the is-a relationship, and it shows how the Liskov Substitution Principle runs against inheritance.

read more

How many threads?

How many threads?

You have an application. You add threads to improve throughput. But how many threads do you add? Do you go for a fixed number, or you compute this dynamically?

We try to articulate an answer in this post.

read more

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