So, I went to Devoxx 2024 and I thought it would be good idea to write up what I've witnessed, and what I've missed and thought was interesting.
- Java 23 - Better Language, Better APIs, Better Runtime - Nicolai Parlog
https://www.youtube.com/watch?v=3azeRvyVe6g&t=8147s - Escape from the Planet of the Collections -Maurice Naftalin, Stuart Marks
https://www.youtube.com/watch?v=aj6E0KF6sd4&t=3s - Memory API: Patterns, Uses Cases, and Performance - José Paumard, Remi Forax
https://www.youtube.com/watch?v=46b4SALICyA - Refactoring your Application to Data Oriented Programming - Ana-Maria Mihalceanu, José Paumard
- Keynotes
I particularly liked "Postcards from the Peak of Complexity" by Brian Goetz
https://www.youtube.com/watch?v=Yiye8lqh0Ig - Software archaeology - Learning from the landing on the moon! - Tobias Voss
https://www.youtube.com/watch?v=EpjWkWLkJ9c - Kotlin 2.0 and beyond - Anton Arhipov
https://www.youtube.com/watch?v=B-DoVr12fK0 - Serialization: A New Hope - Victor Klang, Brian Goetz
https://www.youtube.com/watch?v=mIbA2ymCWDs - From Science Fiction to Garage Science: My Journey Building a Farnsworth Fusor with AI - Hudhayfa Nazoordeen
https://www.youtube.com/watch?v=nYpnm-oaPRI - Tip and Tail for library maintainers - Georges Saab, Brian Goetz
- If Streams Are So Great, Let’s Use Them Everywhere... Right?? - Maurice Naftalin, José Paumard
https://www.youtube.com/watch?v=GwKRRsjfBOA - Hunting with Stream Gatherers - Piotr Przybyl
https://www.youtube.com/watch?v=rvW8tu1n5x4 - Valhalla - Where Are We? - Brian Goetz
https://www.youtube.com/watch?v=eL1yyTwu4hc - Modern Java in Action - Nicolai Parlog
https://www.youtube.com/watch?v=bSyNJBzv7U8 - Ask the Architect - Alan Bateman, Gavin Bierman, Per Minborg, Stuart Marks, Brian Goetz
https://www.youtube.com/watch?v=bxSE7lXIlJI - Java Performance Update 2024 - Per Minborg
https://www.youtube.com/watch?v=xFb_LcapbXw - Programming’s Greatest Mistakes - Mark Rendle
target="_blank">https://www.youtube.com/watch?v=C9YQLzSybU8 - Continuations: The magic behind virtual threads in Java - Balkrishna Rawool https://www.youtube.com/watch?v=HQsYsUac51g
- Words as weapons: The dark arts of Prompt Engineering - Jeroen Egelmeers
https://www.youtube.com/watch?v=69uWV1GkQz4
What I would have liked to see
And since these things are available on the Internet, I'll see about viewing them afterwards.
- Java's Concurrency Journey Continues! Exploring Structured Concurrency and Scoped Values - Hanno Embregts
https://www.youtube.com/watch?v=0siacvqx5UE - Bring the action: using GraalVM in production - Alina Yurenko
https://www.youtube.com/watch?v=axQXBKHSwkM - Design Patterns Revisited in Modern Java - Venkat Subramaniam
https://www.youtube.com/watch?v=kE5M6bwruhw&t=1s - Cruising Along with Java: Benefiting from the Modern Features - Venkat Subramaniam
https://www.youtube.com/watch?v=gZM4FKd4VlY - DevoxxGenie: Your AI Assistant for IDEA - Gunter Rotsaert
https://www.youtube.com/watch?v=c5EyVLAXaGQ - HTTP/3 and QUIC: Who, what, where, when and, WHY? - Robin Marx
https://www.youtube.com/watch?v=4rYPXgCKamM - Generic or Specific? Making sensible software design decisions - Bert Jan Schrijver
https://www.youtube.com/watch?v=DgclnCakX4A - The Best of Java Shorts Show: 100 Snippets in 50 Minutes - Adam Bien
https://www.youtube.com/watch?v=t03DOhiTPkc - Java Language Futures - Gavin Bierman
https://www.youtube.com/watch?v=3T0g90xId0Q - Project Panama in Action: Building a File System - David Vlijmincx
https://www.youtube.com/watch?v=OV_bBnj2Lew - The next phase of Project Loom and Virtual Threads - Alan Bateman
https://www.youtube.com/watch?v=3BFcYTpHwHw
Notes
The Security Manager will be removed, which makes sense. It's one of the last things left over from the "Java Apps running in your Browser" - days. Nowadays, all the security takes place in dockers and containers and operating systems etc.
JEP stands for Java Enhancement Proposal. But these can be very different. Apparently there are "Process" JEPs and "Informational" JEPS (for example JEP 14).
StringTemplates was removed from the JDK for now, next iteration of the design in the works soonish.
With the new Memory API, there's a focus on making it secure, because a lot of security breaches and hackers make use of badly written code that messes with memory. The white house even published something about it. See the references. In the future there might even be a Draft JEP for it "Integrity by Default".
In the early days, arithmetic and memory fetch had the same cost. Nowadays the CPUs are soo fast, arithmetic has a much faster operation speed, than a memory fetch. This needs to be taken into account when designing language features.
Quotes
Some relevant quotes that I picked up during talks, always fun:
“We do these things not because they are easy, but because we thought they would be easy.”
“I apologize for writing you a long letter. I did not have time to write a short one.”
- Blaise Pascal
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
- Antoine de Saint-Exupéry
References
- Sheets - Java 23 Better Language, Better APIs, Better Runtime
- https://slides.nipafx.dev/java-x/#/
- Sheets - Memory API patterns, use cases and performance
- https://speakerdeck.com/josepaumard/memory-api-patterns-use-cases-and-performance
- Devoxx Google Cloud
- https://cloud.google.com/developers/devoxxbelgium
- WebForJ
- https://documentation.webforj.com
- Martin Fowler - Anemic Domain Model
- https://martinfowler.com/bliki/AnemicDomainModel.html
- Github - DevoxxGenie
- https://github.com/devoxx/DevoxxGenieIDEAPlugin
- IntellIJ Plugins - DevoxxGenie
- https://plugins.jetbrains.com/plugin/24169-devoxxgenie
- Amsterdam Voxxeddays
- https://amsterdam.voxxeddays.com/
- Google Notebook
- https://notebooklm.google.com/?pli=1
- Oracle Cloud
- https://go.oracle.com/LP=144680
- OpenJDK - JEP 14: The Tip & Tail Model of Library Development
- https://openjdk.org/jeps/14
- Crafting AI Prompts Framework - Adversarial Prompting
- https://craftingaiprompts.org/documentation/adversarial-prompting#adversarial-prompting
- Project Valhalla
- https://openjdk.org/projects/valhalla/
- The White House - Press Release: Future Software Should Be Memory Safe
- https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/
- Quarkus In Action
- https://developers.redhat.com/e-books/quarkus-action
- The best Java 22 feature: concurrent gathering
- https://softwaregarden.dev/en/posts/new-java/gatherers/concurrent/
- GitHub - Modern Java In Action
- https://github.com/nipafx/modern-java-demo
No comments:
Post a Comment