LCC 325 - Trier le hachis des concurrents
Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 9 mai 2025 · 1 h 50 min
Gros épisode qui couvre un large spectre de sujets : Java, Scala, Micronaut, NodeJS, l'IA et la compétence des développeurs, le sampling dans les LLMs, les DTO, le vibe coding, les changements chez Broadcom et Red Hat ainsi que plusieurs nouvelles sur les licences open source.
Enregistré le 7 mai 2025
Téléchargement de l'épisode LesCastCodeurs-Episode-325.mp3 ou en vidéo sur YouTube.
News
Langages
A l'occasion de JavaOne et du lancement de Java 24, Oracle lance un nouveau site avec des ressources vidéo pour apprendre le langage https://learn.java/
site plutôt à destination des débutants et des enseignants
couvre la syntaxe aussi, y compris les ajouts plus récents comme les records ou le pattern matching
c'est pas le site le plus trendy du monde.
Martin Odersky partage un long article sur l'état de l'écosystème Scala et les évolutions du language https://www.scala-lang.org/blog/2025/03/24/evolving-scala.html
Stabilité et besoin d'évolution : Scala maintient sa position (~14ème mondial) avec des bases techniques solides, mais doit évoluer face à la concurrence pour rester pertinent.
Axes prioritaires : L'évolution se concentre sur l'amélioration du duo sécurité/convivialité, le polissage du langage (suppression des "rugosités") et la simplification pour les débutants.
Innovation continue : Geler les fonctionnalités est exclu ; l'innovation est clé pour la valeur de Scala. Le langage doit rester généraliste et ne pas se lier à un framework spécifique.
Défis et progrès : L'outillage (IDE, outils de build comme sbt, scala-cli, Mill) et la facilité d'apprentissage de l'écosystème sont des points d'attention, avec des améliorations en cours (partenariat pédagogique, plateformes simples).
Des strings encore plus rapides ! https://inside.java/2025/05/01/strings-just-got-faster/
Dans JDK 25, la performance de la fonction String::hashCode a été améliorée pour être principalement constant foldable.
Cela signifie que si les chaînes de caractères sont utilisées comme clés dans une Map statique et immuable, des gains de performance significatifs sont probables.
L'amélioration repose sur l'annotation interne @Stable appliquée au champ privé String.hash.
Cette annotation permet à la machine virtuelle de lire la valeur du hash une seule fois et de la considérer comme constante si elle n'est pas la valeur par défaut (zéro).
Par conséquent, l'opération String::hashCode peut être remplacée par la valeur de hash connue, optimisant ainsi les lookups dans les Map immuables.
Un cas limite est celui où le code de hachage de la chaîne est zéro, auquel cas l'optimisation ne fonctionne pas (par exemple, pour la chaîne vide "").
Bien que l'annotation @Stable soit interne au JDK, un nouveau JEP (JEP 502: Stable Values (Preview)) est en cours de développement pour permettre aux utilisateurs de bénéficier indirectement de fonctionnalités similaires.
AtomicHash, une implémentation Java d'une HashMap qui est thread-safe, atomique et non-bloquante https://github.com/arxila/atomichash
implémenté sous forme de version immutable de Concurrent Hash Trie
Librairies
Sortie de Micronaut 4.8.0 https://micronaut.io/2025/04/01/micronaut-framework-4-8-0-released/
Mise à jour de la BOM (Bill of Materials) : La version 4.8.0 met à jour la BOM de la plateforme Micronaut.
Améliorations de Micronaut Core : Intégration de Micronaut SourceGen pour la génération interne de métadonnées et d'expressions bytecode.
Nombreuses améliorations dans Micronaut SourceGen.
Ajout du traçage de l'injection de dépendances pour faciliter le débogage au démarrage et à la création des beans.
Nouveau membre definitionType dans l'annotation @Client pour faciliter le partage d'interfaces entre client et serveur.
Support de la fusion dans les Bean Mappers via l'annotation @Mapping.
Nouvelle liveness probe détectant les threads bloqués (deadlocked) via ThreadMXBean.
Intégration Kubernetes améliorée : Mise à jour du client Java Kubernetes vers la version 22.0.1.
Ajout du module Micronaut Kubernetes Client OpenAPI, offrant une alternative au client officiel avec moins de dépendances, une configuration unifiée, le support des filtres et la compatibilité Native Image.
Introduction d'un nouveau runtime serveur basé sur le serveur HTTP intégré de Java, permettant de créer des applications sans dépendances serveur externes.
Ajout dans Micronaut Micrometer d'un module pour instrumenter les sources de données (traces et métriques).
Ajout de la condition condition dans l'annotation @MetricOptions pour contrôler l'activation des métriques via une expression.
Support des Consul watches dans Micronaut Discovery Client pour détecter les changements de configuration distribuée.
Possibilité de générer du code source à partir d'un schéma JSON via les plugins de build (Gradle et Maven).
Web
Node v24.0.0 passe en version Current: https://nodejs.org/en/blog/release/v24.0.0
Mise à jour du moteur V8 vers la version 13.6 : intégration de nouvelles fonctionnalités JavaScript telles que Float16Array, la gestion explicite des ressources (using), RegExp.escape, WebAssembly Memory64 et Error.isError.
npm 11 inclus : améliorations en termes de performance, de sécurité et de compatibilité avec les packages JavaScript modernes.
Changement de compilateur pour Windows : abandon de MSVC au profit de ClangCL pour la compilation de Node.js sur Windows.
AsyncLocalStorage utilise désormais AsyncContextFrame par défaut : offrant une gestion plus efficace du contexte asynchrone.
URLPattern disponible globalement : plus besoin d'importer explicitement cette API pour effectuer des correspondances d'URL.
Améliorations du modèle de permissions : le flag expérimental --experimental-permission devient --permission, signalant une stabilité accrue de cette fonctionnalité.
Améliorations du test runner : les sous-tests sont désormais attendus automatiquement, simplifiant l'écriture des tests et réduisant les erreurs liées aux promesses non gérées.
Intégration d'Undici 7 : amélioration des capacités du client HTTP avec de meilleures performances et un support étendu des fonctionnalités HTTP modernes.
Dépréciations et suppressions :
Dépréciation de url.parse() au profit de l'API WHATWG URL.
Suppression de tls.createSecurePair.
Dépréciation de SlowBuffer.
Dépréciation de l'instanciation de REPL sans new.
Dépréciation de l'utilisation des classes Zlib sans new.
Dépréciation du passage de args à spawn et execFile dans child_process.
Node.js 24 est actuellement la version "Current" et deviendra une version LTS en octobre 2025. Il est recommandé de tester cette version pour évaluer son impact sur vos applications.
Data et Intelligence Artificielle
Apprendre à coder reste crucial et l'IA est là pour venir en aide : https://kyrylo.org/software/2025/03/27/learn-to-code-ignore-ai-then-use-ai-to-code-even-better.html
Apprendre à coder reste essentiel malgré l'IA.
L'IA peut assister la programmation.
Une solide base est cruciale pour comprendre et contrôler le code.
Cela permet d'éviter la dépendance à l'IA.
Cela réduit le risque de remplacement par des outils d'IA accessibles à tous.
L'IA est un outil, pas un substitut à la maîtrise des fondamentaux.
Super article de Anthropic qui essaie de comprendre comment fonctionne la "pensée" des LLMs https://www.anthropic.com/research/tracing-thoughts-language-model
Effet boîte noire : Stratégies internes des IA (Claude) opaques aux développeurs et utilisateurs.
Objectif : Comprendre le "raisonnement" interne pour vérifier capacités et intentions.
Méthode : Inspiration neurosciences, développement d'un "microscope IA" (regarder quels circuits neuronaux s'activent).
Technique : Identification de concepts ("features") et de "circuits" internes.
Multilinguisme : Indice d'un "langage de pensée" conceptuel commun à toutes les langues avant de traduire dans une langue particulière.
Planification : Capacité à anticiper (ex: rimes en poésie), pas seulement de la génération mot par mot (token par token).
Raisonnement non fidèle : Peut fabriquer des arguments plausibles ("bullshitting") pour une conclusion donnée.
Autres épisodes de « Les Cast Codeurs Podcast »
- LCC 344 - Feature flags - 2^n raisons de ne pas dormir la nuit 20 octobre 2026
- LCC 343 - Trois IA, une seule prise électrique 14 septembre 2026
- LCC 342 - Bun en Rust, TypeScript en Go 21 juillet 2026
- LCC 341 - Endives ou Chicorée ? 22 juin 2026
- LCC 340 - Episode on l'voit on l'voit pas 12 mai 2026
- LCC 339 - Clotûre de Devoxx France 2026 par les cast codeurs 29 avril 2026
- LCC 338 - Le soulèvement des bots de skills 20 mars 2026
- LCC 337 - Datacenters Carrier Class dans l'espace 16 février 2026
- LCC 336 - Interview Kotlin avec Arnaud Giuliani 6 février 2026
- LCC 335 - 200 terminaux en prod vendredi 16 janvier 2026
- LCC 334 - Interview de Muriel Ekovich sur les biais cognitifs 24 décembre 2025
- LCC 333 - A vendre OSS primitif TBE 15 décembre 2025
- LCC 332 - Groquik revient, Emmanuel s'en va 18 novembre 2025
- LCC 331 - Le retour des jackson 5 6 novembre 2025
- LCC 330 - Nano banana l'AI de Julia 15 septembre 2025
À propos du podcast
Les Cast Codeurs : le podcast en français de, par et pour les développeurs. Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview. Supportez les radotages de vos hôtes : Emmanuel Bernard (ex Red Hat,…
Épisodes similaires
- Acte III: « Tous les policiers sont mobilisés, de la plus petite ville à Paris » assure Agathe Foucault, porte-parole de la police nationale – L'interview politique du week-end
- Récolte, variétés, vente directe : les secrets de La Pommeraie de Charlotte à Cavaillon – Les circuits courts en France
- L’École Française Digitale : un enseignement flexible qui s’adapte | Delphine Ithembela, cofondatrice de l’École Française Digitale – L'invité de PME Radio
- Attentat de Trappes : une idéologie peut-elle facilement conduire à un passage à l’acte – Radical, le podcast de l'Observatoire des radicalités
- Mobilisations : «Je constate une déliquescence de la France, on ne pourra pas revenir en arrière», s'alarme un commercant – Eliot Deval et vous
Tous les épisodes de Les Cast Codeurs Podcast · Plus de podcasts Actualités