1 pièce(s) jointe(s)
Le langage de programmation Julia ne cesse de gagner en adoption avec une hausse de 87 % des téléchargements
Le langage de programmation Julia gagne de plus en plus en popularité au sein de la communauté scientifique
depuis janvier 2018
Le langage de programmation Julia a été créé par des chercheurs du MIT en 2009 et publié pour la première fois au grand public en 2012. Ce mois-ci, d’après des chiffres publiés par le site Web du langage, ce dernier serait en train de connaître une croissance rapide au sein de la communauté scientifique. Selon certains internautes, Julia pourrait même se placer comme concurrent direct de certains langages comme Python ou C++ dans les prochaines années vu la manière dont elle séduit les développeurs. Julia est un langage de programmation de haut niveau, performant et dynamique pour le calcul scientifique, avec une syntaxe familière aux utilisateurs d'autres environnements de développement similaires (Matlab, R, Scilab, Python, etc.).
Il fournit un compilateur sophistiqué, un système de types dynamiques avec polymorphisme paramétré, une exécution parallèle distribuée et des appels directs de fonctions C, Fortran et Python. Sa bibliothèque, essentiellement écrite dans le langage Julia lui-même, intègre également des bibliothèques en C et Fortran pour l’algèbre linéaire, la génération des nombres aléatoires et le traitement de chaînes de caractères. Les programmes Julia sont organisés suivant la définition de fonctions et de leur surcharge autour de différentes combinaisons de types d'arguments. Le développement de Julia a débuté en 2009 avec Jeff Bezanson, Alan Edelman, Stefan Karpinski et Viral Shah.
Le langage s'est popularisé lorsque le compilateur est devenu open source en 2012. Il est actuellement disponible sous licence MIT. À la base, ses concepteurs voulaient un langage open source avec une licence libre et renfermant de nombreux avantages surtout pour la communauté scientifique. « Nous voulons un langage open source, avec une licence libre. Nous voulons un langage qui associe la rapidité de C et le dynamisme de Ruby. En fait, nous voulons un langage homoiconic, avec de vraies macros comme Lisp et avec une notation mathématique évidente et familière comme Matlab. Nous voulons quelque chose d’aussi utilisable pour la programmation générale que Python, aussi facile pour les statistiques que R, aussi naturel pour la gestion de chaîne de caractères que Perl, aussi puissant pour l’algèbre linéaire que Matlab et aussi bien pour lier des programmes que le shell. Nous voulons qu’il soit à la fois interactif et compilé », avaient-ils déclaré en 2012.
En août 2018, la première version 1.0 jugée stable par l’équipe est publiée et le mois suivant, Julia occupait la 39e place dans le top 50 de l’index TIOBE. Après la sortie de cette version, Alan Edelman, Professeur au MIT CSAIL (Computer Science and Artificial Intelligence Lab), directeur de Julia Lab au MIT et également l’un des cofondateurs de Julia s’est adressé à la communauté en ces termes : « la sortie de Julia 1.0 indique que Julia est maintenant prête à changer le monde technique en combinant la productivité de haut niveau et la facilité d’utilisation de Python et R avec la vitesse fulgurante de C ++ ».
En décembre de la même année, le MIT indiquait que le projet Julia comptait plus de 3 millions de téléchargements et est utilisé dans plus de 1500 universités pour l’informatique scientifique et numérique. Cela a permis, courant décembre 2018 à trois des fondateurs de Julia d’être nommés lauréats du prix Wilkinson pour le logiciel numérique. Ce prix est décerné tous les quatre ans aux auteurs d’un logiciel numérique exceptionnel. Il a pour objectif de reconnaître les logiciels novateurs en calcul scientifique et d’encourager les chercheurs en début de carrière, a expliqué le MIT. Le prix sera présenté à la conférence sur la science et l'ingénierie numérique de la Société de mathématiques industrielles et appliquées (SIAM) de 2019 à Spokane dans l'État de Washington qui se tiendra du 25 février au 1er mars 2019.
À ce jour, le site de Julia informe la communauté que le projet réunit plus de 2400 paquets inscrits et plus de 3,2 millions de téléchargements. Ce dernier représenterait, selon le site Web, une croissance de 78 % au niveau des téléchargements. Sur GitHub, le nombre d’étoiles a également augmenté pour atteindre environ 73 600. Des chiffres qui témoignent de la montée en puissance du langage au sein de la communauté et surtout chez les scientifiques. Des avis des utilisateurs recueillis sur le site parlent de ce que Julia soit plus rapide que Python, et plus que cela, elle est beaucoup plus expressive.
Pour eux, le système des types, les macros et la répartition multiple permettent d’aborder des projets plus ambitieux. Le langage interagit également avec Python, ce qui permet de tirer parti des bibliothèques existantes dans Python et de s’intégrer à l’écosystème, disent-ils. Pour d’autres, Julia est un excellent outil. « Il est facile de noter le problème, mais il est difficile de le résoudre, surtout si notre modèle est à haute dimension. C'est pourquoi nous avons besoin de Julia. Comprendre comment résoudre ces problèmes nécessite un peu de créativité », ont-ils déclaré pour expliquer le choix porté sur Julia.
Sources : Julia Computing, MIT
Et vous ?
:fleche: Qu'en pensez-vous ?
:fleche: Connaissez-vous le langage ? Si oui, l’avez-vous essayé ? Partagez votre expérience avec nous.
Voir aussi
:fleche: Sortie de Julia 1.0 et 0.7, le langage de programmation scientifique atteint sa première version stable après six ans de développement public
:fleche: Après Redmonk, c'est au tour de l'Index TIOBE de mettre Python dans le top 3 des langages les plus populaires, Julia gagne également en notoriété
:fleche: RedMonk janvier 2018 : Go semble déjà essoufflé et Swift rattrape Objective-C alors que Kotlin est en pleine ascension dans le classement
:fleche: Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL
:fleche: TypeScript entre dans le top 20 des langages les plus populaires, d'après le classement Redmonk de juin 2017
3 pièce(s) jointe(s)
Le langage de programmation Julia ne cesse de gagner en adoption avec une hausse de 87 % des téléchargements
Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique : hausse de 87 % des téléchargements sur 2020
En raison de son rapport simplicité-performance
Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique. Sur 2020, il enregistre une augmentation de 87 % de ses téléchargements. En comparaison à l’année 2019, c’est un gap haussier de 10 points de pourcentage. Quels facteurs expliquent cet intérêt de plus en plus croissant pour le langage de programmation pressenti pour remplacer C/C++ et Python dans la filière de la programmation et du calcul scientifique ? Quelles sont ses tares ?
Julia est de plus en plus mis sur la balance avec Python. Le premier rejoint le second sur le plan de la simplicité. Toutefois, Julia est pensé dès le début pour offrir des performances de loin supérieures à celles de Python. Sur cet axe, le langage est comparé avec C/C++ et au langage Rust de Mozilla.
La toute première tâche dans tout processus d’analyse de données consiste à lire des données. Cela doit être fait avec célérité et efficacité afin de pouvoir se consacrer à la tâche de traitement des données. Dans de nombreux secteurs et domaines, le format de fichier CSV est le format le plus utilisé pour le stockage et le partage des données tabulaires. Le chargement rapide et robuste des CSV est crucial, et il doit être bien adapté à une grande variété de tailles, de types et de formes de fichiers. Une étude parue au quatrième trimestre de l’année précédente illustre le fait que Julia est capable de lire les fichiers CSV dix à vingt fois plus vite que les langages Python et R. Attention, l’atteinte de ces cimes en matière de performance peut requérir de l’utilisateur du langage de posséder l’expertise nécessaire pour effectuer des optimisations.
Bien qu'il soit possible d'accélérer des programmes R ou Python en procédant à une réécriture de certaines parties en un autre langage, Julia propose une excellente performance par défaut sans artéfact. De plus, le langage s’appuie sur une syntaxe plaisante pour les mathématiques, très proche des notations habituelles. Par exemple, un produit matriciel s'écrit avec * en Julia, mais avec %*% en R ou @ en Python (uniquement depuis la version 3.6). Enfin, Julia permet le parallélisme facile, tant sur les différents cœurs d'une machine (c’est plus difficile en Python compte tenu de la syntaxe), R proposant le même genre de facilités, que sur plusieurs machines. En effet, Julia propose des abstractions alors que R et Python se contentent de bibliothèques comme MPI. Le langage reste néanmoins sous le feu des critiques pour des aspects comme l’importance des temps de compilation et le manque de maturité des paquets logiciels. Julia est un langage dont les premières versions remontent à 2012, ce qui est susceptible de faire office de justificatif pour diverses autres tares parmi lesquelles le peu de paquets disponibles par rapport à R ou Python, ce, même s'il est possible assez facilement d'utiliser les bibliothèques pour d'autres langages.
Une enquête menée auprès des utilisateurs de Julia en juin dernier donne un aperçu de la communauté des utilisateurs de Julia et de nombre de ses préférences et pratiques en matière de fonctionnalités. Elle est basée sur 2565 interviews. À date, la plupart des utilisateurs (60 %) travaillent dans le milieu universitaire, mais il y a une volonté croissante d'étendre Julia dans l'industrie. Dans l'industrie, les plus grands segments d'utilisateurs sont les professionnels du logiciel/des technologies de l'information (12 %) et l'ingénierie (11 %).
Sources : julialang.org, juliacomputing.com
Et vous ?
:fleche: Êtes-vous développeur Julia ? Pourquoi avez-vous opté pour ce langage ?
:fleche: Julia, R ou Python : de quel bord êtes-vous pour la programmation en sciences des données ?
:fleche: Quel autre langage pour le calcul scientifique préféreriez-vous à Julia ? Pour quelles raisons ?
Voir aussi :
:fleche: Sortie de Julia 1.0 et 0.7, le langage de programmation scientifique atteint sa première version stable après six ans de développement public
:fleche: Après Redmonk, c'est au tour de l'Index TIOBE de mettre Python dans le top 3 des langages les plus populaires, Julia gagne également en notoriété
:fleche: RedMonk janvier 2018 : Go semble déjà essoufflé et Swift rattrape Objective-C alors que Kotlin est en pleine ascension dans le classement
:fleche: Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL
:fleche: TypeScript entre dans le top 20 des langages les plus populaires, d'après le classement Redmonk de juin 2017