First Posted: August 5, 2022
Last Updated: August 27, 2022
Like most physics people I know, whenever I needed to learn a new language, I taught myself how to use it. The same is true for me and Julia.
What that actually translates to is that I've learned from an online community of generous teachers who publish many of their educational materials for free. Here's a list, in no particular order, of resources that I cannot recommend enough to anyone interested in Julia programming.
Official docs
for the Julia programming language.
These are the docs
for the Julia programming language generated by – get this – the Julia programming language! One of the nicest features that Julia offers are a set of first-class docstring
s that document one's code as they write it. They are then searchable and can be used to generate really great documentation for projects. One can actually also leverage the docstring
s as tests of their code to make sure the expected output is actually returned by the code in any examples. In this case, the Julia team has done a nice job integrating these features into the Base
code as well, making sure the documentation is up-to-date and works.
A website hosted by JuliaLang.
Main discussion website for the Julia community. There is a lot of helpful forums, Q&A, and advertisements for various packages on this site.
Sometimes the discussions are a bit outdated since Julia is a really quickly developing language, but even then it can be interesting to see issues that people ran into and then how the community responded to help.
Tom Kwong's book produced with Packt Publishing (2020).
Only Julia resource I've spent money on. Worth every penny and one of the few textbooks I've legitimately read cover-to-cover (he's a very fast-paced writer despite the book being 500+ pages long). Kwong does an excellent job communicating why he, like most in the Julia community, consider the multiple-dispatch paradigm superior to the traditional object-oriented paradigm in software design. He also has a plethora of hands-on examples showing how this is the case.
julia for talented amateurs
A channel hosted on Youtube.
This YouTuber has inspired me a lot to continue with Julia and create tutorials of my own. They seem to be interested in learning all things Julia and make videos to document their own progress, including how to use Julia to make static websites like with one!