The Big Oops: Anatomy of a Thirty-Five Year Mistake

31 SerCe 9 7/19/2025, 3:23:41 AM computerenhance.com ↗

Comments (9)

lproven · 4h ago
Is there a script or transcript anywhere, for those of us who can read 10x faster than it is possible to understand speech?
cma · 1h ago
About every video on YouTube has a transcript, usually a button at the bottom of the description.
lioeters · 9h ago
The presentation was recently discussed at:

https://news.ycombinator.com/item?id=44596554 [video] (37 comments)

This current posted link is an article by Casey Muratori with supplementary material on topics to explore further.

- Early History of Smalltalk

- History of C++

- Development of the Simula Languages

- Origins of the APT Language for Automatically Programmed Tools

Rochus · 8h ago
nottorp · 4h ago
Any way to find out what the 35 year mistake was without being "engaged" for hours on that video?
isotropy · 4h ago
OOPs = "object-oriented programming", BUT it's a more restrained and thoughtful complaint than just "objects suck" or "inheritance sucks". He cabins it pretty clearly at 11:00 minutes in: "compile-time hierarchy of encapsulation that matches the domain model was a mistake"
ocrow · 3h ago
To unpack that a little, he looks to the writings of the early developers of object oriented programming and identifies the ways this assumption became established. People like Bjarne Stroustrup (developer of C++) took on and promulgated the view that the inheritance hierarchy of classes in an object oriented system can be or should be a literal instantiation of the types of objects from the domain model (e.g. different types of shapes in a drawing program).

This is a mistake is because it puts the broad-scale modularization boundaries of a system in the wrong places and makes the system brittle and inflexible. A better approach is one where large scale system boundaries fall along computational capability lines, as exemplified by modern Entity Component Systems. Class hierarchies that rigidly encode domain categorizations don't make for flexible systems.

Some of the earliest writers on object encapsulation, e.g. Tony Hoare, Doug Ross, understood this, but later language creators and promoters missed some of the subtleties of their writings and left us with a poor version of object-oriented programming as the accepted default.

lproven · 4h ago
I don't know, but given the page, I think it is OOPS.

Object oriented programming.

ocrow · 4h ago
It's more specific than that. See sibling comment