LCC 298 - De l'IA à toutes les sauces

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 24 juillet 2023 · 1 h 44 min

Dans cet épisode estival Guillaume, Emmanuel et Arnaud parcourent les nouvelles du début d'été. Du Java, du Rust, du Go du coté des langages, du Micronaut, du Quarkus pour les frameworks, mais aussi du WebGPU, de l'agilité, du DDD, des sondages, de nombreux outils et surtout de l'intelligence artificielle à toutes les sauces (dans les bases de données, dans les voitures…).

Enregistré le 21 juillet 2023

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

News

Langages

La release candidate de Go 1.21 supporte WASM et WASI nativement https://go.dev/blog/go1.21rc

StringBuilder ou contatenation de String https://reneschwietzke.de/java/the-stringbuilder-advise-is-dead-or-isnt-it.html

StringBuilder était la recommendation ca cela créait moins d'objects notamment.

Mais la JVM a évolué et le compilateur ou JIT remplace cela par du code efficace

Quelques petites exceptions

le code froid (e.g. startup time) qui est encore interprété peut beneficier de StringBuilder

autre cas, la concatenation dans des boucles où le JIT ne pourrait peut etre pas optimiser

le StringBuilder "fluid" est plus efficace (inliné?)

ces regles ne changement pas si des objects sont stringifié pour etre concaténés

GPT 4 pas une revolution https://thealgorithmicbridge.substack.com/p/gpt-4s-secret-has-been-revealed

rumeur ca beaucou de secret

pas u modele a 1 trillion de parametres maus 8 a 220 Milliards

combinés intelligeament

les chercheurs attendaient un breakthrough amis c'est une envolution et pas particulierement nouveau

