Ugh! This huge crack is forever threatening the stability of precious Inheritance pillar.
Goodbye, Object Oriented Programming
Charles Scalfani

Isn’t this true for any core-reuse paradigm? Or maybe you can give an example of when a function can be re-used and if internal implementation got changed in a way like this one did you won’t get screwed? E.g. if you have a function that accepts a function:


function add()

function addAll(add)

export { addAll }


and then in your code you are dependent on `addAll()` and passing your custom `add()` function you would get same result. I would not blame OOP here, the problem is deeper, it’s that you are providing a piece of implementation (a function) that is going to be used in unpredictable manner by another function. Which is pretty common pattern in functional languages. I think, breaking changes are possible in both paradigms and if it’s a 3rd party lib you can lock down the version, so far I am not sure there is a better alternative.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.