In fact, I'd go so far as to say that classes not being final or sealed (C#) by default is another failure to set sensible defaults, akin to "everything is mutable unless explicitly marked const".
Properly designing classes for inheritance takes proactive care and is, in my experience, almost never done unless the author has been forced to by external forces (through APIs or agreements with other developers).
For various people, some of that flipped back, and they now record voice messages to send them through e.g. WhatsApp.
My percieved explanation for this is that most of them can't be bothered to type a message but are still very happy to waste the recipient's time. Yes, I'm not thrilled about it.
OTOH, at least these messages are still more asynchronous and less interrupting than a phone call. But the inability to skim them still bothers me to no end.
You write "wherever possible", but: Have you ever seen the beancounting itself having been under scrutiny?
I'd wager a big part of it is also the same politics based asymmetry that's visible everywhere; like nobody ever got fired for buying IBM or people only get credit for managing a crisis, not preventing it in the first place.
If I can add to that: A precursor to both of those would be the precision lathe, from which eventually two of the most crucial prerequisites for the industrialization stem: The ability to a) produce machine parts with a high degree of precision catered for their purpose and/or context, and b) the ability to develop widely established norms these parts can adhere to (or, if you will, by which they could be judged).
The steam engine wouldn't have had its impact without the possibility for e.g. precision engineered pistons, and any industrialization would have been severely impaired without the possibilities that the distributed production of exchangeable parts (even as simple as screws, nuts and bolts) to established norms came with.
Properly designing classes for inheritance takes proactive care and is, in my experience, almost never done unless the author has been forced to by external forces (through APIs or agreements with other developers).
reply