Quality of Objective-C++ compiler

While digging around on the web to figure out what should be perfectly valid ObjC+ blocks code wouldn’t compile on llvm-gcc 4.2, I ran into the following comment on the quality of the ObjC++ support. Questions:

  1. Was this characterization valid?
  2. Is this characterization of ObjC++ true with the current clang/llvm implementation?

I recommend avoiding Objective-C++ as much as possible. It’s slow to compile, bloated to run (particularly with ARC since it turns on -fobjc-arc-exceptions), buggy in the compiler and the debugger, and mostly a mess in my experience giving the worst of both worlds. C++ is fine. Objective-C is fine. Just keep the interface between them as small as possible.

http://stackoverflow.com/questions/7031540/variable-is-not-a-static-member-of-class

While digging around on the web to figure out what should be perfectly valid ObjC+ blocks code wouldn't compile on llvm-gcc 4.2, I ran into the following comment on the quality of the ObjC++ support. Questions:

1) Was this characterization valid?
2) Is this characterization of ObjC++ true with the current clang/llvm implementation?

This is a comment based on nothing.
For instance, -fobjc-arc-exceptions slow down only the exception throwing because it properly handle the stack unwiding, and it does not slow it down more than enabling exception in any C++ code.

Obj-C++ is a first class language in clang.

<soapbox>I recommend avoiding Objective-C++ as much as possible. It's slow to compile, bloated to run (particularly with ARC since it turns on -fobjc-arc-exceptions), buggy in the compiler and the debugger, and mostly a mess in my experience giving the worst of both worlds. C++ is fine. Objective-C is fine. Just keep the interface between them as small as possible. </soapbox>

objective c - Variable is not a static member of class - Stack Overflow

-- Jean-Daniel

wonderful! thanks.

-James