Java is a general-purpose computer programming language that is class-based, object-oriented, and concurrent. It is designed specifically to have as few implementation dependencies as possible. It is intended to allow application developers to “write once, run anywhere”. This means that compiled Java code could run on all Java-supporting platforms without the need for recompilation.
THE ORIGIN OF JAVA
Java, introduced by Sun Microsystems in 1995, immediately created a new sense of the web’s interactive capabilities. Both major web browsers include a Java Virtual Machine. Almost all major operating system developers such as Microsoft, IBM, and others have added Java compilers as part of their product offerings. The virtual machine includes an optional just-in-time compiler that dynamically compiles bytecode into executable code as an option to interpret one bytecode instruction at a time. In most cases, the dynamic compilation is faster compared to virtual machine interpretation.
The programming language evolved from a language called Oak. Oak was developed in the early 1990s at Sun Microsystems as a platform-independent language to enable communication between entertainment devices such as VCRs and a video game language. Oak was changed to Java. The excitement of the Web attracted software vendors such as Java, and development tools from many vendors quickly became available. The same excitement created the need for many developers to discover Java and its many great features.
The language is explicitly designed for use in a distributed web environment. It was designed to have the feel and look of C++, but was easier to use and promoted an object-oriented programming model.
MAIN CHARACTERISTICS OF JAVA
1. Created programs are portable on the network. The source program is compiled into bytecode that can be run anywhere on the network on a server or client with a Java Virtual Machine. A virtual machine interprets bytecode into code that runs on real computer hardware. This means that differences across computer platforms, such as instruction lengths, can be locally determined and accommodated right at program execution. Platform-specific versions of the program are no longer required.
2. Java is object-oriented, which means that, among other properties, an object could take advantage of being part of the inheritance code and the object class that is common to that class. Objects are treated as “nouns” that the user could relate to instead of traditional procedural “verbs”. A method can be thought of as one of the behaviors or capabilities of an object.
3. Java code is robust, meaning that unlike programs written in C++ and possibly some other languages, Java objects cannot contain any data, external references to themselves, or other known objects. This determines that the instruction cannot have a data store address in another application or in the operating system itself, which could cause the program and possibly the operating system to crash or terminate.
IMPORTANT LANGUAGE FEATURES
Rich Standard Library – One of the most attractive features of Java is the standard library. The Java environment has hundreds of methods and classes in six key functional areas.
Platform independence – Java compilers do not produce platform-specific native object symbols, but instead “byte code” instructions for the JVM or Java Virtual Machine. To make the code work on a certain platform, it’s just a matter of writing a bytecode interpreter to simulate the JVM. This means that the same compiled bytecode would run on any platform that supports Java without modification.
Language support classes – for advanced language features such as arrays, strings, threads, and exception handling.
Applet Interface – In addition to the ability to create stand-alone applications, Java developers can create programs that can be downloaded from a web page and run in a client browser.
Familiar C++-like syntax – One of the factors that have allowed Java to be rapidly adopted is the similarity of Java’s syntax to the popular programming language C++.
Garbage collection – The programming language does not require programmers to explicitly deallocate dynamically allocated memory. This makes the program easier to write and less prone to memory errors.
The Java programming language has revolutionized web application development. It undoubtedly created a sense of the interactive possibilities of the site.