Mar 8, 2013 at 4:53am UTC
Why Component Object Model (COM) is not supported on linux. Plz anyone give the technical perspective of this fact. I know COM is a standard developed by microsoft but after compilation what are the facts that do not let COM objects run on the Linux environment.
Mar 8, 2013 at 9:08am UTC
Back in the old days, there were two competing object models for C++, both based on RPC; COM from Microsoft and CORBA from everyone else.
Unfortunately COM still survives 20 years later, so if you want system objects on Windows, COM is still used. It's one of the oldest Technologies from Microsoft. Who'd ever guess that?
COM is inherently unsafe because it pushes responsibilities of the implementation onto the user, and if you get something wrong (which is more likely than not) it'll crash your application.
So yeah, lets port this inherently unreliable proprietary technology to an open platform with roots in more well thought out and reliable technologies.
Mar 8, 2013 at 12:00pm UTC
But couldn't you say that about any programming langauge /programmer ??
No. I would not say that any programming language/ programmer were inherently flawed.
But I would put money on any medium/large C/C++ application that uses COM crashing eventually solely because of it's use of COM.
Have you used it?
Last edited on
Mar 8, 2013 at 12:06pm UTC
Mar 8, 2013 at 2:16pm UTC
No, I haven't used it in anger - I have been nibbling away at learning it in a half hearted manner for some time now.
So I can't vouch for it's sability.
I however do like the progamming to an interface idea that it is based on though.
Mar 8, 2013 at 3:58pm UTC
There exists lots of actively supported CORBA implementations. F.e. TAO would be nice guess. See Wikipedia for details on CORBA.
We're using CORBA for developing distributed realtime applications on multiple platforms like QNX, Linux, MS-Windows and OSX.
Mar 8, 2013 at 6:20pm UTC
CORBA is just as retarded as COM/DCOM IMHO. Both are ancient and legacy.
Mar 8, 2013 at 8:18pm UTC
Ancient's ok. It's the RPC that's the problem.