From zero to Julia! Learn how to code in Julia

Hello! In the past few months I’ve been writing a series of introductory lessons to the Julia language. They cover the basics of Julia and gradually move on to more advanced topics, including plotting, parallel computing, GPU computing and code optimization.

Here is a complete list of the lessons:

This series of lessons is a work in progress, and as I write more material I will update the main page.

Currently I’m planning to write three more lessons, one about meta-programming, one on how to call other programming languages (such as c++, Mathlab, Fortran, etc) and finally one about type annotations and multiple dispatch.

Please let me know what you think about these lessons and if you have any suggestions on topics which you think should be covered!


I looked through a few of your lessons and I think they look very useful. One minor thing that might useful to add to your lessons on parallel computing is using @everywhere with a begin block to load multiple items without using individual @everywhere annotations. For example,

@everywhere begin 
    using ....

I look forward to the lesson on macros, which is something I have not used so far!


Aye. It is pretty common in distributed systems (e.g., HPC) to have a main file and that one having a

@everywhere include(joinpath("src", "common.jl"))

Nice! I already knew them, great job!

I suggest you to use to give it a little more visibility.


Thank you! I for one have never particularly used constructs like decorators in Python and now macros in Julia (except a few ones which are provided by libraries), so I am not confident enough to write a guide about them…