methode deja implem,entee par des cherchers chez google (maintenant chez ooenai

ils ont retarde la competition avec ces rumeurs de breakthrough amis 8 LLaMA peut peut etre rivaliser avec GPT4

Le blog Open Source de Google propose un article sur 5 mythes ou non sur l'apprentissage et l'utilisation de Rust https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html

Il faut plus de 6 mois pour apprendre Rust : plutôt faux; quelques semaines à 3-4 mois max

Le compilateur Rust est pas aussi rapide qu'on le souhaiterait — vrai !

Le code unsafe et l'interop sont les plus gros challanges — faux, c'est plutôt les macros, l'owernship/borrowing, et la programmation asynchrone

Rust fournit des messages d'erreur de compilation géniaux — vrai

Le code Rust est de haute qualité — vrai

InfoQ sort un nouveau guide sur le Pattern Matching pour le switch de Java https://www.infoq.com/articles/pattern-matching-for-switch/

Le pattern matching supporte tous les types de référence

L'article parle du cas de la valeur null

L'utilisation des patterns "guarded" avec le mot clé when

L'importance de l'ordre des cases

Le pattern matching peut être utilisé aussi avec le default des switchs

Le scope des variables du pattern

Un seul pattern par case label

Un seul case match-all dans un bloc switch

L'exhaustivité de la couverture des types

L'utilisation des generics

La gestion d'erreur avec MatchException

Librairies

Sortie de Micronaut 4 https://micronaut.io/2023/07/14/micronaut-framework-4-0-0-released/

Langage minimal : Java 17, Groovy 4 et Kotlin 1.8

Support de la dernière version de GraalVM

Utilisation des GraalVM Reachability Metadata Repository pour faciliter l'utilisation de Native Image

Gradle 8

Nouveau Expression Language, à la compilation, pas possible au runtime (pour des raisons de sécurité et de support de pré-compilation)

Support des Virtual Threads

Nouvelle couche HTTP, éliminant les stack frames réactives quand on n'utilise pas le mode réactif

Support expérimental de IO Uring et HTTP/3

Des filtres basés sur les annotations

Le HTTP Client utilise maintenant le Java HTTP Client

Génération de client et de serveur en Micronaut à partir de fichier OpenAPI

L'utilisation YAML n'utilise plus la dépendance SnakeYAML (qui avait des problèmes de sécurité)

Transition vers Jackarta terminé

Et plein d'autres mises à jour de modules

Couverture par InfoQ https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/

Quarkus 3.2 et LTS https://quarkus.io/blog/quarkus-3-2-0-final-released/ https://quarkus.io/blog/quarkus-3-1-0-final-released/ https://quarkus.io/blog/lts-releases/

Infrastructure

Red Hat partage les sources de sa distribution au travers de son Customer Portal, et impacte la communauté qui se base dessus https://almalinux.org/blog/impact-of-rhel-changes/

RedHat a annoncé un autre changement massif qui affecte tous les rebuilds et forks de Red Hat Enterprise Linux. À l'avenir, Red Hat publiera uniquement le code source pour les RHEL RPMs derrière leur portail client. Comme tous les clones de RHEL dépendent des sources publiées, cela perturbe encore une fois l'ensemble de l'écosystème Red Hat.

Une analyse du choix de red hat sur la distribution du code source de rhel https://dissociatedpress.net/2023/06/24/red-hat-and-the-clone-wars/

Une reponse de red hat aux feux démarrés par l'annonce de la non distribution des sources de RHEL en public https://www.redhat.com/en/blog/red-hats-commitment-open-source-response-gitcentosorg-changes et un lien vers une de ces feux d'une personne proheminente dans la communauté Ansible https://www.jeffgeerling.com/blog/2023/im-done-red-hat-enterprise-linux

Oracle demande a garder un Linux ouvert et gratuit https://www.oracle.com/news/announcement/blog/keep-linux-open-and-free-2023-07-10/

Suite à l'annonce d'IBM/RedHat, Oracle demande à garder Linux ouvert et gratuit

IBM ne veut pas publier le code de RHEL car elle doit payer ses ingénieurs

Alors que RedHat a pu maintenir son modèle économique durante des années

L'article revient sur CentOS qu'IBM "a tué" en 2020

Oracle continue ses éfforts de rendre Linux ouvert et libre

Oracle Linux continuera à être compatible avec RHEL jusqu'à la version 9.2, après ça sera compliqué de maintenir une comptabilité

Oracle embauche des dev Linux

Oracle demande à IBM de récupérer le downstream d'Oracle et de le distribuer

SUSE forke RHEL https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/

SUSE est la société derrière Rancher, NeuVector, et SUSE Linux Enterprise (SLE)

Annonce un fork de RHEL

$10M d'investissement dans le projet sur les prochaines années

Compatibilité assurée de RHEL et CentOS

Web

Google revent sont service de nom de domaine a Squarespace https://www.reddit.com/r/webdev/comments/14agag3/squarespace_acquires_google_domains/

et c'était pas gratuit donc on n'est pas censé etre le produit :wink:

Squarespace est une entreprise américaine spécialisée dans la création de site internet

Squarespace est un revendeur de Google Workspace depuis longtemps

La vente devrait se finaliser en Q3 2023

Petite introduction à WebGPU en français https://blog.octo.com/connaissez-vous-webgpu/

Data

Avec la mode des Large Language Models, on parle de plus en plus de bases de données vectorielles, pour stocker des "embeddings" (des vecteurs de nombre flottant représentant sémantiquement du texte, ou même des images). Un article explique que les Vecteurs sont le nouveau JSON dans les bases relationnelles comme PostgreSQL https://jkatz05.com/post/postgres/vectors-json-postgresql/

L'article parle en particulier de l'extension pgVector qui est une extension pour PostgreSQL pour rajouter le support des vectors comme type de colonne https://github.com/pgvector/pgvector

Google Cloud annonce justement l'intégration de cette extension vectorielle à CloudSQL pour PostgreSQL et à AlloyDB pour PostgreSQL https://cloud.google.com/blog/products/databases/announcing-vector-support-in-postgresql-services-to-power-ai-enabled-applications

Il y a également une vidéo, un notebook Colab, et une article plus détaillé techniquement utilisant LangChain https://cloud.google.com/blog/products/databases/using-pgvector-llms-and-langchain-with-google-cloud-databases

Mais on voit aussi également Elastic améliorer Lucene pour utiliser le support des instructions SIMD pour accélérer les calculs vectoriels (produit scalaire, distance euclidienne, similarité cosinus) https://www.elastic.co/fr/blog/accelerating-vector-search-simd-instructions

Outillage

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