DiscoverLes Cast Codeurs PodcastLCC 317 - les nouvelles paramétriques
LCC 317 - les nouvelles paramétriques

LCC 317 - les nouvelles paramétriques

Update: 2024-10-21
Share

Description

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/

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
Comments 
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

LCC 317 - les nouvelles paramétriques

LCC 317 - les nouvelles paramétriques