Julia Crash Course for QNumerics

Why Julia?

Julia is designed to solve the two-language problem: the common pattern of prototyping in a high-level language like Python or MATLAB and then rewriting the hot loops in C, C++, or Fortran for speed. With Julia you write one language that is both compact and fast.

A nice illustration comes from the Computer Language Benchmarks Game. The plots below were assembled by the Chapel team (original post) and place each language on a 2D plot of compressed code size (how much code you have to write) against execution time (how fast it runs). The bottom-left corner is the sweet spot: small programs that run fast.

Zoomed out across most popular languages, Julia sits with C, Rust, Fortran, and Chapel down in the fast-and-compact corner, well separated from Python, Ruby, and Perl:

CLBG benchmark summary across selected languages

Zooming in on just the fast languages, Julia is among the smallest code sizes while staying close to C-level performance:

CLBG benchmark summary zoomed in on the fastest languages

In other words, you don't have to choose between productivity and performance — and that's the property the rest of this course is built around.

A handful of other things Julia is good at:

Contents

There are 6 tutorial sections:

  1. Getting Started: Installing Julia and other tools, an overview of Julia, and getting started in the REPL.
  2. Julia Types and Dispatch: The core ideas of Julia: the type system and multiple dispatch.
  3. Write Fast Run Fast: How to write fast Julia code.
  4. Tools to Help: Tools for optimizing, debugging, and otherwise improving your Julia.
  5. HPC: Distributed and GPUs: High performance computing with MPI.jl, and dipping our toes into GPU programming.
  6. Ecosystem Fun: A quick tour of parts of the computational ecosystem in Julia.

Throughout our in-person tutorials we will use many different tools including the REPL, Pluto and Jupyter notebooks, and Visual Studio Code and the REPLQuiz tool. We hope that while this will lead to an inconsistent experience across the tutorials it will equip you to interact with the many ways to read, write, and run Julia code.

CC BY-SA 4.0 Raye Kimmerer. Last modified: June 22, 2026.
Website built with Franklin.jl and the Julia programming language.