What is Java?
Java is a programming language expressly designed for use in the distributed environment of the Internet. Java language and computing platform first released by Sun Microsystems in 1995. It was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces an object-oriented programming model. People use it to write programs that run in a client/server configuration and over remote networks. Java code also can run within a virtual machine in a browser. Nearly all the programs written in Java today are applets, small programs designed to perform simple functions. Java can be used to create complete applications that may run on a single computer or be distributed among servers and clients in a network.
Why Java rule the world?
1. Application development environments
If you compare with C++, Java is very easy to use . In theory, developing in Java can be faster than C++ because it is much closer to an interpreted environment with class-level compiling and resolution of dependencies at runtime. The language is more accessible to developers than C++ because it eliminates the need to develop a specific pointer-based memory management scheme. Early indications show that accomplished C++ programmers can be two to three times more productive writing Java.
2. Virtual Machine
The Java virtual machine includes an optional just-in-time compiler that dynamically compiles bytecode into executable code as an alternative to interpreting one bytecode instruction at a time. In many cases, the dynamic JIT compilation is faster than the virtual machine interpretation.
3. Server support
Java already has the essence of a good client environment. Communication between clients and servers, however, is still primitive and remains limited to pipes, sockets, and file I/O. Java needs a clean, higher-level interface to databases and servers, like ODBC and OLE, to access persistent data. The real beauty of the complete Java environment is total independence of applications in a virtual machine. When there is better server support for clients and servers, it will be possible to make on-line modifications to applications written in Java. In other words, live applications may be modified while running.
4. N-Tier client/server
Java can become the new client in corporate client/server systems. Since the new client can run on virtually any computer and operating system, the promise is that new software will be written not for 2-tier or 3-tier client/server computing, but for N-tier computing. Oracle is attempting to solve part of this problem with its Web Request Broker. Other vendors undoubtedly will follow with OLE- and CORBA-based products.