/juliatutorial

A tutorial for the Julia language inspired to the Python tutorial

Primary LanguageJupyter Notebook

Introduction

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 !

Antonello Lobianco

Latest version

I am considering migrating to other documentation systems, as the new GitBook is pretty limited. If so, I will nevertheless update the link here.

Citations

Please cite this tutorial as:

A. Lobianco, (2018), “Julia language: a concise tutorial", GitBook, https://syl1.gitbook.io/julia-language-a-concise-tutorial, retrieved xx/xx/xxxx

Acknowledgements

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).