[Fresco-devel] Re: ACE

"M. Evans" <[email protected]>
Newsgroups gmane.comp.video.fresco.devel
Message-ID <[email protected]>
> You suggest we fork ACE and throw out all the parts we don't need, to
> make it slim enough to be usable?  That's absurd.

What I'm suggesting that if IDL had ever lived up to its real promise,
then it would enable ACE to expose to the external world just
what the external world needs, and no more.  Internal dependencies would
be irrelevant.  The fact that IDL cannot do this indicates that all the
overhead of IDL is not worth much.

Or, that ACE's CORBA wrappers are incomplete, in which case it's better
for you to contribute to ACE (factoring, interfacing) than to re-invent
ACE on a smaller scale.

> and something about IDL that makes no sense.  .NET is a wildly
> different architecture from CORBA

Right, but it grew out of frustrations with the COM IDL scheme in
Windows.

> It's like comparing TCP/IP and the Pentium.

Oh bull.  They both try to accomplish language independence.  Though
granted CORBA is a bigger monster than COM, that was a major goal,
if not the only one.  Factoring software was another goal.

> And then you pull out this wildly irrelevant thing about Microsoft

I'll spell it out.  The relevance is that Microsoft, after years of work
on IDL in Windows (COM, COM+, DCOM), decided that it wasn't making
things happen in the real world -- for the same reasons you have
discovered it can't make things happen with ACE.  Bloat, bloat, more
bloat, tons of overhead, extra programming labor.  So it switched
to .NET.  COM is still supported, but .NET is where Microsoft bet the
bank.  So here we see a major OS software company essentially giving up
on IDL approaches.

CORBA is an IDL, and yes it can run across a network; so does DCOM.
That's irrelevant.  What an IDL is supposed to do is expose
well-factored interfaces to arbitrary IDL-capable languages.

The .NET approach scraps the IDL in favor of a common language
runtime.  So there is no need to write IDL interfaces any more.
Languages just plug and play because they are compiled to a common
back-end.  No more IDL libraries!

> It is, in fact,
> _not_ easier to do that, than to just write the parts we need.  ACE is
> huge, complicated, with a _lot_ of internal dependencies.

Oh, sorry, I thought IDLs were meant to hide internal dependencies.
Guess not. :-)

So far all I've heard is that it's too hard to build, so you gave up
and rolled your own code.  Seems to me it would make more sense to
contribute to the ACE project.  You lecture me about "forking," but
this Prague thing is a prime example of exactly that -- forking.  Not
in the strict technical sense, but in the broad sense.  There is
no more serious fork than starting a whole new project to do the same
thing.

This is how open source efforts defeat themselves, constantly reinventing
wheels.  There are probably two dozen smaller Prague equivalents out
there if ACE is not to your liking.  Argue all you want about ACE,
there are many other libraries -- and now heaven help us, another one,
Prague.

> Saying "it's always easier to strip things down" is simply not true in
> the real world, and makes me wonder how much time you've spent doing
> actual engineering.

Oh come on.  I'm a professional making six figures.  I know my code
and how to manage my time.  I've seen the not-invented-here syndrome
before.

Besides, my goodness, I can't believe what I'm hearing -- people
interested in slim libraries who depend upon CORBA, the most notorious
bloatware in the known universe.

IDLs are supposed to hide internal dependencies, let you use what
interfaces you want, etc.  Even if ACE lacks required interfaces, it
would be more sensible for Fresco to contribute them than re-invent
pieces of ACE.  Or to find another open-source library more to your
liking.  The problems solved by Prague have been solved before, many
many times.

> However, because TAO uses ACE, it generates extremely bloated
> libraries, so huge that Stefan never even tried using them.  This
> could be considered a bug in TAO.

So the obvious solution is to work on TAO not ex nihilo creation of
ACE-lite.

> ACE is not a CORBA system.  I don't see how ACE being overkill as a
> POSIX wrapper makes the "whole CORBA idea" untenable.

Assuming ACE were completely wrapped with CORBA interfaces,
I don't see how a system wrapped in CORBA could be considered overkill
unless CORBA itself is a failure.

Besides, I think the whole overkill notion belies a failure on your
part to appreciate the potential for growth in Fresco.  You might find
ten years from now that Prague has become ACE in all but name.

Actually I'm a very nice person.  Just very opinionated. :-)

Mark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.