Java
Introduction
Java is a platform independent object-oriented programming language developed as a part of the Green project at Sun Microsystems.
The 10-yr story: Java and the networked world. While
C++ is the superset of
C, Java is a subset of C++. That's why it is also known as C++-- ("++" means something more, "--" means something less). But unlike C++, it is truly a object oriented programming langage: everything is an object.
Unlike any programming languages, the compiled program is called the byte code, not assembly code. A
Java
Virtual
Machine (JVM) is needed to interprete the byte code into the native code so that it can be executed.
Some of the benefits over C++:
- Simpler: Java removed some of the "troublesome" feature of C++ like pointers, memory deallocation and multiple inheritance.
- OO: You can neither find any non-OO library nor write any non-OO functions.
- Platform Independent: If there is JVM (Jave Virtual Machine
- Secure: A Java program can never executes anything that is dangerous to your system. Because the Java API is restricted.
And
Why Java is Better than C? Some arguments are not correct anymore, e.g., J2SE 1.5 has varargs.
Looking at Varargs in J2SE 1.5.
Of course there are also some disadvantages:
- Slow: Interpreted Java is slow - about 20 to 50 times slower than C. (Sun Working on a New Programming Language)
- No pointer and multiple inheritance, etc: This prevents the implementation of some algorithms and data structures.
To address the performance issue, the Java
Just-
In-
Time (JIT) Compiler is used to compile the Java byte code into the native code. So
What Great Java Developers Ought To Know?
Nevertheless, due to the huge API and ease to use, Java is highly popular in small Java games, web applications and handheld devices like cell phones. In fact, its architecture and idea is so good that Microsoft has copied it and made the
.NET framework. See
J2EE (& Sun ONE) vs .NET Truth vs. Myth presented by
Sun Microsystems. Not convinced? Read out the
101 Reasons Why Java is Better than .NET (Reloaded) on
Manageability.
See also
JSP, the Java's server-side scripting language; and
Servlet. There are many Java application frameworks to do with Java web applications building, you may want to check out
Wafer - Web Application Framework Research Project. Also, check out
Wiring Your Web Application with Open Source Java to see how you can choose between so many Java-based technologies for each layer in your web applications.
Java Technology
Documentations
Tutorial
Java IDE
Java Shrinker/Obfuscator
Java Decompiler
Java to Windows Executables
Java Virtual Machines