[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