Décembre 2020#
Bonjour à tous, voici quelques liens recueillis le mois dernier sur le langage Julia.
Billets de blog#
An introduction to Pluto : un article LWN.net sur Pluto, le notebook Julia sans états cachés avec une prime à l’interactivité. L’article est très complet avec beaucoup de références.
Tuples and Vectors, Allocations and Performance for Beginners : billet didactique destiné aux débutants pour bien comprendre la différence entre la « pile » et le « tas » et ce que ça implique pour les accès à la mémoire.
Try MakieLayout - Perfect Layouts For Interactive Scientific Graphics in Julia : démonstration de l’excellent package de visualisation Makie.jl. L’interface est très différente de Plots.jl, mais cela vaut vraiment le coup de faire l’effort. Sur cette page, vous avez un aperçu des possibilités.
Making a first Julia pull request : un billet intéressant surtout pour la démarche. On peut suivre les étapes et les précautions à prendre pour contribuer à un projet sur GitHub.
Packages#
JuliaFormatter.jl : Si vous programmez en Julia, il existe une norme pour formater votre code source. Lorsque vous travaillez à plusieurs sur un même code, dans tous les langages, il est préférable d’adopter une norme pour l’indentation et le nommage des variables. Cela aide à la compréhension du code source et limite également le nombre de commits. JuliaFormatter peut être utilisé sous forme de GitHub action pour garantir l’homogénéité du style entre différents contributeurs.
SnoopCompile.jl : Ce package destiné aux développeurs permet d’améliorer l’expérience des utilisateurs en précompilant les fonctions de votre package. Cela permet de diminuer les temps de chargements et de compilation à l’ouverture de la session.
Vidéos#
Integrating Julia in R with the JuliaConnectoR : pour des raisons disciplinaires, beaucoup d’utilisateurs de R restent réticents à basculer sur le langage Julia. Il existe cependant des solutions pour profiter de la puissance de Julia avec le langage R comme JuliaCall. Ce package souffre actuellement de problèmes de stabilité et le développement est au ralenti depuis 1 an et il n’est pas compatible avec la dernière version de R 4.0. Cette vidéo est une démonstration du nouveau venu JuliaConnectoR qui plus actif et semble mieux fonctionner avec une interface similaire.
Financial modelling on Large Data Streaming Sets : du big data avec Julia avec cette vidéo de 54 minutes. On peut y voir une démonstration de l’excellent package OnlineStats.
Building Binaries for Your Julia Packages : comment attacher du code écrit en C, C++, Fortran, Go, Rust, ou autre avec votre package. BinaryBuilder permet de le compiler et de le rendre utilisable dans votre environnement Julia.
Julia Macro hygiene made easy! : courte vidéo pour apprendre comment utiliser la métaprogrammation en Julia. Les macros sont à utiliser avec parcimonie et précaution en Julia. Tom Kwong vous donne quelques conseils.
Data Science Leuven Meetup : à partir de la 36e minute, une introduction à Julia orientée « Data Science ».
Ocean currents as two-dimensional advection diffusion : Vidéo de démonstration des possibilités de Julia avec cet exemple de mécanique des fluides numérique. Le problème mathématique résolu n’est pas compliqué, mais on apprécie le rendu interactif des résultats dans un notebook Pluto. Il est disponible sur ce dépôt.
Tutoriels et documentation#
Statistical Rethinking: A Bayesian Course (with Code Examples in R/Stan/Python/Julia) : un cours de statistiques disponible aussi en ligne avec des sessions zoom tout au long du mois de décembre.
Learning Microeconometrics with R : une version Julia des exemples R a été ajoutée très récemment.
Supports du Meetup Julia de Munich : Meetup organisé par le Julia User Group de Munich, c’est en anglais et l’ambiance est très sympathique. Les notebooks sont très bien écrits.
Complex numbers introduction using Julia : 20 minutes de cours académique sur les nombres complexes en Julia.
Gridap.jl tutorials : une mise à jour du package d’éléments finis en Julia avec de nouveaux tutoriels.
JuMP Tutorials : Tutoriels sur le package Julia qui propose une interface commune pour modéliser un problème d’optimisation mathématique et accéder à différents solveurs.
Divers#
Julia fonctionne par émulation sur les nouveaux Mac M1 et les performances sont prometteuses.
https://twitter.com/tomkwong/status/1332845446536982530?ref_src=twsrc^tfw
Je vous souhaite d’excellentes fêtes de fin d’année.
Pierre