Julia (langage)

langage de programmation

Julia
Logo.
Image illustrative de l’article Julia (langage)

Date de première version 2012
Paradigme Dispatch multiple
Auteur Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman
Dernière version 1.9.1 (7 mai 2023)
Typage dynamique
Influencé par MATLAB, R, Ruby, Perl, Python
Système d'exploitation Multi-plateformes
Licence Licence MIT[1]
Site web julialang.org
Extension de fichier jlVoir et modifier les données sur Wikidata

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, des appels directs de fonctions C, Fortran et Python.

La 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, les FFT et le traitement de chaînes de caractères. Les programmes Julia sont organisés autour de la définition de fonctions, et de leur surcharge autour de différentes combinaisons de types d'arguments[2].

Par défaut, le runtime Julia doit être préinstallé lors de l'exécution du code source fourni par l'utilisateur. Alternativement, des exécutables autonomes qui n'ont pas besoin de code source Julia peuvent être construits avec par ex. PackageCompiler.jl, prenant en charge toutes les fonctionnalités de Julia.

Histoire modifier

Le travail sur Julia a été lancé en 2009 par Jeff Bezanson, Stefan Karpinski, Viral B. Shah et Alan Edelman, qui ont entrepris de créer un langage libre à la fois de haut niveau et rapide. Le 14 février 2012, l'équipe a lancé un site Web avec un article de blog expliquant la mission du langage. Dans une interview avec InfoWorld en avril 2012, Karpinski a déclaré à propos du nom Julia: « Il n'y a vraiment aucune bonne raison. Cela semblait juste être un joli nom. »

Au cours des 10 années écoulées depuis le lancement en 2012 de Julia pré-1.0, la communauté s'est agrandie. L'écosystème de packages Julia compte plus de 11,8 millions de lignes de code (y compris la documentation et les tests). La conférence universitaire JuliaCon pour les utilisateurs et les développeurs de Julia se tient chaque année depuis 2014, JuliaCon2020 accueillant plus de 28 900 spectateurs uniques, puis JuliaCon2021 battant tous les records précédents. (avec plus de 300 présentations JuliaCon2021 disponibles gratuitement sur YouTube, contre 162 l'année précédente) et 43 000 téléspectateurs uniques pendant la conférence.

Trois des co-créateurs de Julia sont les récipiendaires du prix James H. Wilkinson 2019 du logiciel numérique (décerné tous les quatre ans) « pour la création de Julia, un environnement innovant pour la création d'outils performants qui permettent l'analyse et résoudre des problèmes de science computationnelle. » De plus, Alan Edelman, professeur de mathématiques appliquées au MIT, a été sélectionné pour recevoir le prix IEEE Computer Society Sidney Fernbach 2019 « pour des percées exceptionnelles dans le calcul haute performance, l'algèbre linéaire et la science computationnelle et pour ses contributions au langage de programmation Julia. »

Julia 0.7 et la version 1.0 sont sorties le 8 août 2018.

Julia 1.6 était la plus grande version depuis la 1.0, est la dernière/seule version de support à long terme (LTS) (bien qu'il soit conseillé à la plupart d'utiliser la dernière version stable/1.9), plus rapide sur de nombreux fronts, par ex. introduit une précompilation parallèle et un chargement plus rapide des packages, dans certains cas « une accélération 50x des temps de chargement pour les grands arbres d'artefacts binaires. »

Julia 1.9.0 est sortie en mai 2023. Elle comporte de nombreuses améliorations. La version 1.9.0 a de nombreuses améliorations, par exemple le code précompilé peut fonctionner jusqu'à des centaines de fois plus vite.

JuliaCon modifier

Depuis 2014, la communauté Julia organise une conférence annuelle Julia, axée sur les développeurs et les utilisateurs. La première JuliaCon s'est tenue à Chicago et a donné le coup d'envoi de l'organisation annuelle de la conférence. Depuis 2014, la conférence se déroule dans différents lieux, dont le MIT et l'université du Maryland à Baltimore. Le public de l'événement est passé de quelques dizaines de personnes à plus de 28 900 participants individuels lors de la JuliaCon 2020, qui s'est déroulée virtuellement. La JuliaCon 2021 s'est également déroulée virtuellement, avec des présentations d'honneur du professeur William Kahan (l'architecte principal du standard de virgule flottante IEEE 754, dont il est question dans son exposé d'honneur, que pratiquement toutes les unités centrales et tous les langages utilisent, y compris Julia), et de Jan Vitek, Xiaoye Sherry Li et Soumith Chintala (co-créateurs de PyTorch). JuliaCon a attiré 43.000 participants individuels et plus de 300 présentations (toujours en accès libre, plus pour les années plus anciennes).

Compagnie Julia modifier

JuliaHub, Inc. a été fondée en 2015 sous le nom de Julia Computing, Inc. par Viral B. Shah, Deepak Vinchhi, Alan Edelman, Jeff Bezanson, Stefan Karpinski et Keno Fischer.

Hello world modifier

Le programme Hello world s'écrit en Julia de la façon suivante :

println("Hello world !")

Références modifier

  1. « julia / LICENSE.md », sur GitHub
  2. (en) « Julia Official Website »

Liens externes modifier