[Q] COM and dynamic link library?
[Q] COM and dynamic link library?
- Subject: [Q] COM and dynamic link library?
- From: JongAm Park <email@hidden>
- Date: Tue, 18 Apr 2006 14:15:23 -0700
Hello, all.
I would like to ask a fundamental question regarding to the COM.
I am sorry that I couldn't find a dedicated USENET news group for COM,
so I added microsoft.public.vc.atl and vc.language where it looks OK to
ask about the COM.
I found out that the Plug-in architecture of the Cocoa uses Microsoft's
COM model. According to an article read at the Oreilly's site, it can be
only used in dynamic link library. Because you don't need to link it
with other languages like BASIC, the COM model may not be appealing.
On Mac OS X, the location transparency is not supported.
Well, because there is RPC and messaging API, it may not be a problem at
all on Mac.
OK. Here is my question. What is good reason to use COM model in general?
The major reason can be modular programming and programmers can share
the same interface with different programs.
However, if they can share source codes, then wouldn't it be suffice to
share the codes? Or.. if they can't, i.e. probably developers of one
company don't want to reveal the implementation to other developers of
other company for many reasons, wouldn't it be OK to implement it as a
library, whether it is static or dynamic, and provide header files?
Even when you use the COM, you should give interface files to others.
Wouldn't it be possible to put classes into a library? So, there is no
problem with OOPness. You can also load them on demand. ( But for
libraries, it is per-library rather than per-object. )
Especially for Objective-C developers, a class can be expanded
horizontally using the category and the protocol mechanism as well as
vertically using inheritance. So, Objective-C already provide very
efficient and elegant mechanism for modular programming.
To Windows programmers, they may need COM interface, because many of
them are Visual Basic programmers. However, wouldn't it be possible to
rewrite the Visual Basic compiler/VM to understand the C++ header file?
You know, Java can call C/C++ codes and C/C++ can call Java codes. Don't
you think that MS manipulated the necessity of the COM?
(Well.. there are other COMs like the Mozilla's XPCOM, and CORBA's own,
though. )
Why is the COM necessary?
Is there any important reason that I don't realize yet?
Can you spare me your idea?
Thank you very much.
JongAm Park
_______________________________________________
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