IDL compilers are a very unusual special case. First, they do not abstract. They merely provide a language-neutral way to specify an interface that must exist anyway. Second, a decently written IDL compiler can emit safe but highly optimized code that a human cannot maintain.
That is: where IDL compilers are used, the abstraction/modularity boundary already exists, and the question is solely a matter of what language should be used to describe the interface. On Thu, Sep 24, 2009 at 2:19 AM, Bahadir Balban <[email protected]> wrote: > [email protected] wrote: > >> Right, you can use languages with more abstraction to hide some >> complexity. However, this also obscures the view on what is really >> happening, and limits possibilities. So abstraction is always a >> compromise. >> > > Yes. Certainly. > > The problem with C++ is that IMHO the abstractions are very poor: they >> obscure a lot without really hiding much complexity... >> >> -antrik- >> >> > So why are you in favor of IDL compilers? To me that is also an abstraction > that is a compromise. You could simply use a library with helper functions, > and know what is going on, instead of design a whole system around > compiler-generated communication idioms. > > -- > Bahadir Balban > > >
