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”.”
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)
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)
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 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)
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)