www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - CORBA support

reply Gold Dragon <dragonwing dragonu.net> writes:
Is CORBA support going to be implemented within the compiler? No, that 
isn't right; would that be possible? I ask because there is a IDL 
involved and I know that "The Great One" doesn't like IDL. So perhaps 
some of CORBA can be supported within the compiler and the rest in D? I 
don't know enough of CORBA to know if this is possible.

Before the flaming, I do understand that CORBA is a standard and not a 
language. Could IIOP also be supported?

I just heard about CORBA and it seems pretty bitchin'. Is anyone 
planning to build a library for the individuals not intelligent enough 
to create it themselves? Like me, the concept is giving me a headache; I 
can barely wrap my mind around the concept of two separate languages 
interacting. Always wished that it was possible and it has been for a 
long time. All this time.

The box, can't get out of the box, need air.
Jul 12 2004
parent reply pragma <EricAnderton at yahoo dot com> <pragma_member pathlink.com> writes:
In article <ccv7lm$he5$1 digitaldaemon.com>, Gold Dragon says...
Is CORBA support going to be implemented within the compiler? No, that 
isn't right; would that be possible? I ask because there is a IDL 
involved and I know that "The Great One" doesn't like IDL. So perhaps 
some of CORBA can be supported within the compiler and the rest in D? I 
don't know enough of CORBA to know if this is possible.

Before the flaming, I do understand that CORBA is a standard and not a 
language. Could IIOP also be supported?

I just heard about CORBA and it seems pretty bitchin'. Is anyone 
planning to build a library for the individuals not intelligent enough 
to create it themselves? Like me, the concept is giving me a headache; I 
can barely wrap my mind around the concept of two separate languages 
interacting. Always wished that it was possible and it has been for a 
long time. All this time.
Here's some good background material to get your brain moving again: - http://en.wikipedia.org/wiki/CORBA - http://www.omg.org/gettingstarted/corbafaq.htm Once-upon-a-time I looked into writing my own remoting architecture, but realized that all the hard work was already done for me in CORBA... or so I was lead to believe, until I realized what it takes to manage and maintain IDL in conjunction with C/C++. Shouldn't it be easier than this? Then along came .NET. IMO, .NET does a much better job of handling remoting overall, since it can create object proxies *transparently* via reflection (of course you take a performance penalty for using this scheme)... I like technologies that get you from concept to conception faster, provided they let you optimize things later. Sure enough, the default implementation is pretty sound, and does a great deal of work for you. If you wish to roll your own explicit proxies, messaging conduits, protocols, and object caches, its all there. There's probably no need to muck with IDL when using CORBA through D, especially after Walter's done improving TypeInfo/ClassInfo support to be more reflective. One could compose something like .NET remoting that matches CORBA on a binary level. Also, becuase IDL is so close to D anyway, that composing IDL code to map your D code might prove to be overly redundant:
// this is a chunk of IDL code that happens to be perfectly valid D. :)
interface salestax  {
     float  calculate_tax ( in float taxable_amount );
}
Another suggestion: Mango is rapidly maturing as a very solid I/O library. Kris already has a decent (not to mention lean!) clustering and messaging toolkit that would be ideal for layering on some kind of remoting and/or object brokering. IMO, this branch of the "Mango Tree" will probably mature into something that could easily lend a lot of horsepower to a "D-Remoting Architecture" of some kind. - Pragma
Jul 12 2004
parent Gold Dragon <dragonwing dragonu.net> writes:
Wickedly sweet! I just did a small example of CORBA in Java (RMI) and I 
can see where it could be valuable.

What I want is mappings to Java, C++, C, etc. As I said before I still 
don't know enough of CORBA standard and how to map to different 
languages to know how hard it would be to do this. If Mango can do it 
and still be CORBA compatiable then more power to it.

If not then I can try to create something. As I have little experience 
with programming, I doubt I would get it to work at all. Great that I 
don't have to use IDL or anyone else for that matter.

pragma <EricAnderton at yahoo dot com> wrote:
 In article <ccv7lm$he5$1 digitaldaemon.com>, Gold Dragon says...
 
Is CORBA support going to be implemented within the compiler? No, that 
isn't right; would that be possible? I ask because there is a IDL 
involved and I know that "The Great One" doesn't like IDL. So perhaps 
some of CORBA can be supported within the compiler and the rest in D? I 
don't know enough of CORBA to know if this is possible.

Before the flaming, I do understand that CORBA is a standard and not a 
language. Could IIOP also be supported?

I just heard about CORBA and it seems pretty bitchin'. Is anyone 
planning to build a library for the individuals not intelligent enough 
to create it themselves? Like me, the concept is giving me a headache; I 
can barely wrap my mind around the concept of two separate languages 
interacting. Always wished that it was possible and it has been for a 
long time. All this time.
Here's some good background material to get your brain moving again: - http://en.wikipedia.org/wiki/CORBA - http://www.omg.org/gettingstarted/corbafaq.htm Once-upon-a-time I looked into writing my own remoting architecture, but realized that all the hard work was already done for me in CORBA... or so I was lead to believe, until I realized what it takes to manage and maintain IDL in conjunction with C/C++. Shouldn't it be easier than this? Then along came .NET. IMO, .NET does a much better job of handling remoting overall, since it can create object proxies *transparently* via reflection (of course you take a performance penalty for using this scheme)... I like technologies that get you from concept to conception faster, provided they let you optimize things later. Sure enough, the default implementation is pretty sound, and does a great deal of work for you. If you wish to roll your own explicit proxies, messaging conduits, protocols, and object caches, its all there. There's probably no need to muck with IDL when using CORBA through D, especially after Walter's done improving TypeInfo/ClassInfo support to be more reflective. One could compose something like .NET remoting that matches CORBA on a binary level. Also, becuase IDL is so close to D anyway, that composing IDL code to map your D code might prove to be overly redundant:
// this is a chunk of IDL code that happens to be perfectly valid D. :)
interface salestax  {
    float  calculate_tax ( in float taxable_amount );
}
Another suggestion: Mango is rapidly maturing as a very solid I/O library. Kris already has a decent (not to mention lean!) clustering and messaging toolkit that would be ideal for layering on some kind of remoting and/or object brokering. IMO, this branch of the "Mango Tree" will probably mature into something that could easily lend a lot of horsepower to a "D-Remoting Architecture" of some kind. - Pragma
Jul 12 2004