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