Update summer 2019: This tutorial (largelly updated, expanded and revised) is becoming a book thanks to Apress :-) Stay tuned!
Compatibilities table of this tutorial with Julia versions:
Julia 1.0: From 5 September 2018
Julia 0.6: 19 July 2017 - 15 August 2018 versions
Julia 0.5: Versions before 19 July 2017
The purposes of this tutorial are (a) to store things I learn myself about Julia and (b) to help those who want to start coding in Julia before reading the 982 pages of the (outstanding) official documentation.
This document started as a compendium of several tutorials (plus the official documentation), in particular Chris Rackauckas's A Deep Introduction to Julia, the Quantecon tutorial, the WikiBook on Julia and Learn X in Y minutes, from which I did borrow several examples.
The focus is on Julia as a generic programming language rather than on domain-specific issues (but some domain-specific topics are covered in the "Useful packages" section). The format is in the middle between a classical tutorial and a cheatsheet: the tutorial describes the elements of the language following the typical sections of a programming language tutorial (data types, control flows, functions..), but the information is given in a pretty concise way, suitable for people that already have some knowledge in other programming languages (e.g. what a
for loop does is not explained, but how it is implemented in Julia is).
English is not my primary language, so please be understanding and report me of any errors, both in the language and in the content.
Happy coding with Julia !
The latest version of this tutorial can be found online on GitBook, at https://syl1.gitbook.io/julia-language-a-concise-tutorial
PDF version (if it works)
A legacy interface (if it works)
Corresponding GIT repository
I am considering migrating to other documentation systems, as the new GitBook is pretty limited. If so, I will nevertheless update the link here.
Please cite this tutorial as:
A. Lobianco, (2018), “Julia language: a concise tutorial", GitBook,
, retrieved xx/xx/xxxx
Development of this tutorial was supported by:
the French National Research Agency through the Laboratory of Excellence ARBRE, a part of the “Investissements d'Avenir” Program (ANR 11 – LABX-0002-01).