The programming languages used in today's development projects are often determined by a number of factors, including application requirements, developer backgrounds, organizational policies, and compatibility with third-party tools. We designed Ice to be a practical distributed computing platform for real developers writing real applications. That goal drives everything we do at ZeroC, and it is the reason why Ice supports such a broad spectrum of programming languages. Whether your project uses one language or several, Ice will enable your components to communicate with each other naturally, efficiently and transparently.
The Ice API was carefully designed to conform with the standards and practices of each programming language while maintaining a consistency that minimizes the learning curve of a developer working in multiple languages. As you will see from the sample code shown on the language pages, the Ice API is easy to learn and just as easy to use.
Ice currently offers language mappings for the following programming languages:
The Ice language mapping for C++ combines raw speed with an elegant design that enhances productivity and virtually eliminates memory leaks. See Ice for C++ for more information on the C++ mapping and a code example.
Java's portability and wealth of tools is an attractive complement to Ice, and support for Android allows Ice applications to run on devices in Google's ecosystem. See Ice for Java for more information on the Java mapping and a code example.
Compatible with both Microsoft and Mono, developers can utilize Ice to integrate their .NET applications. Embedded and mobile devices that use the .NET Compact Framework can also employ Ice. See Ice for .NET for more information on the C# mapping and a code example.
With support for the iPhone, iPod touch, Cocoa, and OS X, developers can use Ice Touch to integrate Apple's mobile devices. See Ice Touch for Objective-C for more information on the Objective-C mapping and a code example.
The Ruby programming language is revolutionizing the World Wide Web using the same combination of simplicity and power that has made Ice so successful. See Ice for Ruby for more information on the Ruby mapping and a code example.
ActionScript developers can use Ice as their distributed computing solution while deploying applications to desktops, browsers, and mobile devices. See Ice for ActionScript for more information on the ActionScript mapping and a code example.