This forum has been archived. Please start a new discussion on GitHub.

ICE Features Across Language Mappings

Hi all.

I am trying to decide which ICE language mapping to use. My choice is primarily between C++ and Java, although C# is an interesting option as well.

Is there a comparison of the various ICE features that are available in each language mapping (ore more importantly, those features that are NOT available under particular mappings)?

Are there any major performance differences in ICE due to the language chosen?

Finally, can I create the server side of my application in ICE with Java, say, and then create my client side with C# or C++? If so, what limitations or areas of concern would need to be considered?

Thank you!


  • bernard
    bernard Jupiter, FL
    Hi Bytenik, welcome to the ZeroC forums!

    Ice currently supports 6 programming languages, C++, Java, Python, PHP, C# and Visual Basic. Everything that goes "on the wire" is programming-language independent: an Ice client has no way to know the programming language used to implement the Ice server it talks to ... it does not matter. So you could start by implementing a server in Java and later rewrite it in C++ without changing anything in your clients.

    Ice for C++ and Ice for Java provide the same feature set; Ice for C++ is usually faster than Ice for Java, in particular SSL communications are a lot faster in C++.
    Ice for C# currently lacks a couple features:
    * SSL support
    * Freeze (the Ice persistence service)

    Hope this helps!