Publié le 15 novembre 2022 - par

Livre sur le langage JULIA par Hamdy Abou El Anein

Le langage Julia est un langage rapide, avec une syntaxe familière aux utilisateurs d’autres environnements. L’auteur, Hamdy est ingénieur Linux, créateur de la distribution Daylight Linux dont je vous ai parlé sur le blog. Daylight linux est un linux live sur PC), léger, prêt à l’emploi avec beaucoup de programmes utiles pré-installés fonctionnant sur Raspberry Pi et ordinateurs 64 bits.

Un livre sur le langage Julia

L’auteur

Hamdy est ingénieur Système Linux et programmeur. Il est passionné de logiciel libre et de nouvelles technologies, avec 15 ans d’expérience en ingénierie système Linux et en programmation.
Il gère quotidiennement plus de 200 serveurs Linux virtualisés et développe des programmes de gestion système des serveurs ainsi que des programmes de monitoring.
Hamdy enseigne la programmation dans une école d’informatique, et on ressent son côté pédagogique dans ce livre.

Le langage Julia

Le Langage Julia est open source, les sources peuvent être récupérées et chacun peut participer à son évolution.

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.

Les programmes

 

 

 

Premier exemple de programme, Julia demande le prénom qui est ensuite affiché à l’écran? Les habitués des langages « classiques » ne seront pas perdus…

Un programme de loterie.

Et un autre classique en programmation : la récursivité. Les programmes sont disponibles en téléchargement.

Tracé graphique réalisé avec Julia (voir ici)

Julia fournit des outils pour travailler sur des ensembles de données

On dispose de paquets fournissant une interface unifiée pour les algorithmes d’apprentissage automatique courants, notamment les modèles linéaires généralisés, les arbres de décision et le regroupement. Il existe des paquets puissants pour l’apprentissage profond.

Julia est conçu dès le départ pour être très performante en calcul numérique et scientifique. Il y a une abondance d’outils scientifiques écrits en Julia, tels que l’écosystème d’équations différentielles, les outils d’optimisation, les solveurs linéaires itératifs, les transformées de Fourier rapides, etc. Des cadres de simulation à usage général sont disponibles pour l’apprentissage automatique scientifique, l’informatique quantique et bien plus.

Julia offre également un certain nombre d’écosystèmes spécifiques à certains domaines, comme la biologie, la recherche opérationnelle, le traitement d’images, la physique quantique, la dynamique non linéaire, l’économie quantitative, l’astronomie et l’écologie. Avec un ensemble de développeurs et de mainteneurs très enthousiastes, l’écosystème scientifique de Julia continue de croître rapidement.

Julia est conçu dès le départ pour le parallélisme, et fournit des primitives intégrées pour le calcul parallèle à tous les niveaux : parallélisme au niveau des instructions, multi-threading, calcul sur GPU, et calcul distribué. Le projet Celeste.jl a atteint 1,5 PetaFLOP/s sur le superordinateur Cori au NERSC en utilisant 650 000 cœurs.

Le compilateur Julia peut également générer du code natif pour les GPUs. L’algèbre linéaire distribuée est fournie par des paquets comme Elemental.jl et TSVD.jl. Le parallélisme de type MPI est également disponible.

Conclusion

Avec « Programmation en Julia« , si vous souhaitez démarrer et découvrir le langage Julia, voici de quoi vous lancer.  Le langage est disponible sur Raspberry Pi, et vous pouvez débuter tout simplement avec une framboise et ce livre…

Sources

Acheter le livre sur Amazon (version papier – broché) : 25,32 €

Livre Julia sur Kindle : 7,72 €

https://github.com/JuliaLang

https://github.com/hamdyaea/Livre-Programmation-en-Julia

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.