Well aside from the syntax which varies from language to language the biggest difference would be the fact that Java runs on top of a VM or Virtual Machine. The "wrapper" OS present when you load java on your system is responsible for interfacing with whatever system it is loaded on and providing a set of standard APIs for the higher level applet to access independent of the underlying architecture. That is what a java app in theory could run on ANY OS, windows, Mac, Linux, your phone, your TV anything.
However, all this independence does require a version of the Java VM for each different platform. In addition, the overhead of this abstraction layer does cause it to be slower in some people's opinions.
Also, Java is a truly object oriented language unlike C# or C++ which are at their core non-object oriented with the object oriented "packages", if you will, laid on top of this core. Similar to how Windows 98/95 really just ran on top of a DOS layer unlike XP/Vista where the DOS environment is emulated.
|