IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Julia 1.9 : la sortie de cette version va-t-elle faire grimper en flèche la popularité de Julia ?
Certains utilisateurs qualifient déjà cette version de langage de programmation de l'année 2023

Le , par Bill Fassinou

18PARTAGES

3  0 
Julia 1.9, publiée le 9 mai, a apporté diverses améliorations au langage et le caractère important de cette mise à jour pousse de nombreux utilisateurs à dire qu'elle va faire grimper la popularité de Julia en flèche. La dernière mouture de Julia améliore significativement les performances du langage, notamment en matière de latence au démarrage, et le rend encore plus convivial et efficace. Les performances de tri du langage ont également été améliorées dans cette version, ce qui devrait permettre aux utilisateurs de trier plus facilement et rapidement de grands ensembles de données. D'autres changements importants devraient attirer de nombreux nouveaux utilisateurs.

Julia est un langage de programmation de haut niveau, performant et dynamique, avec une syntaxe familière aux utilisateurs d'autre environnement de développement similaires (Matlab, R, Scilab, Python, etc.). Julia a gagné en popularité ces dernières années, grâce à ses performances impressionnantes, sa facilité d'utilisation et son orientation vers le calcul scientifique. Il fournit un compilateur sophistiqué, un système de types dynamiques avec polymorphisme paramétré, une exécution parallèle distribuée, des appels directs de fonctions C, Fortran et Python. La dernière version, Julia 1.9, modernise davantage le langage et le rend encore plus attrayant.


Au cours des cinq dernières années, la communauté de programmation Julia - une communauté de programmeurs, scientifiques, mathématiciens et autres qui utilisent Julia régulièrement - a plus que triplé sa taille. Julia Computing a publié une visualisation qui illustre assez bien ce phénomène. Il s'agit d'une visualisation des étoiles Github sur différents dépôts Julia, qui illustre bien l'augmentation de la popularité à partir de 2018-2019. Bien que cette popularité accumulée soit certainement impressionnante, surtout si l'on considère l'âge du langage (la première version a été publiée en 212), elle est loin d'être le plafond de la popularité du langage.

Julia 1.9 devrait continuer sur la même lancée et faire grandir davantage la communauté du langage. La nouvelle version de Julia corrige certains défauts du langage, notamment le temps nécessaire à la première exécution qui était un gros point de douleur pour de nombreux utilisateurs. La question pratique est donc de savoir si, compte tenu de l'état actuel de l'écosystème des packages dans Julia, les utilisateurs peuvent effectivement voir ces avantages.

[SIZE=3]Amélioration des performances et du temps de la première exécution/SIZE]

Julia est l'un des langages de programmation les plus appréciés pour l'analyse des données scientifiques, car il offre un traitement exceptionnellement rapide pour les projets à forte intensité de calcul. Dans les versions précédentes, la combinaison inégalée de productivité et de vitesse s'est faite au prix de temps de démarrage lents, en particulier lors du chargement de certains paquets complexes et puissants qui donnent aux utilisateurs de Julia un tel effet de levier. À titre d'exemple, l'utilitaire de traçage Plots.jl doit construire GR, PyPlot, et quelques autres artefacts dans le cadre de la précompilation, ce qui a tendance à prendre beaucoup de temps.

« Julia est incroyablement attrayante pour les gens qui ont des besoins de calcul très exigeants. Vous pouvez comparer les précédentes versions de Julia à un avion à réaction : c'est un moyen fantastique de voyager sur de longues distances, mais probablement pas votre véhicule préféré pour aller à l'épicerie. La rapidité de Julia provient de sa capacité à générer du code-machine de haute qualité. Cependant, générer un tel code prend du temps, et pour une tâche simple, cela peut signifier passer plus de temps à générer du code qu'à l'exécuter », a déclaré Tim Holy, professeur de neurosciences à l'école de médecine de l'université de Washington.

https://youtu.be/qM9NtiYlXck

Holy est l'un des principaux contributeurs à la dernière version du langage. Il a ajouté : « il est un peu regrettable pour un nouvel utilisateur, qui a tant entendu parler de la vitesse de Julia, que sa première expérience soit d'attendre qu'elle compile de nombreux paquets de code avant de pouvoir commencer à faire quoi que ce soit d'utile. Peu importe la vitesse à laquelle il fonctionne une fois qu'il est prêt, ce n'est pas la meilleure première impression ». Environ 42 % des utilisateurs de Julia réclament un déploiement plus rapide et meilleur des binaires de code pour les applications et des temps de démarrage plus courts pour les paquets.

Aujourd'hui, la version 1.9 de Julia élimine cet inconvénient et réduit davantage les obstacles à une adoption beaucoup plus large de Julia. Selon un tweet de Jeff Bezanson, informaticien américain et cocréateur du langage de programmation Julia, le temps de démarrage des projets qui était de 5,9 secondes dans Julia 1.8 a considérablement baissé pour atteindre 0.56 seconde dans Julia 1.9. « 2023 s'annonce déjà bien », a-t-il écrit. La plupart des changements sont orientés vers la performance ou les bogues, et cela reflète bien ce qui va changer avec cette nouvelle version de Julia. En outre, Julia 1.9 devrait rester la version de Julia pendant un certain temps.

