As I discussed in “What is Julia?,” Julia is a free open source high-level, high-performance dynamic programming language for numerical computing that combines the development convenience of a dynamic language with the performance of a compiled statically typed language. It was designed to be good for scientific computing, machine learning, data mining, large-scale linear algebra, distributed computing, and parallel computing, and to have the ease of use of Python, R or even Matlab.
There are five major options for working with Julia: JuliaBox online; an installation of the Julia command line; an installation of JuliaPro; Visual Studio Code plus a plug-in and a Julia or JuliaPro installation; and Jupyter notebooks with IJulia. Let’s consider the pros and cons of each.
JuliaBox online requires no installation or maintenance, and you can use a free account to get started. It is set up for Jupyter notebooks, has more than 300 packages already added, and has dozens of tutorials in Jupyter notebook form. Many of the notebooks tie into the official Julia video tutorials. Jupyter notebooks are excellent for explaining your calculations, as you can see below.
Jupyter notebooks make it easy to document as you go.
On the down side, the free tier of JuliaBox can seem slow at times, although relatively inexpensive monthly paid subscriptions give you more cores, more RAM, and longer sessions. In addition, a Jupyter notebook is better for solving small problems than large ones, and is not as good as an IDE for actual programming.