Since plugins pretty much need to be compiled with the same compiler as the 
engine, and since both COM objects and their clients will be compiled from the 
machine generated interface defintion headers, there is no danger of 
incompatibilities even if there are compilers incompatible with standard IDL 
compilers, which I seriously doubt.

You are arguing that a 25 year old industry standard, widely adopted technology 
is unsafe but a crude, home-brew quasi-OO interface is not.  I don't find your 
position convincing.

Why don't you just say that you don't like COM because it wasn't invented here?

The UTF-8 issue must be dealt with, certainly.  I am in a part of the world 
without practical web access and will soon be out of even email.  But when I 
get back to civilization and bandwidth, I will be happy to brush up on the 
latest.

So far, the arguments I've heard against COM are mostly failures of 
understanding, not COM deficiencies.  Oh, there is the argument that Firebird 
developers aren't good enough to handle immutable interfaces.  That I reject 
out of hand.  Hundreds of thousands of developers have learned to cope with 
stable interfaces.  Probably more.




> On Aug 11, 2014, at 8:50 AM, Alex Peshkoff <peshk...@mail.ru> wrote:
> 
>> On 08/11/14 15:18, Jim Starkey wrote:
>> Adriano, you are arguing that you are right and the rest of the world is 
>> wrong.
>> 
>> COM is designed so any language can use it, but C++ can use either as 
>> explicit vectors of method pointer OR as a pure virtual interface.  Either 
>> works, but using it as a C++ mechanism is very simple and powerful.
> 
> Either works as long as vtable in C++ pure virtual interface has format 
> exactly matching an explicit vector of method pointers.
> If some way can be proofed that it must always be so and another format 
> of vtable is just a bug of compiler developers, I'll be glad to continue 
> using c++ pure virtual interfaces (like it's done now).
> 
>> You may have noticed few defenders of your interface.  Most have argued that 
>> it is ugly, hard to use, and very unlikely to meet its goals for mapping 
>> into native objects in multiple languages.
> 
> That's bad argument. When Copernicus suggested his new model of the 
> solar system everybody was against. With "strong" argument - we see 
> ourself that it's Sun rotating around the Earth...
> 
>> These are legimate criticisms that you have not answered.
> 
> Language on which suggested vtables are very easy to access should meet 
> the following requirements: support pointers to functions, support 
> structures (or in the worst case arrays) with reasonable members packing 
> and support __cdecl calling convention. Certainly, far not all languages 
> meet that requirements - but a lot of used in practice do.
> 
> 
> ------------------------------------------------------------------------------
> Firebird-Devel mailing list, web interface at 
> https://lists.sourceforge.net/lists/listinfo/firebird-devel

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to