Is Java 24 a Functional Programming Language?
summary
Java 24 adds concrete FP-facing pieces—sealed types with VM-enforced closed hierarchies, records that auto-generate constructors/equals/hashCode for algebraic-style data, and expanded pattern matching (including switch with record patterns)—and platform work like virtual threads (Loom) and Project Valhalla value classes. The talk claims real progress since 2022 but shows remaining gaps: no tail-call elimination, no built‑in laziness or currying, nominal typing and primitive/value duality still unresolved, and Streams/Collections remain cumbersome for pure FP; previous score was about 3.5/7.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 2:492022 functional Java recap
- 3:52Seven properties of FP
- 5:17Functional scorecard explained
- 11:25Java collections limitations
- 14:43Java streams attempt
- 17:32Java’s static type system
- 22:50Java’s functional limits
- 23:32Java 17 functional features
- 30:05Java 21 LTS and virtual threads
- 31:37Pattern matching in Java 21
- 36:57Virtual threads solution
- 42:36Project Valhalla value types
- 44:41Q&A
related talks
52mFunctional Programming with Java 8
52mJava Language Futures
51mFunctional Programming with Java
48mEmbrace the Func - How Far has Functional Programming Come in Java?
49mRelax, It's Just FP
51mJava 24 - Better Language, Better APIs, Better Runtime
54mJava Language Futures: Late 2019 Edition
52mTo Java 21 and Beyond!
