Java is a general-purpose computer programming language that’s class-based, object-oriented and concurrent. It is designed specifically to have as less implementation dependencies as possible. It’s meant to allow app developers to ‘write once, run anywhere’. This means that compiled Java code could run on all platforms supporting Java with no need for recompilation.
THE ORIGIN OF JAVA
Introduced by Sun Microsystems in 1995, Java instantly created a new sense of interactive possibilities of the web. Both major web browsers include the Java virtual machine. Nearly all major operating system developers, such as Microsoft, IBM and others added Java compilers as part of product offerings. The virtual machine includes an optional just-in-time compiler that compiles byte code into executable code in a dynamic manner as an option to interpreting one byte code instruction at a time. In most instance, the dynamic compilation is faster compared to the virtual machine interpretation.
The programming language evolved from a language called Oak. Oak was developed in the early 90’s at Sun Microsystems as a platform-independent language that is aimed in allowing entertainment appliances like VCRs and video game language to communicate. Oak was changed to Java. The excitement of the web attracted software vendors like Java, a development tools from a lot of vendors became available quickly. The same excitement has provided the need for numerous developers to discover Java and its many great features.
The language is expressly designed for use in a distributed environment of the web. It was designed to have the feel and look of C++, but simpler to use and enforces an object-oriented programming model.
MAJOR CHARACTERISTICS OF JAVA
1. The programs created are portable in a network. The source program is compiled into byte code that could be run anywhere in a network on a server or client with a Java virtual machine. The virtual machine interprets the byte code into code that runs on a real computer hardware. This means that differences in individual computer platform, like instruction lengths could be locally determined and accommodated just as the program is executed. Platform-specific versions of a program are not required anymore.
2. Java is object-oriented, meaning that among other characteristics, an object could take advantage of being a part of inherit code and class of objects that’s common to the class. Objects are considered ‘nouns’ that a user could relate to instead of the traditional procedural ‘verbs’. A method could be considered as one of the behaviors or capabilities of an object.
3. The Java code is robust, which means that unlike programs that are written in C++ and maybe some other languages, Java objects could contain no data external references to themselves or other know objects. This ascertains that an instruction could not have the address of data storage in another app or in the operating system itself, either which could cause the program and maybe even the operating system to crash or terminate.
SIGNIFICANT 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 don’t produce native object bode for a certain platform but instead ‘byte code’ instructions for the JVM or Java Virtual Machine. Making the code work on a certain platform is just a matter of writing byte code interpreter for simulating a JVM. This means that the same compile byte code would run on any platform that supports Java unmodified.
Language support classes – for advanced language features like arrays, strings, threads and exception handling.
Applet Interface – Aside from being able to build stand-alone apps, developers of Java could create programs that could be downloaded form a web page and could be run on a client browser.
Familiar C++ like Syntax – One of the factors that enable fast Java adoption is the similarity of the Java syntax to the popular C++ programming language.
Garbage collection – The programming language does not require programmers to free dynamically allocated memory explicitly. This makes the program easier to write as well as less prone to memory errors.
JAVA AND JAVASCRIPT
JavaScript should not be confused with Java. JavaScript originated at Netscape and is interpreted at a higher level and easier to learn than Java. However, it lacks some portability of Java and the byte code speed. As Java applets would run on nearly any operating system without recompilation and since Java does not have operating system-unique variations or extensions, Java in general is considered as the most strategic language for developing web applications. Nevertheless, JavaScript could be useful for very small apps that run on the web server or client server.