Dernière mise à jour : le 9 janvier 2024

Cours de Julia 0. Introduction au langage

Date de publication : 14/03/2023

Je viens d’apprendre un nouveau langage qui fait beaucoup parler de lui en ce moment, Julia. Même si cela n’intéresse visiblement personne, puisque, à chaque fois que je postule à un poste de développeur, on m’explique que je ne suis qu’un menteur, poliment certes, mais ce n’est pas pour autant que la pilule passe mieux, je vais proposer cette année une série de posts présentant ce langage de manière très irrégulière, et s’ils ont peu de succès, je me réserve le droit d’arrêter.

L’objectif de ces textes est de proposer de courtes synthèses sur les bases du langage, puis de développer au fur et à mesure des éléments beaucoup plus complexes. Bref, ces cours feront comme-ci vous appreniez en premier langage informatique Julia. En effet, le langage dispose de peu de documentation en français, et les rares tutoriels pouvant exister dans notre langue sont, comment le dire poliment, un peu trop brutal pour un grand débutant ou pour quelqu’un qui utilise d’autres langages informatiques. Pour vous éviter de chercher des jours et des jours, ce que j’ai fait, je vous propose de faire la synthèse de ce que j’ai appris ces derniers mois.

Qu’est-ce que le langage Julia ? Pourquoi l’apprendre ? Ce langage est apparu sur le marché pendant l’année 2012. Il a été développé sous licence libre par le M.I.T. (https://julialang.org/downloads/). Il tente de résoudre un paradoxe présent dans son langage cousin, le Python, largement utilisé de nos jours. En effet, Python offre un noyau peu performant. Selon la documentation de Julia, les performances de calculs de Python se situent entre Mathematica (un peu mieux) et R (un peu plus pire, si je puis dire). Des langages comme JavaScript ou Java sont largement plus performants. De fait, pour effectuer des calculs sur des données massives, Python utilise d’autres langages. Ainsi, pour que Python soit performant, il faut le quitter. Julia conserve la relative élégance du langage Python – à titre personnel, je trouve sa syntaxe affreuse, mais on dit ça du Python – en y apportant d’importantes améliorations en termes de puissance de calculs, puisque les performances de Julia se situent juste après celles du langage C (https://julialang.org/benchmarks/). Julia combine par conséquent la performance et la facilité d’utilisation, ce qui est précieux dans le cadre de l’analyse de données massives.

Julia n’est pas un langage orienté-objet, à la différence de Python. Il s’agit d’un langage haut niveau, à la différence du C, qui propose une compilation à la volée, à la différence de Java. Il s’agit d’un langage multiméthode, multiparadigme, comme Mathematica ou PHP, c’est-à-dire que le code à exécuter dépend des types de tous les arguments. Son typage est dynamique, comme en Python ou en Mathematica. L’un des grands intérêts de Julia est qu’il gère nativement le langage UNICODE, et que, si l’envie vous en prend, vous pouvez définir une variable avec un émoticône ou des caractères spéciaux (ce que je vous déconseillerai dans le chapitre consacré aux variables). Il est bon de noter que la plupart des caractères spéciaux suivent, en général, leur code défini en LaTeX. Ainsi, Julia hérite d’un certain nombre de choix des langages qui l’ont précédé. Toutefois, il n’est pas nécessaire de connaître tous les langages cités pour débuter en Julia, même s’il est évident que cela facilitera son apprentissage. Plus vous connaissez de langages, plus vous apprendrez vite un nouveau langage, c’est comme pour les langues vivantes.

Ce cours proposera d’abord une installation du logiciel afin de l’utiliser hors ligne dans un premier temps, ce que ne proposent pas d’autres formations ou tutoriels du langage. Ensuite, une série de chapitres décrivant les bases du langage : les variables, les opérateurs, les conditions, les boucles, les fonctions, etc., et finira par les paquets. Le cours sera progressif. De fait, il vous faudra éviter de lire que ce qui pourrait vous intéresser si vous ne connaissez pas les bases du langage Julia. Une nouvelle fois, j’insiste sur le fait que chaque cours vous considérera comme un grand commençant en langage informatique et que leur ordre n’est pas le fruit du hasard. Enfin, une série de chapitres décrira des paquets utiles, notamment pour le traitement des données massives.

Maxime Forriez.

Liens utiles et sources :

Quelques liens sur Julia en français : https://perso.ensta-paris.fr/~diam/julia/

La documentation officielle de Julia en français traduit automatiquement : https://runebook.dev/fr/docs/julia/

Le manuel pour grands débutants : https://julia.developpez.com/tutoriels/think-julia-fr/

Les conférences internationales animées par les plus grands spécialistes du langage Julia dans le monde : https://proceedings.juliacon.org/

Voilà pour l’essentiel, je vous conseille de rechercher régulièrement "Julia" sur votre moteur de recherche, car quelques textes très intéressants en français apparaissent souvent dans les résultats. Cela vous évitera de lire la bible totalement écrite en anglais (https://raw.githubusercontent.com/JuliaLang/docs.julialang.org/assets/julia-1.8.0.pdf).

Commentaires :

Veuillez compléter tous les éléments du message !

Aucun commentaire n'a été formulé !