C++ Implementation of JAVA API

Java is a programming language created by Sun Microsystems,now owned by Oracle Corporation. One of the strength of the Java programming is that it comes with a rich set of Application Programming Interface (API).

This API facilitates programming of IMAGE Processing, Sound processing etc.

The standard library in C/C++ does not have any built in functions for manipulating images or sound.

You have to start coding from scratch a set of functions which will allow you to accomplish this task (What a pain !!) Alternatively, you can use open-source or third party libraries.

While searching for a native implementation of JAVA-like API I got NaJa and NewJ as solutions.
NaJa is an open source project while NewJ is a commercial product (Trial available)

What is NaJa according to the official website:
"NaJA stands for Native C++ Java-like API. The Java API is is a rich, standard and quite good design object library. There is no complete equivalent usable directly with C++. C++ developers must reuse old C libraries or a big set of C++ libraries, each with its own design. This make C++ difficult and code not as readable as it should be. The main NaJA goal is to provide what standard ANSI C++ library and STL don't.
NaJA also intends to bring C++ as easy as java can be while letting hackers free to decide whenever they need assistance (and then, accept some limitations, no magic!) or not. Not providing at all pointers and multiple inheritance because they are hard to use is not a solution !"

What is NewJ according to the official website:
"NewJ is a 100% native implementation of the core Java API and language features in C++, for C++. It is intended for Java/C++ developers who wish to use the Java API to deploy 100% native applications where performance or executable size are crucial factors. It is also well suited for Java developers who are learning C++ or maintaining existing C++ applications."


Other open source attempts include j2k and stemkit.