> On Aug 11, 2014, at 11:49 AM, Adriano dos Santos Fernandes 
> <adrian...@gmail.com> wrote:
> 

>> 
> COM is full of problems:
> - UTF16
> - HRESULT with TLS access to errors
> - No real OOP, just object composing with QueryInterface
> - Ref. counting for all sorts of objects
> 
> 
This what I mean by ignorance.

COM was originally defined using 16 bit Unicode, not UTF-16.  When it was 
defined, UTF-16 didn't exist.  I don't know the status of UTF-8, but will look 
and report.

COM defines a number of interfaces, the more important of which is 
queryInterface.  User defined interfaces have no constraints on error handling 
other than that they should use exceptions, though this is something that can't 
be enforced.  COM defined interfaces does specify error handling.  HRESULT is 
just an artificial type.  Look it up.  I think you could handle it.

Of course COM is an OO-technlogy.  I don't know what you mean by "not real OO", 
so I guess that is an Adriano-ism.  COM is a language independent wrapper for 
objects with multiple interfaces.  It says nothing about the implementation of 
the object.

COM objects are reference counted.  Reference counting is an near universal 
mechanism for controlling object lifetime in non-garbage collected systems.  I 
presume you understand referencing counting, but perhaps you could your express 
your objections to it.

We would get places faster if people would do their research before trying to 
shoot something down.  It does suggest that they are more interested in winning 
than finding the best technical solution to a problem.

Is COM the perfect solution to all problems?  No, of course not.  But it is 
very good solution for both structuring plugins and more delivering engine 
functionality to plugins in a stable, maintainable, efficient, and extensible 
manner.


> Adriano
> 
> 
> ------------------------------------------------------------------------------
> 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