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!

34 Likes

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 ....
    include(...)
    ... 
end

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

2 Likes

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"))
2 Likes

Nice! I already knew them, great job!

I suggest you to use https://www.juliabloggers.com/ to give it a little more visibility.

5 Likes

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…