Re: [Q] COM and dynamic link library?
Re: [Q] COM and dynamic link library?
- Subject: Re: [Q] COM and dynamic link library?
- From: Erik Buck <email@hidden>
- Date: Wed, 19 Apr 2006 07:19:06 -0700 (PDT)
>Objective-C does not solve the version problem directly. The versioning
>problem is simply how to coordinate the interface that the plug-in uses with
>the interface that the host supports as either the plug-in or the host
>application (or both) are updated and improved.
Objective-C the language does not solve the versioning problem, but Cocoa the framework does! C the language does not solve the versioning problem either. COM is not a language; it is a language neutral component object model. The proper comparison is between Cocoa's object model and COM's object model. Cocoa and COM are both accessible from multiple languages, and the language is not the issue.
Cocoa provides an AWSOME versioning capability irrespective of -respondsToSelector:! Ref: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html
In practice, Cocoa's versioning has been vastly more successful than COM's. Review the history of Microsoft's DirectX versions for illumination.
In fact, through the evolution of Openstep->Rhapsody->Cocoa, the frameworks have been upgraded may times while preserving backward compatibility. Furthermore, in many cases as features are added to the frameworks, existing applications benefit from the features without even being recompiled.
>So a better question would be
>why Objective-C still offers only the funky [] syntax, and not something a
>little more mainstream - at least as an alternative; and why there's no C++
>interface (implemented with templates and operator overloading) that would
>allow a C++ program to use Objective-C classes directly.
There is no reason to rehash this argument again. Search this list and Usenet for all the past arguments and "modern syntax". There are examples of mixing C++ stl and Objective-C objects via Objective-C++. The bottom line is that C++ is not sufficiently dynamic to directly use much of Cocoa unless something awfully similar to the Objective-C runtime is built in C++. Therefore, you might as well just use the Objective-C runtime via Objective-C++.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden