On Jul 11, 2011, at 5:23 PM, Kelvin Chung wrote:
>>
>> No. The root of the issue here is that you seem to be expecting that in Objective-C++ mode that the two languages are trying to be at parity with each other. It is better to think of the two languages as coexisting, not being tightly integrated or competing for features.
>>
>
> That I do, as I stated in the OP (with regards to "a language unto itself" as opposed to a "glue language"). I'd also like to think that, and correct me if I am wrong, that "just coexisting" makes Objective-C++ as a whole a bit less than the sum of its parts, and making it feel like a "second-rate afterthought" and "generally undesirable", which may have been the intent. Yet, for me I'd prefer using Objective-C++ over using Objective-C or C++ by itself, again for reasons that I'll keep to myself.
I don't think that there is a right or wrong way to look at this, however I'll posit a different perspective. :)
I think that one of the huge advantages that ObjC has (particularly compared to C++) is its simplicity. Bolting a ton of C++ features into ObjC could certainly be done, but it violates the simplicity of Objective-C. Every addition to the language is carefully weighed to make sure that its added cost is worth it.
ARC (as an example of a new feature) is a *subtractive* feature. It removes a bunch of stuff that you had to do, and adds very little to replace it.
While there are certainly people that would like lots and lots of features added to Objective-C (particularly those happy with C++ and ObjC++!), many people would *not* like this to happen.
> In short, I do get the distinct feeling that when people say that "Objective-C++ is a superset of C++ just as much as Objective-C is a superset of C", they are being misled; Objective-C++ really seems like it's defined as the subset of the intersection of two sets rather than a big set that contains two sets.
Again, reasonable people can certainly differ on this. I look at it that ObjC++ is the union of the two feature sets. However, ObjC classes != C++ Classes, which means that you don't get a union of C++ class features on ObjC classes.
Beyond the perspective that you're coming from, keep in mind that there are very real and important design differences between the two languages (what does 'final' mean when you have KVO and runtime subclassing?) that drive many of the surface concerns you see.
-Chris
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Objc-language mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden