Java was not underhyped in 1997 (2021)
Context of the 1990s Java Hype
- Many recall Java as wildly overhyped: “rewrite everything in Java” including office suites, browsers, and cross-platform desktops.
- Others argue the hype was partly justified: Java promised VM-based portability, memory safety, and network-centric programming at a time of Microsoft dominance and fragmented OS platforms.
- A useful framing: 1997 hype was selling the Java (and Internet) of ~2007; ideas were right, timing and maturity were wrong.
Technical Strengths and Weaknesses
- Strengths highlighted:
- Memory safety and GC vs C/C++, especially important for enterprise reliability.
- Early support for distributed systems (RMI, JNDI, serialization) and a serious VM/JIT story.
- JVM sandboxing and security model (later mostly abandoned as applets died).
- Weaknesses and early pain:
- Slow startup, heavy RAM use, frequent crashes in applets and Swing-era tools on 1990s hardware.
- Immature libraries and clunky cross-platform GUIs (AWT/Swing vs native toolkits).
- Core language limitations in early Java (no generics, awkward collections, boilerplate).
Industry, Enterprise, and Academia
- Java became a default for backend and “enterprise” systems, displacing COBOL/Ada and much C++; still dominant in Fortune 100/500 backends and on mainframes/midrange.
- Enterprise frameworks (EJB, then Spring) brought both power and excessive complexity; Spring is seen as simultaneously enabling and obscuring.
- Sun’s deliberate push into universities seeded an entire generation of Java-trained developers.
- Java lowered total cost of ownership for big organizations by enabling large, average-skill teams to build reliable systems.
Comparisons and Legacy
- Compared with Rust/“rewrite in Rust”: Java and Rust are both justified by safety, but operate in different niches; many doubt Rust will reshape general business software as Java did.
- Other safe languages (VB, PowerBuilder, xBase, Perl, Python, PHP, JS) also eroded C/C++’s reach; Java is one of several, but had unique reach via the JVM and J2EE.
- Modern debates focus on GC performance, lack of unsigned primitives, and the “Java-enterprise mindset,” but many tools (IDEs, DB clients, Android stack) and major clouds still rely heavily on Java.
- Several comments connect Java’s 1990s hype cycle to today’s AI/LLM and crypto hype: some claims will prove prescient, others wildly overstated.