Dans le monde très mouvant de la data science, rien n’est gravé dans le marbre. À chaque arrivée de nouveaux outils et logiciels, l’équilibre technologique peut être bousculé. Ce phénomène est particulièrement visible du côté des langages de programmation. Il existe un bon nombre de langages de programmation adaptés à la data science. Si l’écosystème des données est aujourd’hui dominé par quelques langages très populaires, d’autres, présentés comme plus puissants, gagnent du terrain. Julia en est l’un des exemples les plus prometteurs.
Publié pour la première fois en 2012, Julia s’impose comme une étoile montante de la data science. Malgré sa relative jeunesse, Julia a déjà impressionné le monde du calcul numérique par ses performances et une vitesse d’exécution imbattable. Au fil des années, Julia a gagné en maturité et est aujourd’hui souvent citée parmi les \u00ab langages d’avenir \u00bb pour la data science et l’intelligence artificielle.
Les raisons de se mettre à Julia ne manquent pas. Cependant, l’itinéraire de transition varie selon les langages que vous maîtrisez déjà. Alors que la plupart des articles et cours expliquent comment passer de MATLAB à Python ou R, les deux langages phares de la data science, il est aussi essentiel de proposer des ressources aux utilisateurs d’autres langages souhaitant adopter Julia.
L’objectif de cet article est de présenter Julia aux programmeurs MATLAB. Nous allons passer en revue les différences et similarités entre ces deux langages et partager quelques conseils pour migrer de MATLAB à Julia pour l’analyse et la visualisation de données. C’est parti !
À quoi sert MATLAB ?
MATLAB est un langage de programmation spécifiquement conçu pour le calcul numérique. Depuis son lancement en 1984, MATLAB (abréviation de \"MATrix LABoratory\") est largement adopté dans le monde académique et la recherche scientifique. Bien qu’ancien, il reste extrêmement populaire. En octobre 2022, il occupait la 14e place à la fois dans le PYPL Index et le TIOBE Index.
Le langage MATLAB excelle dans les tâches de calcul avancé, notamment les opérations mathématiques et statistiques. Il intègre aussi des capacités de tracés et d’implémentation d’algorithmes, ce qui en fait un excellent candidat pour la data science.
Mais MATLAB présente une limite importante : c’est un outil propriétaire. Autrement dit, sauf si votre établissement vous fournit un accès, comme c’est souvent le cas à l’université, vous devrez payer une licence, parfois coûteuse. De plus, sans accès au code source, il est difficile de comprendre le fonctionnement de certaines fonctionnalités de MATLAB.
Ces facteurs peuvent rendre MATLAB moins attractif que d’autres langages de programmation gratuits.
À quoi sert Julia ?
Derrière toute innovation, il y a la volonté d’améliorer ou de dépasser les technologies dominantes du moment. C’est l’état d’esprit qui a présidé à la création de Julia, inspiré de plusieurs langages très puissants. Comme l’expliquent Jeff Bezanson, Stefan Karpinski, Alan Edelman et Viral B. Shah, les fondateurs du langage, dans un billet sur pourquoi ils ont créé Julia :
« Nous voulions un langage open source, avec une licence permissive. Nous voulions la vitesse du C avec le dynamisme de Ruby. Un langage homoiconique, avec de vrais macros comme Lisp, mais une notation mathématique claire et familière comme Matlab. Nous voulions quelque chose d’aussi utilisable pour la programmation générale que Python, d’aussi simple pour les statistiques que R, d’aussi naturel pour le traitement de chaînes que Perl, d’aussi puissant pour l’algèbre linéaire que Matlab, et d’aussi bon pour faire dialoguer les programmes que le shell. Un langage très simple à apprendre, mais capable de satisfaire les hackers les plus exigeants. Nous le voulions à la fois interactif et compilé. »
Grâce à cet assemblage unique des meilleurs atouts de plusieurs langages, Julia gagne rapidement en popularité.
Depuis sa première version, Julia a été téléchargée plus de 40 millions de fois, et la communauté a enregistré plus de 8 000 paquets Julia accessibles à tous. On y trouve des bibliothèques mathématiques, des outils de manipulation de données et des paquets pour la programmation générale.
Côté popularité, Julia se classe 25e et 27e dans les index PYPL et TIOBE d’octobre 2022, respectivement.
Julia est un langage généraliste : il peut servir à de nombreuses tâches de développement, comme le web ou le jeu vidéo, mais il est particulièrement adapté au machine learning et au calcul statistique. Les adeptes de Julia le présentent volontiers comme l’héritier de Python et R pour la data science.
Cela dit, Julia a encore du chemin avant de devenir le langage par défaut de la discipline. Si vous débutez, vous aurez probablement intérêt à apprendre d’abord Python et R. En complément de vos compétences actuelles, Julia peut toutefois être un excellent choix. Pour aller plus loin, consultez notre article dédié à ce que l’on peut faire avec Julia.
Ce que les utilisateurs de MATLAB doivent savoir sur Julia
Les raisons d’adopter Julia sont convaincantes. Dans cette section, examinons de près les atouts qui en font un langage puissant et un candidat idéal pour les utilisateurs MATLAB souhaitant effectuer la transition.
Vitesse : MATLAB vs Julia
Julia a été pensé pour des utilisateurs techniques et scientifiques. Pour résoudre des problèmes métiers et éclairer les décisions, les professionnels des données doivent souvent traiter de grands volumes et mettre en œuvre des techniques complexes, dont des algorithmes de machine learning et des réseaux de neurones.
Ces activités exigent non seulement des ressources de calcul importantes, mais aussi un langage capable d’exécuter le code très rapidement, afin de limiter les temps d’attente.
Choisir le bon langage peut toutefois s’avérer difficile : la plupart imposent un compromis entre performance et lisibilité du code.
Historiquement, les langages très performants étaient plus ardus à utiliser, et inversement. Par exemple, les langages \u00ab de haut niveau \u00bb populaires comme MATLAB et Python sacrifient la vitesse au profit de la flexibilité et de la lisibilité, tandis que des langages comme C, C++ ou Fortran sont très rapides, mais dotés d’une syntaxe complexe.
Conséquence : les développeurs ont besoin de plus de temps, et souvent d’une plus grande expérience, pour écrire du code avec ces langages.
C’est là que Julia change la donne. Julia a été conçu pour être à la fois simple et rapide à coder, tout en exécutant les calculs à grande vitesse. Avec des performances proches de C, Julia fait partie des langages les plus rapides qui soient. Comparé à MATLAB, Julia est significativement plus rapide.
Pour illustrer cette performance, le tableau ci-dessous compare Julia et MATLAB sur une boucle for créant une matrice à partir d’un vecteur donné. Vous trouverez plus de détails sur ce benchmark dans cet article.
|
N |
Julia (monothread) |
Julia (multithread) |
MATLAB (monothread) |
MATLAB (multithread) |
|
1000 |
0,035 s |
0,007 s |
0,067 s |
0,0367 s |
|
2000 |
0,126 s |
0,031 s |
0,255 s |
0,034 s |
|
3000 |
0,289 s |
0,062 s |
0,543 s |
0,073 s |
|
4000 |
0,554 s |
0,116 s |
0,965 s |
0,123 s |
|
5000 |
0,831 s |
0,215 s |
1,510 s |
0,189 s |
|
6000 |
1,108 s |
0,274 s |
2,161 s |
0,268 s |
|
7000 |
1,489 s |
0,304 s |
2,936 s |
0,364 s |
|
8000 |
1,948 s |
0,402 s |
3,830 s |
0,478 s |
|
9000 |
2,460 s |
0,505 s |
4,847 s |
0,610 s |
|
10000 |
3,039 s |
0,616 s |
5,977 s |
0,753 s |
Syntaxe : MATLAB vs Julia
Comme indiqué précédemment, Julia met fin au dilemme performance vs lisibilité. Sa syntaxe, proche de l’anglais, est dynamiquement typée, ce qui la rend aussi simple à apprendre et à écrire que MATLAB ou Python, tout en étant compilée et donc aussi rapide que des langages statiquement typés comme C ou Fortran.
Mais ce n’est pas tout. Si vous envisagez de passer de MATLAB à Julia, bonne nouvelle : les deux langages sont assez proches sur le plan syntaxique. Rien d’étonnant : MATLAB a été l’une des principales sources d’inspiration des créateurs de Julia.
Voici quelques exemples d’opérations de base en MATLAB et Julia :
Boucles for
% for loop in MATLAB
for i = 1:N
% do something
end
# for loop in Julia
for i in 1:N
# do something
end
Structures if / else
% if/else in MATLAB
if i <= N
% do something
else
% do something else
end
# if/else in Julia
if i <= N
# do something
else
# do something else
end
Fonctions UDF
% function in MATLAB
function out = f(x)
out = x^2
end
# function in Julia
function f(x)
return x^2
end
Malgré ces proximités, Julia n’est pas un clone de MATLAB. Des différences syntaxiques et fonctionnelles majeures subsistent. Dans la section suivante, nous présentons quelques similitudes et différences entre MATLAB et Julia.
Julia vs MATLAB : comparaison
Vous trouverez ci-dessous un tableau récapitulant les différences entre Julia et MATLAB :
|
Julia |
MATLAB |
|
|
Finalité |
Langage orienté sciences du calcul, analyse de données et intelligence artificielle |
Langage et plate-forme scientifique utilisés pour l’analyse de données et le calcul mathématique |
|
Type de langage |
Langage de haut niveau, généraliste, compilé et dynamique |
Langage de haut niveau, spécialisé domaine, interprété et dynamique |
|
Open source ? |
Oui |
Non |
|
Date de sortie |
2012 |
1984 |
|
Écrit en |
C, C++ et Julia lui-même |
C, C++, Java et MATLAB lui-même |
|
Utilisateurs |
Principalement des data scientists et autres professionnels de la donnée |
Ingénieurs, scientifiques, universitaires et professionnels de la donnée dans le monde entier |
|
Écosystème |
Plus de 8 000 paquets enregistrés |
Principalement des bibliothèques natives et personnalisées |
|
Facilité d’apprentissage |
Julia est simple, avec une syntaxe proche de l’anglais. |
MATLAB est un langage facile à apprendre. |
|
Extension de fichier |
Les fichiers sont enregistrés avec l’extension \u00ab datacamp.jl \u00bb. |
Les fichiers sont enregistrés avec l’extension \u00ab datacamp.m \u00bb. |
|
Avantages |
|
|
|
Inconvénients |
|
|
|
Tendances |
25e et 27e places dans les index PYPL et TIOBE, respectivement (octobre 2022) |
14e place dans les index PYPL et TIOBE (octobre 2022) |
Passer de MATLAB à Julia
Prêt à vous lancer ? Voici quelques étapes pour faciliter votre transition de MATLAB vers Julia :
Apprendre les fondamentaux de Julia
La meilleure façon d’apprendre un nouveau langage, c’est de coder. Il existe de nombreuses ressources pour démarrer avec Julia, mais nous vous recommandons vivement notre cours Introduction to Julia.
Conçu pour les nouveaux venus sur Julia et, plus largement, les débutants en data science, le cours commence par les fondamentaux du langage et progresse vers des points plus avancés. À la fin, vous serez à l’aise avec le code Julia, les types et structures de données, les fonctions et paquets, et l’utilisation de DataFrames pour travailler des données tabulaires.
Vous pouvez également consulter notre tutoriel Julia pour débutants ainsi que notre memento Julia.
Utiliser Julia dans vos projets data
Un excellent moyen de consolider vos acquis et de gagner en pratique consiste à utiliser Julia sur vos projets favoris. En l’adoptant dans vos propres travaux, vous mesurerez tout son potentiel et renforcerez un portfolio en data science percutant.
Utiliser Julia dans vos projets professionnels
Une fois Julia en main, mettez-le à profit au quotidien. La combinaison performance + lisibilité de Julia peut faire la différence en contexte professionnel. De la modélisation pharmaceutique à la planification de missions spatiales, des acteurs de nombreux secteurs utilisent déjà Julia. C’est un atout puissant pour faire monter en gamme vos applications et vos tâches de data science.
Rechercher votre prochain poste avec Julia
C’est le bon moment pour apprendre Julia. Comme Ari Joury l’avance dans son article, Julia pourrait bien être votre ticket pour l’avenir si vous vous y mettez avant qu’il ne devienne la norme en data science. De plus en plus d’entreprises dans le monde adoptent Julia pour leurs projets data, et feront tout pour attirer les (encore) rares développeurs expérimentés en Julia. Une fois vos compétences consolidées, vous pourrez viser des postes qui requièrent à la fois Julia et MATLAB.
Trouvez votre prochaine opportunité avec Julia sur la plateforme DataCamp pour l’emploi dans la data.
Conclusion
Julia est l’une des étoiles montantes de l’écosystème data. En dix ans, le langage a gagné en maturité et offre aujourd’hui des caractéristiques exceptionnelles que peu d’autres peuvent revendiquer.
Si MATLAB reste solide, aucun langage n’est à l’abri dans un paysage qui évolue aussi vite. Ce qui est populaire aujourd’hui peut devenir obsolète demain, dépassé par des outils plus modernes et plus puissants.
Ces dernières années, la principale faiblesse de Julia était sa jeunesse. Désormais, c’est l’un des langages les plus enthousiasmants de la data science. Faut-il apprendre Julia ? Et peut-on passer de MATLAB à Julia ? La réponse à ces deux questions est un grand oui.
Apprenez Julia dès aujourd’hui
Maîtrisez les bases indispensables de la programmation Julia
FAQ : de MATLAB à Julia
Qu’est-ce que MATLAB ?
MATLAB est un langage de programmation de haut niveau spécialement conçu pour le calcul numérique.
Qu’est-ce que Julia ?
Julia est un langage de programmation de haut niveau et compilé. Ses fonctionnalités sont particulièrement adaptées à l’analyse numérique et aux sciences du calcul.
Quand Julia a-t-il été publié ?
La première version de Julia est sortie en 2012.
Quel est le principal atout de Julia ?
Julia est unique car il combine des performances élevées avec une grande lisibilité du code.
Dois-je passer de MATLAB à Julia ?
Plusieurs raisons peuvent vous y inciter : la vitesse de Julia, son caractère open source et un écosystème en plein essor. Un excellent point de départ est notre cours Introduction to Julia.