Return to site

🍬💊 Java 8 was CANDY; Java 9 was MEDICINE

August 24, 2026

“Some have described Java 8 as candy with Lambdas and Java 9 as medicine with modules.”--Mark Reinhold

This comparison perfectly captures how developers received two major Java releases. ☕

🔸 TLDR

▪️ Java 8 gave developers features they could enjoy immediately.

▪️ Java 9 introduced structural changes that were less exciting; but necessary for Java’s long-term health.

🔸 WHY JAVA 8 FELT LIKE CANDY 🍬

Lambdas, Streams and functional-style APIs made everyday Java code more expressive.

---

Developers could quickly see the benefits:

▪️ Less boilerplate code.

▪️ More declarative collection processing.

▪️ Easier composition of operations.

▪️ A modernized programming model.

Java 8 offered improvements developers could start using without redesigning their entire applications.

🔸 WHY JAVA 9 FELT LIKE MEDICINE 💊

The Java Platform Module System introduced explicit modules, dependencies and encapsulation.

---

Unlike Lambdas, modules were not primarily designed to make individual lines of code more pleasant. They addressed deeper architectural challenges:

▪️ The growing size of the JDK.

▪️ Weak boundaries between components.

▪️ Reliance on internal JDK APIs.

▪️ The need for more maintainable and secure applications.

The migration could be uncomfortable (especially for large legacy systems) but medicine is rarely chosen for its taste. It is chosen for its long-term benefits. 🏗️

🔸 TAKEAWAYS

▪️ Not every valuable Java feature delivers immediate developer happiness.

▪️ Language features improve how we write code.

▪️ Platform features improve how systems evolve.

▪️ Sustainable ecosystems need both candy and medicine.

Java 8 made Java development sweeter.

Java 9 helped prepare the platform for its next decades. 🚀

#Java #Java8 #Java9 #Lambdas #JavaModules #JPMS #SoftwareArchitecture #JavaDeveloper #Programming #SoftwareEngineering #OpenJDK

Go further with Java certification:

Java👇

Spring👇

SpringBook👇

JavaBook👇