LCC 317 - les nouvelles paramétriques

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 21 octobre 2024 · 1 h 22 min

De Java 23 à WebAssembly, en passant par l'IA et les design patterns, on a tout passé au crible #java #swift #webassembly #wordpress #webcomponents #llm #mongodb #keycloak #fairsource

Enregistré le 18 octobre 2024

Téléchargement de l'épisode LesCastCodeurs-Episode–317.mp3

News

Langages

Java 23 est sorti ! InfoQ liste toutes les JEPs intégrées à la nouvelle version https://www.infoq.com/news/2024/09/java23-released/ Et FooJay plonge dans le détail https://foojay.io/today/java–23-has-arrived-and-it-brings-a-truckload-of-changes/

JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)

JEP 466: Class-File API (Second Preview)

JEP 467: Markdown Documentation Comments

JEP 469: Vector API (Eighth Incubator)

JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal

JEP 473: Stream Gatherers (Second Preview)

JEP 474: ZGC: Generational Mode by Default

JEP 476: Module Import Declarations (Preview)

JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview)

JEP 480: Structured Concurrency (Third Preview)

JEP 481: Scoped Values (Third Preview)

JEP 482: Flexible Constructor Bodies (Second Preview)

StringTemplate s'en va

Un article sur l'API ClassFile qui sera un standard dans le JDK pour manipuler des classes (ala ASM) https://www.unlogged.io/post/class-file-api-not-your-everyday-java-api

article long mais qui revient sur les raisons

notamment parce que ASM est dans le JDK et qu'ils sont un problème de poule et d'oeuf

et sur la forme de l'API

a des exemples d'usage

tout cela reste en preview dans le JDK

