“Looks like Python, feels like Lisp, runs like Fortran.”

A high-level programming language geared towards scientific computing.


Should I learn Julia?


Arguments for Julia

Compared with Python, It’s much faster out of the box and can do real parallel computing that is not constrained by the Global Interpreter Lock. It supports many mathematical operations (e.g., vectors, matrices, etc.) out of the box and allows using symbols.

Compared with lower-level languages like C, C++, Rust, etc., it is still much easier to write and feels closer to Python. It is also much more strongly geared towards mathematical and scientific computation.

Compared with Mathematica or Matlab, it is an open-source language and a more general purpose language.

Compared with R, it is a more general purpose language and the language itself has (arguably) a much better design. It is generally much faster as well.

Arguments against Julia

It’s still a young language without a huge user base. There are not as many packages as other more popular languages.

Current verdict

Maybe start adopting it for the part of the projects where you need to implement algorithms by yourself rather than using other packages?

Where should I start?


Interactive notebooks

Julia provides a nice REPL, but can also be run with Jupyter as well as a reactive notebook called Pluto (similar to Observable notebook).


Julia plugin offers a powerful development environment.