Watching "The Big OOPs: Anatomy of a Thirty-five-year Mistake" by Casey Muratori.
Casey pointed out that one of the promoters of OOP, Bjarne Stroustrup, used OOP to model a problem where the domain was uniquely suited for that task. The distributed computing that Bjarne wanted to do had computers and processes that could not talk to each other easily. Bjarne also liked it for the type protection and error checking.
This caused him to think that classes should be the "proper primary focus of program design".
Unfortunately, the program that was built on these principles "Simula", came close to disaster due to:
- Build times were really long due to long linking times
- It was hard to modify the program, because recompiling only a part of it took longer than recompiling the entire thing
- The run time was too slow because of the garbage collector, spending 80% of the time in gc even when no garbage needed to be collected.
They rewrote the project in BCPL, which had little type checking.