Designed by: James Gosling
First appeared: May 23, 1995; 27 years ago
Paradigm: Multi-paradigm: generic, object-oriented (class-based), functional,
imperative, reflective, concurrent.
Stable release: Java SE 19 / 20 September 2022; 5 months ago
Typing discipline: Static, strong, safe, nominative, manifest
Java is a high-level, class-based, object-oriented
programming language that is designed to have as few implementation
dependencies as possible. It is a general-purpose programming language intended
to let programmers write once, and run anywhere, meaning that compiled Java
code can run on all platforms that support Java without the need to recompile.
Java
applications are typically compiled to bytecode that can run on any Java
virtual machine (JVM) regardless of the underlying computer architecture. The
syntax of Java is similar to C and C++ but has fewer low-level facilities than
either of them. The Java runtime provides dynamic capabilities (such as
reflection and runtime code modification) that are typically not available in
traditional compiled languages.
As of 2019, Java was one of the most popular
programming languages in use according to GitHub, particularly for client–server web applications, with a reported 9 million
developers.
Java was originally developed by James Gosling at Sun
Microsystems. It was released in May 1995 as a core component of Sun
Microsystems' Java platform. The original and reference implementation of Java
compilers, virtual machines, and class libraries were originally released by
Sun under proprietary licenses.
As of May 2007, in compliance with the
specifications of the Java Community Process, Sun had relicensed most of its
Java technologies under the GPL-2.0-only license. Oracle offers its own HotSpot
Java Virtual Machine, however, the official reference implementation is the
OpenJDK JVM which is free open-source software used by most developers and
is the default JVM for almost all Linux distributions.
As of September 2022, Java 19 is the latest version, while
Java 17, 11, and 8 are the current long-term support (LTS) versions.