[HN Gopher] The Big OOPs: Anatomy of a Thirty-Five Year Mistake
___________________________________________________________________
The Big OOPs: Anatomy of a Thirty-Five Year Mistake
https://www.youtube.com/watch?v=wo84LFzx5nI
Author : SerCe
Score : 60 points
Date : 2025-07-19 03:23 UTC (4 days ago)
(HTM) web link (www.computerenhance.com)
(TXT) w3m dump (www.computerenhance.com)
| Rochus wrote:
| Entertaining. The presenter obviously doesn't like the class
| hierarchy to correspond to the domain model. He seems to think
| that this was an essential feature of OOP, supported by some
| quotations by Smalltalk exponents. But not even the Smalltalk
| world could agree on what OOP actually is (just compare the
| statements by Kay with the actual architecture of Smalltalk-76ff)
| and as quickly as Smalltalk lost its significance, there is no
| need to mention it further. I would rather look at a reputable
| industry organization such as IEEE, which even publishes its own
| standards and best practices, what OOP is about. E.g. the OOP
| Milestone (see https://ethw.org/Milestones:Object-
| Oriented_Programming,_196...) which names Simula 67 the first OO
| language, specifies OO as " _the combination of three main
| features: 1) encapsulation of data and code 2) inheritance and
| late binding 3) dynamic object generation._ " No mention of the
| class hierarchy should correspond to the domain model. So maybe
| we should just not mix up a programming paradigm with how it is
| used by some folks in practice? The fact that the loudest
| proponents of a paradigm are not usually those who apply it in
| practice remains true even today. Takes far less than 2.5 hours
| to state.
| asa400 wrote:
| He literally gives extensive primary source citations to show
| that the originators of OOP presented this class-domain
| correspondence as the correct way to think about and do OOP.
| Bjarne Stroustrup is not just some random guy.
| t420mom wrote:
| Is it fair to blame all of OOP for C++?
| lioeters wrote:
| 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 wrote:
| And here: https://news.ycombinator.com/item?id=44603205
| nottorp wrote:
| Any way to find out what the 35 year mistake was without being
| "engaged" for hours on that video?
| isotropy wrote:
| 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 wrote:
| 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.
| mariodiana wrote:
| Is Objective-C discussed at all?
| tmp10423288442 wrote:
| Only as a brief aside (don't have the timestamp right
| now) to talking about Smalltalk, which he mostly
| discusses to argue that Smalltalk was not different from
| C++ in seeking (most of the time) to model programs in
| terms of static hierarchies (according to the primary
| source documentation from the time of Smalltalk's
| design):
|
| > And another thing is if you look at the other branch,
|
| > the branch that I'm not really covering very much
|
| > in this talk, because again,
|
| > we don't program in small talk these days, right?
|
| > The closest thing you would get
|
| > is maybe something like Objective-C.
|
| > If there's some people out there using Objective-C,
|
| > you know, like Apple was using that for a little while,
|
| > so Objective-C kind of came
|
| > from a small talk background as well.
|
| Objective-C is basically Smalltalk retrofitted onto C,
| even more than C++ was Simula retrofitted onto C (before
| C++ gained template metaprogramming and more modern
| paradigms), so it makes sense that Muratori doesn't go
| much into it, given that he doesn't discuss Smalltalk
| much.
| Jtsummers wrote:
| [delayed]
| lproven wrote:
| I don't know, but given the page, I think it is OOPS.
|
| Object oriented programming.
| ocrow wrote:
| It's more specific than that. See sibling comment
| lproven wrote:
| Is there a script or transcript anywhere, for those of us who can
| read 10x faster than it is possible to understand speech?
| cma wrote:
| About every video on YouTube has a transcript, usually a button
| at the bottom of the description.
| lproven wrote:
| No help. It's video speed.
|
| I can read at several thousand words a minute. So I need the
| whole transcript in one shot.
|
| Then I can read it in 10 or 15 minutes or so, and decide if
| it's worth watching a 2 hour plus video. The answer is almost
| always "no".
| veggieroll wrote:
| Use yt-dlp to download the transcript.
| zahlman wrote:
| A few lines of Javascript in the console can copy that to
| the clipboard for you. Maybe someone's packaged that up
| already. (It's on my todo list to look around...)
| cma wrote:
| Not the closed caption button. In the bottom of the
| description there is "show transcript" which gives a
| scrollable transcript.
| layer8 wrote:
| https://www.youtube-transcript.io/videos?id=wo84LFzx5nI
| Jach wrote:
| I had whisper make a transcript and skimmed some but I ended up
| watching the talk at ~1.5x speed in the end anyway.
| https://pastebin.com/EngTq9ZA If you want the timestamps kept
| in I can paste that too.
| em-bee wrote:
| the video does a deep dive into the history of OOP which is
| very interesting if you are into that sort of thing.
| medmedsalem wrote:
| Fri fir
___________________________________________________________________
(page generated 2025-07-23 23:00 UTC)