typestar

Languages

Java

Thirty years old, still everywhere, and better company than it used to be.

First released
1995 (1.0 in 1996)
Created by
James Gosling's team at Sun Microsystems
Typing
Static and strong, with local inference via var
File extensions
.java

What it is for

Java is the language of systems that cannot fall over: banking cores, airline reservations, Android apps, and a startling share of the world's backend services. The JVM is the reason. Thirty years of engineering went into its garbage collectors and its just-in-time compiler, and code written for Java 1.2 in 1998 still runs on Java 21. No other mainstream platform makes a compatibility promise that long and keeps it.

The ecosystem is the second reason. Spring is the default web framework of enterprise software, Maven Central holds decades of libraries, and Kafka, Elasticsearch, Hadoop and half the big-data canon are JVM programs. Learning Java also buys the ability to read the infrastructure everything else runs on.

The reputation for ceremony is a decade stale. Records replaced the forty-line data class, var trimmed the declarations, switch grew pattern matching, and virtual threads arrived in 21 to make blocking code scale. Old Java is still out there in quantity, and reading it remains a marketable skill, but new Java reads surprisingly close to the languages that were designed to escape it.

Where it came from

James Gosling's team at Sun built Oak for interactive television; the set-top boxes never came, the web did, and the renamed Java shipped in 1995 with an applet in the Netscape browser and a promise: write once, run anywhere. The applets died. The promise, running on servers instead, built the largest enterprise platform in history.

Generics arrived in Java 5 in 2004, erased at runtime to keep old bytecode working — the compatibility promise made structurally. Java 8's lambdas and streams in 2014 were the largest change the language ever absorbed, and the version much of the industry stood on for a decade.

Oracle acquired Sun in 2010, open-sourced development consolidated on OpenJDK, and since 2017 a version has shipped every six months. Records, sealed types, pattern matching and virtual threads all landed in that cadence, with an LTS release every two years — 21 in 2023, 25 in 2025 — marking where production actually stands.

What it is like to type

Java types in long, even lines: camelCase method chains, CamelCase types, and enough System.out.println to make that phrase muscle memory by the third snippet. Generics bring angle brackets in pairs, lambdas bring the arrow, and the semicolon ends nearly every line, so the right pinky stays busy. The verbosity is regular and predictable, which makes Java corpus practice unusually good for building rhythm.

Practice Java

29 steps across 1 tours, from the basics to complete programs.

The tours

Official documentation

Other languages