Python 2.0

Gordon McMillan gmcm at hypernet.com
Sun May 30 20:48:53 EDT 1999


James Logajan  wrote:

> Don't know about what is possible theoretically with COM or CORBA,
> speed-wise. But at least one free version of CORBA for C++ can
> optimize a CORBA call into a simple function call; see
> http://siesta.cs.wustl.edu/~schmidt/TAO.html

In theory, they should be pretty close. An in-process COM call (not 
IDispatch) is the equivalent of a virtual function call. For both 
systems, the major work of an interprocess call is in marshalling 
parameters.

> CORBA has the added advantage that unlike COM, it was always
> intended to be platform and language neutral. Given an IDL published
> for one's favorite app, I should TODAY be able to build a
> cooperating app in almost any language I want. And luckily that
> includes Python as well as C++.

COM is certainly language neutral. The core of it is exposing a C++ 
virtual function table in C. That part is theoretically also platform 
neutral, despite practice.

Both COM and CORBA have 2 ways of being used - statically and 
dynamically.  I've never seen the dynamic side of CORBA used, 
(although I'm sure it is, somewhere). In COM, it is what is most 
frequently used. Unfortunately, this side of COM was "engineered" 
<hack, cough> by the VB folks, who probably wouldn't know an 
architect if he bit them on the *ss (personally, I'd use a pack of 
rabid Dobermans). 

I don't think there's much question that CORBA has the more complete
(and elegant) architecture. But COM is distributed with the OS; and
the most used feature of COM (Automation) has been around almost 10
years, while CORBAs (far more complete) equivalent (OpenDoc) was
DOA.

nobody-drives-a-Tucker-either-ly y'rs

- Gordon




More information about the Python-list mailing list