History of Java
Java began in 1991 as part of a project at Sun Microsystems called the Green Project, led by James Gosling along with Mike Sheridan and Patrick Naughton. The goal was a language for interactive television and consumer devices — small, embedded systems with limited, varied hardware. The team needed a language that could run unmodified on many different chips, since rewriting software for every device was impractical.
From Oak to Java
The language was originally called Oak, reportedly named after an oak tree outside Gosling’s office. When it turned out the name was already trademarked by another company, the team renamed it Java — supposedly inspired by the coffee some of the developers drank (which is also why the language’s mascot is a coffee cup and its early logo featured steaming coffee).
Interactive TV never took off as a market, but the web did. Sun recognized that the same “runs anywhere” property Java was built for embedded devices was exactly what the emerging World Wide Web needed: applets that could run inside any browser on any operating system. Java was officially released in 1995 with the tagline “Write Once, Run Anywhere” (WORA).
Write Once, Run Anywhere
WORA was made possible by the Java Virtual Machine (JVM). Java source code compiles to an intermediate, platform-neutral format called bytecode, not directly to the native instructions of one operating system. Any machine with a JVM installed — Windows, Solaris, Linux, macOS — could run that same bytecode. This was a genuinely novel pitch in the mid-1990s, when software typically had to be recompiled or rewritten for every target platform.
Oracle Acquires Sun
Sun Microsystems continued to develop and steward Java for over a decade. In 2010, Oracle Corporation acquired Sun Microsystems, and with it, stewardship of the Java language, the JVM, and the broader Java platform. Oracle continues to lead the Java Community Process (JCP) that evolves the language today, alongside major contributions from the OpenJDK community.
Major Milestones
Version | Year | Highlights |
|---|---|---|
Java 1.0 | 1996 | First public release; the original WORA promise. |
Java 5 | 2004 | Generics, enhanced for-loop, annotations, autoboxing. |
Java 8 | 2014 | Lambda expressions, the Stream API, the new Date/Time API — arguably the biggest shift in how Java code is written. |
Java 9 | 2017 | Module system (Project Jigsaw); start of the new 6-month release cycle. |
Java 11 (LTS) | 2018 | Long-Term Support release; the var keyword for local variables; new HTTP client. |
Java 17 (LTS) | 2021 | Long-Term Support release; sealed classes, pattern matching for instanceof, records finalized. |
Java 21 (LTS) | 2023 | Long-Term Support release; virtual threads (Project Loom), record patterns, pattern matching for switch. |
1991 — The Green Project begins at Sun Microsystems.
1995 — Java 1.0 is publicly released as "Oak" renamed to "Java".
2004-2014 — Generics, then lambdas and streams, modernize the language.
2010 — Oracle acquires Sun Microsystems.
2017 onward — Six-month release cycle with periodic LTS versions.