this post was submitted on 17 Feb 2026
611 points (97.7% liked)
Programmer Humor
29836 readers
521 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Or do as Alan Kay wants and start calling it "Message-Oriented Programming".
"I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea. The big idea is "messaging"."
https://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html
I skimmed that.
So you've got a bunch of message transceivers (aka objects). And the magic is in the message soup.
Yes?
From my understanding, yes. Personally, I've seen so many different definitions of "OOP" (most of which were incoherent), I developed my own definition of what an 'object' is, and just go on with life.
I still get sad when I think about Objective C and how it didn't take off vs C++ just because it had ugly syntax (which becomes beautiful once you understand why it is the way it is)
I’m still mad at Apple for making Swift instead of Objective-C 3.0. It was such a powerful and small language.
C++ has a billion features and Swift is getting more every year.
Objective-C was fast to compile, great in a debugger, and allowed lots of creativity and patching broken system components.
Lots of great software was written with it. CocoaBindings are magical.
Why is it the way it is?
Both C++ and Objective-C aimed to be "C with classes". C++ does it by hijacking existing syntax (struct), Objective-C does it by adding new syntax, while leaving the original minimalism of C untouched.
In fact, it's a strict superset of C, which means it doesn't change anything at all in C, it only appends. So every valid C program is a valid Objective C program (which is not true for C++).
You know how some C programs are valid C++ programs though? Well, those same programs can use Objective C features too, meaning you're able to use them in C++... Meaning you're able to code in "Objective C++" (which is very common for interop purposes)