What is Java and Platform ?
Java was originally invented and developed by James Gosling (who is known as the father of Java) and team members at Sun Microsystems. The 1st release has been made in 1995 as a core component of Sun Microsystems’ Java platform. Since then Sun has been rereleasing the originals and references implementation, Java compilers, virtual machines and class libraries. (Sun Microsystems was acquired by Oracle in January 2010)
The Java is type-safe, class-based, object-oriented programming language. It’s designed to have as minimal implementation dependencies as possible. Java does not support C/C++ style of the pointer arithmetics, which allows the garbage collectors to relocate the referenced objects and ensure the type-safety and security.
One of the motivation is to be general-purpose language which helps developers to write a code across the different application domains once and run the code anywhere (WORA – write once, run anywhere).
What does it mean? Java code is compiled by the compiler in to the byte-code. Such byte-code is executable on all Java platforms without necessity of recompilation. The byte-code can run on any Java virtual machine (JVM) without necessity to know underlaying computer architecture.
The Java platform has been designed according to several principles: “Simplicity, Robustness, Portability, High Performant, Security, Platform and Architecture independency (underlaying hardware), Multithreaded, Object-Oriented, Dynamic and Interpreted.
The interesting fact is that Java Platform has been in early stages intended to be a platform for a digital devices ( maybe be referenced as IoT devices – televisions, set-top boxes, mobile devices and etc.). Aside of the main intent the Java has been well suited for the internet technologies.
Nowadays Java is very frequently used for the internet or mobile application development with different levels of complexities.
Java has also done huge steps towards the functional programming and continues in the platform evolution.
Read More:
- Java Versions and Release Details
- Java Platform Module System (JPMS)
- Java Tutorials