Java is an object-oriented programing language, considered to be one of the most popular programming languages with more than 9 million Java programmers around the world. Java is based on C++, but its main fundamental indication is writing uniform code, that will work with a range of operating systems and devices, without the need for further optimization. Java is a world standard for development of mobile apps, web applications, navigation systems, games, and enterprise software.
Java was developed by a team of engineers at Sun Microsystems (bought by Oracle in 2010), led by James Gosling. The original purpose of the technology was for the consumer electronics market. In 1992, the technology was proposed for the digital cable industry, but they were not interested. It was then decided to focus on on-line services, CD ROMs and desktop platforms, instead of set-top boxes. In 1994, the engineers at Sun used the language (then called Oak) to create the first browser that supported moving objects and dynamic content. In 1995, the Java programming language was launched.
How does it Work? The code is compiled into an intermediate language, known as Java Bytecode (which produces files with a .class filename extension). This file is decoded by a JVM (Java Virtual Machine) into the machine language of the particular operating system. Java can run on a wide range of operating systems that are installed with a JVM. An additional Java compiler – Just in Time (JIT) – can then translate from the bytecode to the natural machine language. Since this is a secondary compilation that is performed while the application is running, this leads to an improvement in performance of the application.
- An almost pure object oriented language (almost, since there are basic types in addition to object types).
- The manufacturer’s slogan is “Write once; run anywhere”. The developer writes the code once, and thanks to Java bytecode, the code can run on a range of devices and operating systems.
- Enables development on mobile devices, processors, customer products, supercomputers, and more.
- Thanks to its accessibility across different environments, business communication with clients is streamlined and helps to reduce the cost of organizational and client applications.
- Provides automatic memory management by the operating system – at the end of use, the program operates a “garbage collector”, which releases memory.
- Enables the development of a range of server-side applications, such as stores, forums, online surveys, and more.
- Enables fast, secure and stable development.
- Compared to C++, which allows the inheritance of several classes, Java only allows the inheritance of one class. As a response to this, Java uses an interface mechanism, so that a particular class can inherit the properties of many interfaces.
- Today, Java is free.
Main Development Environments
- JAVA SE: The standard development environment, for the development of desktop applications.
- JAVA ME: A strong and flexible environment, adapted for development of apps running on small devices, such as mobile devices, set-top boxes, and more. Customization is particularly seen in terms of memory, display and capacity.
- JAVA EE: A rich and secure platform for developing server-side systems, enabling multi-layered and decentralized programming. From version 7, includes comprehensive support in HTML5.