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