The Big OOPs: Anatomy of a Thirty-Five Year Mistake
1–10 of 193 posts
Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#2Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#3https://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
Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#4The 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
Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#5Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#6Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#7Any way to find out what the 35 year mistake was without being "engaged" for hours on that video?
Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#8Any way to find out what the 35 year mistake was without being "engaged" for hours on that video?
Object oriented programming.
Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#9Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake
#10Any way to find out what the 35 year mistake was without being "engaged" for hours on that video?
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"
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.