I began my OS X development by learning Carbon on OS X. Then, I decided to move to Cocoa, because everybody was telling me to do so. I think in order to see better the pros and cons of both APIs
Don't get me wrong here. I love Cocoa. I think the most complete and powerful API the world has ever seen. Class abstraction and manipulation, 'id' generic objects, and the way all this is integrated with Interface Builder continues to amaze me, even after so much time devoted to Cocoa development.
But I think that Carbon should stay. I have seen very little of Objective-C 2.0, but I don't think that it will ever be sufficient to replace another language such as C++. C++ has tons of libraries, and for that reason a developer should not be forced to throw away all those libraries, and to learn a totally new development method. I know, there is Objective C++, but that's not enough, as this is just a desperate move to support C++ with Cocoa.
Developers that develop for a specific platform need to have options. I hope Carbon continues to evolve. The way I see it, Carbon and Cocoa are here to stay. Carbon will evolve dramatically over the next versions of OS X, and will abandon many deprecated technologies and programming concepts that are now used, just as it did with Quickdraw. And, let's not forget one basic thing:
OpenGL, OpenAL, and libraries such as these in general, are not written for Objective C. I find it easier to write a program in OpenGL Carbon using classes, than developing an OpenGL application in Cocoa. Performance in OpenGL Carbon should be better, too, classes with OpenGL objects can be made cleaner and clearer.
The difference between Objective C and C++ is that Objective C is an open world programming language, and C++ is a closed world one. An open world programming language is just like designing the interior of a car. The driver seats, the wheel, etc. But C++ will be used to design the engine compartment of the car. It is more efficient, and provides better low-level management.
Concluding... I think that the world still needs Carbon. Just not in the form that exists in this time. I believe it should be upgraded, enhanced with better programming concepts, and re-designed to compete with Cocoa in areas where Cocoa lacks on functionality. I won't point out what those areas are, I believe many people in here have found some parts of Cocoa that need enhancements, or areas where C++ can perform better than Objective C.