des optimisation comme le lazy parsing et le constant pool sharing (en gros faire de la reference sur ce qui n'a pas changé

Tip and Tail is back: cette fois une JEP https://openjdk.org/jeps/14

plus qu'une keynote provocative au language summit

maintenant une JEP dite informative

le language est un pu flou sur l'objectif

entre regarder tip and tail pour vos librairies c'est bien

et adoptons tous le meme tip du JDK jusqu'aux stack applicatives

Apple annonce la sortie de son language Swift en version 6 https://www.swift.org/blog/announcing-swift–6/

Nouvelles plateformes : Swift 6 s'étend à de nouvelles plateformes (tous les grands OS déjà supportés), y compris les systèmes embarqués (sous ARM et Risc V).

Swift Testing : Swift 6 introduit Swift Testing, une nouvelle bibliothèque de tests conçue pour Swift.

Concurrence : Détection de data race en tant qu'erreur de compilation.

Apple annonce travailler sur l'interopérabilité Swift / Java https://github.com/swiftlang/swift-java

comme jextract mais dans l'autre sens

The news Java https://www.infoq.com/news/2024/10/java-news-roundup-oct07–2024/

JDK 24 : Un calendrier pour la sortie de JDK 24 a été proposé. La première phase de réduction des fonctionnalités commencera le 5 décembre 2024. La version finale sera disponible le 18 mars 2025.

JDK 24 introduira des mises à jour avec deux nouvelles API. La Vector API (JEP 489) facilitera les opérations sur des vecteurs, tandis que la Class-File API (JEP 484) permettra une manipulation plus efficace des fichiers de classes Java.

Un changement de sécurité important est proposé avec JEP 486. Il prévoit de désactiver définitivement le Security Manager, qui a été déprécié. Cette décision signifie que cette fonctionnalité ne sera plus disponible dans les futures versions, car elle est considérée comme obsolète.

Apache Tomcat et Cassandra : Les nouvelles versions de Tomcat (11.0.0) et de Cassandra (5.0.0) sont sorties. Elles incluent des améliorations et des corrections de bogues.

Spring Framework : Des mises à jour pour Spring Framework (versions 3.4.0-M2, 3.3.3 et 3.2.8) ont été publiées. Elles intègrent le support d'une nouvelle API qui aide à la gestion de la mémoire.

Quarkus : Red Hat a sorti la version 3.15 de Quarkus, qui apporte des corrections et des améliorations. Une nouvelle version, la 3.16, est prévue pour la fin octobre.

Commonhaus Foundation : Une nouvelle organisation, la Commonhaus Foundation, a été créée pour aider les projets open source à être durables. Quarkus a rejoint cette fondation.

Cassandra, Camel, Lamgchain, Micronaut, OpenLibery, JHipster, Ktor etc.

Design patterns revisited: https://www.youtube.com/watch?v=kE5M6bwruhw

Design and design patterns.

Optional: patterns and anti-patterns.

Iterator pattern.

Lightweight Strategy.

Factory Method using default methods.

Laziness using Lambda Expressions.

Decorator using Lambda Expressions.

Creating Fluent interfaces.

Execute Around Method Pattern.

Creating a Closed Hierarchy with sealed classes.

Popularité des langages de programmation https://www.techspot.com/news/105157-python-most-popular-coding-language-but-challengers-gaining.html

Python reste le langage de programmation le plus populaire, surtout dans des domaines comme la science des données et le développement web.

Il est apprécié pour sa simplicité et le grand nombre de bibliothèques disponibles, ce qui le rend facile à apprendre et à utiliser.

De nombreuses entreprises, y compris des startups, utilisent Python pour diverses applications.

Malgré sa dominance, d'autres langages comme JavaScript, Java et Go gagnent en popularité et pourraient défier la position de leader de Python. (Java est monté du poste 4 au 3, en 1 an)

Les développeurs qui codent occasionnellement préfèrent Python, montrant ainsi son attrait au-delà des programmeurs professionnels.

L'émergence d'outils comme ChatGPT facilite l'accès à la programmation, ce qui pourrait influencer les tendances futures en matière de langages de programmation.

Librairies

Paramétrer ses tests JUnit 5 avec @CsvSource https://mikemybytes.com/2021/10/19/parameterize-like-a-pro-with-junit–5-csvsource/

l'annotation permet d'avoir ses données de test au plus près de la méthode

on écrit les données de test sous forme de CSV (éventuellement avec des délimiteurs de son choix pour plus de lisibilité, pour bien séparer les valeurs)

par exemple -> ou maps to

les valeurs peut être les paramètres de la method mai aussi les valeur de description du test

Infrastructure

Turbocharged Development: The Speed and Efficiency of WebAssembly par Danielle Lancashire https://devsummit.infoq.com/presentation/munich2024/turbocharged-development-speed-and-efficiency-webassembly

L'utilisation de WebAssembly avec Serverless. Faire tourner des applications plus facilement dans le cloud.WebAssembly est rapide et sûr pour exécuter du code. Cela aide à déployer les applications plus rapidement et à utiliser moins de ressources.

De nombreuses entreprises utilisent WebAssembly pour des tâches comme le traitement d'images et de données. Des plateformes comme Cloudflare Workers et AWS Lambda.

La communauté autour de WebAssembly granèit. De nouveaux outils et bibliothèques sont créés.

Cependant, il y a encore des défis à relever, comme la compatibilité et les performances. Malgré cela, l'avenir de WebAssembly est prometteur.

Web

C'est la guerre chez Wordpress https://techcrunch.com/2024/09/26/wordpress-vs-wp-engine-drama-explained/

une boite nommée WP Engine fait du hosting de WordPress mais ne contribue pas

Automatic, les gens derrière WordPress leur onbt demandé de résoudre ce probleme, soit en payant des droits de trademark soit en contribuant de l'engineering upstream à auteur de 8% de leurs revenus

WP Engine dit non

Automatic coupe l'accès aux mises a jours de thèmes et de plugins à WP Engine mettant des sites à risque (securité)

WP Engine dit que c'est un abus de position du CEO d'Automatic sur les accès WordPress.org

Bref c'est le drame

le CEO d'automatic propose à ses employés 6 mois de salaire si ils ne sont pas d'accord avec la stratégie https://www.cio.com/article/3550331/one-twelfth-of-automattic-staff-leave-over-wordpress-wp-engine-spat.html

8% ont pris l'offre

Les WebComposants ne sont pas le fuitur https://dev.to/ryansolid/web-components-are-not-the-future–48bh

un article d'un auteur proéminent de framework JavaScript

Discute les avantages et les inconvenients de la standardisation

qui permet d'élever le débat mais aussi bloque des avenues d'optimisations

Autres épisodes de « Les Cast Codeurs Podcast »

À 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,…

Les Cast Codeurs Podcast

Épisodes similaires

Tous les épisodes de Les Cast Codeurs Podcast · Plus de podcasts Actualités