Ce qui est une bonne chose, car cela maintient l'écosystème et les tutoriels au même niveau et rend Julia beaucoup plus accessible. Valentin Churavy, informaticien au MIT CSAIL et contributeur principal de Julia, partage sa dernière expérience : « nous avons travaillé avec des scientifiques pour résoudre des problèmes dans les domaines de la science des matériaux et de la science du climat au cours des dernières années. Récemment, nous avons essayé de mettre à l'échelle une simulation d'océan à l'échelle de la terre avec Oceananigans.jl en utilisant 768 GPU Nvidia. En utilisant Julia 1.8, la latence de démarrage était proche de 10 minutes ».


« Avec Julia 1.9, cette latence est tombée à 3 minutes, avec une grande marge d'amélioration. La réduction du temps de démarrage des applications scientifiques permettent une itération beaucoup plus rapide, que ce soit dans une salle de classe ou dans un centre de recherche. Cette souplesse change la donne pour les scientifiques et amplifie l'impact de Julia », a-t-il ajouté. Julia 1.9 accentue la concurrence Python dans le domaine du calcul haute performance et les simulations. Voici ci-dessous un aperçu des autres améliorations introduites par la dernière version de programmation Julia :

  • extensions de paquets : Julia 1.9 introduit les "extensions de paquets", qui permettent aux auteurs de paquets d'étendre les fonctionnalités à travers plusieurs paquets sans ajouter de dépendances lourdes. Cette fonctionnalité permet aux auteurs de packages de fournir de nouvelles extensions de méthodes pour une large gamme d'objets et de types Julia, tout en gardant un impact minimal sur les temps de chargement et la gestion des dépendances ;
  • analyse de l'utilisation de la mémoire facilitée (Heap Snapshot) : Julia 1.9 ajoute la possibilité de générer des snapshots du tas pour analyser l'utilisation de la mémoire dans vos programmes. Ces instantanés peuvent être examinés à l'aide de Chrome DevTools, fournissant des informations sur l'allocation et l'utilisation de la mémoire. Cette fonctionnalité est particulièrement utile pour identifier les fuites de mémoire et optimiser la gestion de la mémoire dans vos applications ;
  • meilleur contrôle avec --heap-size-hint : le nouveau drapeau --heap-size-hint dans Julia 1.9 permet aux utilisateurs de fixer une limite à l'utilisation de la mémoire, au-delà de laquelle le ramasse-miettes travaillera plus agressivement pour nettoyer la mémoire inutilisée. Cette fonctionnalité permet aux utilisateurs d'avoir un meilleur contrôle sur les ressources mémoires, garantissant que les applications gourmandes en mémoire fonctionnent plus efficacement ;
  • algorithme de tri adaptatif amélioré : Julia 1.9 met à jour son algorithme de tri par défaut vers une approche plus adaptative, offrant des performances de pointe pour une large gamme de types de données. Ce nouvel algorithme est plus efficace et plus rapide que les versions précédentes, en particulier pour les types de données simples comme les entiers et les nombres à virgule flottante ;
  • priorité aux tâches pour une meilleure réactivité : dans Julia 1.9, les utilisateurs peuvent désigner des tâches comme étant interactives, ce qui garantit qu'elles reçoivent la priorité lorsqu'elles s'exécutent sur les threads disponibles. Cette fonctionnalité est particulièrement utile pour les tâches qui nécessitent une réactivité en temps réel, telles que les battements de cœur, les mises à jour de la progression et les interfaces interactives ;
  • améliorations de la ligne de commande intégrée REPL : Julia 1.9 apporte également des améliorations à la REPL, notamment la possibilité de changer de module contextuel et l'introduction d'une invite numérotée. Ces fonctionnalités rendent la REPL plus polyvalente et conviviale, notamment lors du développement de packages et du travail avec des bases de code complexes.


Source : Julia 1.9

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous des améliorations introduites par Julia 1.9 ?
Cela permettra-t-il à Julia de devenir le premier choix en matière de calcul haute performance ?
Quelle comparaison faites-vous entre Julia et ses concurrents, notamment Python MATLAB, Rust et R ?

Voir aussi

La version 1.9 de Julia, un langage de programmation de haut niveau, est disponible, la nouvelle version est livrée avec de nouvelles fonctionnalités qui vont améliorer les performances du langage

La version 1.8 du langage Julia est disponible, elle apporte la temporisation de la charge du paquet, une amélioration du support pour Apple Silicon, un nouveau planificateur par défaut pour @threads

La version 1.7 du langage Julia est disponible, elle apporte l'installation automatique de paquets, un nouveau format du manifeste et l'ajout des atomiques comme caractéristique du langage

Adoption du langage de programmation Julia : Logan Kilpatrick, défenseur de la communauté des développeurs Julia, livre son analyse, dans un billet de blogue

Une erreur dans cette actualité ? Signalez-nous-la !