What is Java?

Java is a popular open-source, object-oriented, general-purpose programming language used by many freelance developers and Java development agencies. Source code is compiled into bytecode that can be run on the “Java Virtual Machine,” or JVM. Implementations for the JVM exist for most hardware platforms, which helps support the goal of WORA (Write Once, Run Anywhere).

Java is secure, multithreaded, and supports distributed programming. Because the language has been around for close to thirty years, there is a tremendous amount of software libraries available to cover almost any need a developer might have, from database connections to file processing to GUI tool kits. Some are paid for, but many are freely available.

Since Java is not compiled to run on a specific architecture but rather to run on the JVM, which then, in turn, runs on a given architecture, Java will never be as fast as native code. That said, the Java developers have made great strides to optimize performance using techniques like Just In Time (JIT) compilation of the bytecode in the JVM. Even with the potential trade-off for performance, companies often find the benefits of WORA reduces their development costs to the point where it’s a no-brainer.

With the plethora of tools and libraries available and the immense diversity of expert developers available, Java consistently ranks as a leading language for cross-platform desktop or server-side application development.

History

The Java language project began in 1991 when the “Green Team” at Sun Microsystems, made up of James Gosling, Mike Sheridan, and Patrick Naughton, started designing a programming language for interactive television. Initially called Oak and then Green, Java was given its final name that is still in use today, inspired by Java coffee in Indonesia.

Better suited to internet development than digital cable television, Java was engineered with WORA (Write Once, Run Anywhere) functionality in mind. The Green Team aimed to create a robust, secure, portable, and high-performance object-oriented language that was also interpreted, dynamic and threaded.

Named one of the best products of 1995 by Time Magazine, Java was seen as a renaissance language in the early days of the world wide web. Sun Microsystems released Java 1.0, the first public implementation of Java, in 1996, and major web browsers at the time, including Netscape, quickly incorporated Java applets into its webpages.

Dutch computer scientist Arthur van Hoff rewrote the Java 1.0 compiler before multiple versions of Java 2 were released in late 1998 and 1998 (J2ME and J2SE) with varying configurations built for both enterprise and mobile applications. Sun provided most Java implementations free of charge but generated revenue through licensing specialized products.

Initially, Sun Microsystems approached standards organizations like Ecma and ISO/IEC JTC 1 (the joint technical committee of the International Organization for Standardization and the International Electrotechnical Commission) for formal recognition. In 1998, however, the Java Community Process (JCP) was established as the formalized mechanism for developing and maintaining standard technical specifications for Java technology.

By mid-2007, Sun had released all the non-copyrighted code for Java Virtual Machine (JVM) under a free and open-source license. Oracle acquired Sun in 2009 and became the steward of Java. The most recent major release was Java SE 15 in September 2020. Java 8 and 11 are currently supported as long-term support (LTS) versions.

Competition

Java is generally used for application development. As such, there are two strong competitors, but with some trade-offs. C++, which is an older language from which Java evolved, can be compiled directly for all the platforms you might care to use and, as such, will run faster. But, Java is generally considered easier for development. C# from Microsoft has been running neck and neck with Java and can be considered an equally modern and secure language. While it used to only run on Windows and MacOS, it now runs on a very large array of hardware, making it a strong competitor.

Java has also been used to do web development through a number of frameworks like GWT or Struts. However, web developers, particularly those favoring the open-source environment, often prefer to develop directly in JavaScript for client-side applications or use other open source languages like PHP, Python, Golang or Ruby for the server-side. Ruby would be a particularly strong competitor in this context because it is a purely object-oriented language, unlike Java, which uses primitive data types. Those looking for the power of an object-oriented language, but the flexibility of a scripting language might give Ruby a look.

Explore

With its long history and vast worldwide community, Java offers developers a rich ecosystem of technologies supported by millions of developers around the globe. Follow Duke, the Java mascot, over to the community page on Oracle.com to connect with Java champions, join the Oracle Technology Network, participate in forums, publish technical articles, and more. Or visit Stack Overflow to view an extensive question and answer forum around Java and check out trending Java projects over on Github.

Scroll to top