James Gosling, Patrick Naughton and Mike Sheridan began a noble endeavor in the summer of 1991. The three cohorts wanted to create a new programming language; they had five goals for their lofty project. Create a language that was portable, able to be run on any system architecture without requiring major reworks. To achieve this portability Java compiles to Java Bytecode instead of machine code. This bytecode is then executed by Java virtual machine. The Java virtual machine is designed for the specific architecture it is installed on. The Java Virtual Machine then takes the bytecode and turns it into machine language for the system to use.
Java creates a programming language that is a simple object oriented language that would be familiar for other programmers to learn. The language needed to be robust with accurate error messages for debugging as well as secure. It would need to execute with high performance to be competitive with other languages. Finally it needs to be interpreted, dynamic, and threaded.
Originally called Oak after an oak tree outside Gosling’s office the language adapted along with its name, soon becoming Green and finally renamed Java, yes like the coffee. The project was intended for interactive Television unfortunately in the 90’s the television industry was ill equipped to utilize it at the time. In 1996 Sun Microsystems released the first public implementation of Java with a C/C++ like syntax other programmers could quickly learn and adapt to.
Java quickly became wildly successful, with its Write once, Run Anywhere functionality it could be implemented on any popular platform with the Java compiler installed on it. Due to its success soon major web browsers began implementing Java to run within their webpages; Java spread like wildfire throughout software and web development communities. Java was a sensation, by 1999 a second release of Java allowed for multiple configurations built in to it for different system architectures. There were several releases; Java EE was utilized for businesses created to be ran on servers. Java ME was utilized in mobile applications, while Java SE was their desktop version.
Sun released Java Virtual Machine in 2006 to the general public as a Free Open Source Software finishing the process in the summer of 2007. By 2009 Sun Microsystems was acquired by the Oracle Corporation and soon after James Gosling resigned from Oracle on April 2, 2010. Oracle has continued to release updates for Java, recently with the release of the latest version Java 14.
Java 9 is no longer supported due to security vulnerabilities. Since then Android has dropped Java as its primary language and has since moved to Kotlin. Comparatively Kotlin and Java are contextually very similar, Kotlin is a more summarized and streamlined language that boasts being much more secure. Kotlin still utilizes the Java Virtual Machine, which complicates the future of Java. Kotlin and similar languages that utilize the Java Virtual Machine I see as somewhat the evolution of Java. The language itself is still used by many developers, however with languages available that are so similar if not easier to utilize we may see the inevitable extinction of the Java language; especially with mainstream platforms moving away from the language. That being said however these new languages are reliant on the Java Virtual Machine to compile their language into bytecode.
Java has been an extremely successful language, starting as a project dreamt up by three comrades with a revolutionary idea. This programming language has evolved over the two decades since its birth, spreading to nearly all system architectures. With a massive following Java will undoubtedly continue to grow and evolve based on those original 5 basic principles that have made Java incredibly successful.