Julia est un langage de programmation conçu par des chercheurs du MIT en 2009 et dévoilé pour la première fois au grand public en 2012. C’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. Julia connaît une croissance fulgurante depuis sa sortie et certains vont même jusqu’à dire qu’il s’agit du langage idéal pour le calcul scientifique, la science des données et les projets de recherche. Un tour d’horizon de certains facteurs qui auraient favorisé son évolution.Le langage de programmation Julia a connu une augmentation importante de son utilisation et de sa popularité au cours des dernières années. Dans un article sur LWN.net, Lee Phillips, chercheur et activiste du mouvement du logiciel libre, revient sur certains des changements intervenus depuis la première version stable du langage Julia, la version 1.0, dont aucun n'est majeur, ainsi que de nouvelles ressources pour l'apprentissage du langage. Toutefois, l'objet principal de son analyse est une étude de cas qui vise à montrer pourquoi le langage a pris son essor.
Lee rappelle en premier lieu que Julia est un langage polyvalent, mais qui se prête particulièrement bien à la programmation scientifique et aux travaux numériques. Il est un langage dynamique, avec un mode interactif et une syntaxe facile à apprendre, simple pour les programmeurs débutants ; il possède également des niveaux de sophistication plus profonds pour les experts. Julia supporte l'introspection et la métaprogrammation, avec des macros de type Lisp, une syntaxe Lisp optionnelle, et l'accès à des vues des fonctions sous forme d'arbre syntaxique et de langage d'assemblage.
Il dispose d'un système de types riche avec des types performants définis par l'utilisateur, de la répartition multiple de fonctions, mais également de plusieurs modèles de programmation simultanée intégrés. Julia a tout récemment franchi une sorte d'étape de popularité, en entrant dans le top 20 de la liste des langages de programmation de l'IEEE Spectrum. De plus, le langage est adopté dans de nombreux nouveaux projets de recherche, dont : Climate Machine, le moteur de calcul utilisé par la Caltech Climate Modeling Alliance ; une initiative de prévision météorologique spatiale.F
Selon Lee, la conférence annuelle sur Julia, qui vient de se terminer et qui s’est tenue en ligne cette année, est un autre indicateur clé de l'audience que Julia attire. Les présentations auxquelles l’on pouvait s’attendre sur divers sujets informatiques ont été compensées par plusieurs discussions sur les applications à la recherche scientifique dans une variété impressionnante de domaines. Un thème récurrent était la façon dont le langage facilite la collaboration et la réutilisation du code, en donnant aux scientifiques la possibilité de tirer parti des progiciels et des algorithmes des autres. Voici quelques éléments qui ont impulsé la popularité du langage selon Lee.
Étude de cas : le pouvoir de combiner les bibliothèques
Le fait que Julia soit organisé autour du concept de la répartition multiple, combinée à un certain soin apporté par les auteurs de paquets pour écrire du code extensible, crée un contexte où il est inhabituellement facile de combiner les particularités de plusieurs paquets. La répartition multiple signifie en effet qu'une fonction donnée peut être définie avec une variété de méthodes disponibles, chacune opérant sur un ensemble différent de types d'arguments ; la méthode particulière utilisée est choisie au moment de l'exécution, en fonction des types de tous les arguments.
Il est crucial que l'utilisateur d'une bibliothèque soit en mesure de définir de nouvelles méthodes pour les fonctions de la bibliothèque, sans avoir à modifier le code de la bibliothèque existante. L’étude de cas porte sur une activité essentielle pour les sciences informatiques : la solution...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
