Katia, Emmanuel et Guillaume discutent Java, Kotlin, Quarkus, Hibernate, Spring Boot 4, intelligence artificielle (modèles Nano Banana, VO3, frameworks agentiques, embedding). On discute les vulnerabilités OWASP pour les LLMs, les personalités de codage des différents modèles, Podman vs Docker, comment moderniser des projets legacy. Mais surtout on a passé du temps sur les présentations de Luc Julia et les différents contre points qui ont fait le buzz sur les réseaux.
Enregistré le 12 septembre 2025
Téléchargement de l'épisode LesCastCodeurs-Episode-330.mp3 ou en vidéo sur YouTube.
News
Langages
Dans cette vidéo, José détaille les nouveautés de Java entre Java 21 et 25 https://inside.java/2025/08/31/roadto25-java-language/
- Aperçu des nouveautés du JDK 25 : Introduction des nouvelles fonctionnalités du langage Java et des changements à venir [00:02].
- Programmation orientée données et Pattern Matching [00:43] :
- Évolution du "pattern matching" pour la déconstruction des "records" [01:22].
- Utilisation des "sealed types" dans les expressions switch pour améliorer la lisibilité et la robustesse du code [01:47].
- Introduction des "unnamed patterns" (_) pour indiquer qu'une variable n'est pas utilisée [04:47].
- Support des types primitifs dans instanceof et switch (en preview) [14:02].
- Conception d'applications Java [00:52] :
- Simplification de la méthode main [21:31].
- Exécution directe des fichiers .java sans compilation explicite [22:46].
- Amélioration des mécanismes d'importation [23:41].
- Utilisation de la syntaxe Markdown dans la Javadoc [27:46].
- Immuabilité et valeurs nulles [01:08] :
- Problème d'observation de champs final à null pendant la construction d'un objet [28:44].
- JEP 513 pour contrôler l'appel à super() et restreindre l'usage de this dans les constructeurs [33:29].
JDK 25 sort le 16 septembre https://openjdk.org/projects/jdk/25/
- Scoped Values (JEP 505) - alternative plus efficace aux ThreadLocal pour partager des données immutables entre threads
- Structured Concurrency (JEP 506) - traiter des groupes de tâches concurrentes comme une seule unité de travail, simplifiant la gestion des threads
- Compact Object Headers (JEP 519) - Fonctionnalité finale qui réduit de 50% la taille des en-têtes d'objets (de 128 à 64 bits), économisant jusqu'à 22% de mémoire heap
- Flexible Constructor Bodies (JEP 513) - Relaxation des restrictions sur les constructeurs, permettant du code avant l'appel super() ou this()