Skip to content
Andy Young edited this page Nov 3, 2026 · 7 revisions

Much of the software that we use is written in Julia. This is a relatively new programming language and I have really enjoyed learning to use it. In a nutshell, Julia is pleasant to use (readable code, with fantastic packages) with excellent performance.

The language

Benefits of Julia

In this section I will add some favourite benefits of using Julia with links.

  • Automatic differentiation is great when you need to run optimisation tasks, use differential equations, etc. Maybe take a look at this YouTube video for a 10-minute introduction. I like this quote from the video, "...Julia is all about performance and efficiency without doing the hard work to get it..." See also the ForwardDiff documentation.
  • You can use unicode in Julia which sounds like a gimmick but actually being able to write equations with, e.g., $\Gamma$, $\alpha$, etc. in them makes readability much better and reduces the change of a transcription error when importing equations into code.
  • There are great packages such as SciML: Open Source Software for Scientific Machine Learning which open up a wealth of modern, sophisticated, high performance algorithms that you can use.

Some interesting packages

  • Pluto.jl has great interactive notebooks. You can set up sliders, buttons, etc. to interact with your notebook. You can change parameter values and the calculations and plots update accordintly.

Platform specific notes

Mac

My personal setup is on a Mac. Here are some details:

  • I use Homebrew as my Mac software manager. You can use this to install all sorts of "Linux" software, as well as more standard Mac applications.
  • You can then install Julia from the command line using brew install julia. You can run Julia from the command line by typing julia.
  • I also use juliaup to manage versions of Julia and to be alerted when there is a new release. Again, you can install this using Homebrew with brew install juliaup.
  • For software development and running Julia code I use Visual Studio Code. This allow you to, e.g., step through and execute Julia code one line at a time if you wish (a REPL; read–eval–print loop). I find that this development environment is really good, although alternative exist that some people may prefer.
  • There are extensions for VS Code for the Julia language, GitHub integration, etc.

Astro group linux server

  • You should be able to follow the Mac and Linux instructions provided by Julia to install juliaup in your account

Clone this wiki locally