In 2022, I presented "Do We Really Do FP in Java?", a discussion of the language features of Java that support functional programming. We concluded that while many of the basic building blocks of FP are available, and it is very possible to write Java in an FP-style there are still some important gaps compared to fully-featured "true" FP languages such as Haskell or Scala.
Since that time, there have been important developments in Java's FP capabilities, and more are on the horizon, including some updates that address gaps that seemed very difficult or impossible in 2022.
This talk therefore briefly recaps our conclusions from last time, and then dives into what has changed since then, up to and including Java 24 (due for release in March 2025). Our topics include things such as Java's version of algebraic data types, the increasing power of Java pattern matching and ongoing work to incrementally improve features that are already successful.
Towards the end of the talk we'll discuss the future - in particular including some of Java's major in-flight projects, which are changing fundamental aspects of the language and platform - and see how they tie up with FP. This will especially include Project Valhalla, Project Amber and Structured Concurrency. We'll also reconsider the question of whether Java has "closed the FP gap" with languages like Kotlin, Scala and Clojure.
* Summary of 2022 talk
* What has changed
* The situation for Java 24 (& 25)
* The Future
* Conclusions
Since that time, there have been important developments in Java's FP capabilities, and more are on the horizon, including some updates that address gaps that seemed very difficult or impossible in 2022.
This talk therefore briefly recaps our conclusions from last time, and then dives into what has changed since then, up to and including Java 24 (due for release in March 2025). Our topics include things such as Java's version of algebraic data types, the increasing power of Java pattern matching and ongoing work to incrementally improve features that are already successful.
Towards the end of the talk we'll discuss the future - in particular including some of Java's major in-flight projects, which are changing fundamental aspects of the language and platform - and see how they tie up with FP. This will especially include Project Valhalla, Project Amber and Structured Concurrency. We'll also reconsider the question of whether Java has "closed the FP gap" with languages like Kotlin, Scala and Clojure.
* Summary of 2022 talk
* What has changed
* The situation for Java 24 (& 25)
* The Future
* Conclusions
Ben Evans
Red Hat
Ben Evans is an author, architect and educator. He is currently Observability Lead and Senior Principal Software Engineer at Red Hat Runtimes.
Previously he was Lead Architect for Instrumentation at New Relic, and co-founded jClarity, a performance tools startup acquired by Microsoft. He has also worked as Chief Architect for Listed Derivatives at Deutsche Bank and as Senior Technical Instructor for Morgan Stanley. He served for 6 years on the Java Community Process Executive Committee, helping define new Java standards.
He is a Java Champion and 3-time JavaOne Rockstar Speaker. Ben is the author of six books, including "Optimizing Cloud Native Java" (O'Reilly), the new editions of “Java in a Nutshell” and the recently-updated “The Well-Grounded Java Developer” (Maning) and his technical articles are read by thousands of developers every month.
Ben is a regular speaker and educator on topics such as the Java platform, systems architecture, performance and concurrency for companies and conferences all over the world.
Previously he was Lead Architect for Instrumentation at New Relic, and co-founded jClarity, a performance tools startup acquired by Microsoft. He has also worked as Chief Architect for Listed Derivatives at Deutsche Bank and as Senior Technical Instructor for Morgan Stanley. He served for 6 years on the Java Community Process Executive Committee, helping define new Java standards.
He is a Java Champion and 3-time JavaOne Rockstar Speaker. Ben is the author of six books, including "Optimizing Cloud Native Java" (O'Reilly), the new editions of “Java in a Nutshell” and the recently-updated “The Well-Grounded Java Developer” (Maning) and his technical articles are read by thousands of developers every month.
Ben is a regular speaker and educator on topics such as the Java platform, systems architecture, performance and concurrency for companies and conferences all over the world.