4 ms·
I spent a LOT of time in the late 80s and the 90s wrestling with class hierarchies, coming up with one tower of abstraction after another. So much wasted time;
by kabdib 4y ago
I spent a LOT of time in the late 80s and the 90s wrestling with class hierarchies, coming up with one tower of abstraction after another. So much wasted time; perhaps it didn't help that my vehicles were C++ and Java, but I think that I would have fared just as well in any other OOPy language.
What I got as a side-effect was a bunch of re-written code. And I wondered:
Maybe OOP is a terrible paradigm. Maybe the designs that come out of it are so awful that it causes people to rewrite code, over and over. Re-examined systems are often better than first attempts. Once you reimplement something five or six times, you've probably explored most of the problem space and are pretty good at it. It's even likely that you are thoroughly sick of the project and just want to get the stupid thing done and shipped. (Yeah, your PMs and entire management chain just smiled behind your back).
In other words, it's Brook's "plan to throw one away, you will anyway" in action, while telling your boss that you had to rewrite your framework again because it didn't handle the flightless, swimming bird scenarios.