Julia: a new direction in scientific computing
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It came from math, science, and engineering MIT students who wanted a fast, practical language to replace C and Fortran designed to give you answers quickly. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.
As a new programming language, it lacks of the tons of libraries other older and extensively used languages have but the Julia language makes it unusually easy to interface with existing C libraries. Julia’s Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. Julia makes it simple to call external functions in C and Fortran shared libraries, without writing any wrapper code or even recompiling existing code. You can try calling external library functions directly from Julia’s interactive prompt, getting immediate feedback.
Julia is a free alternative to proprietary tools for doing data science, like MATLAB and Mathematica, and it’s more contemporary than open-source languages R and Python. More companies are hiring data scientists to make more data-driven decisions, and open-source tools often come in handy, so I expect an exponential growth for Julia Language in the coming years.
The core of the Julia implementation is licensed under the MIT license. Various libraries used by the Julia environment include their own licenses such as the GPL, LGPL, and BSD (therefore the environment, which consists of the language, user interfaces, and libraries, is under the GPL).
Other resources:
- The Julia manual
- Learning page from Julia
- Hands-on Julia: A hands-on tutorial covering the same ground as a series of exercises
- Julia users Google group
Now, if I have managed to attract your interest you can follow these simple instructions to start using Julia.
Installing Julia
The simplest way to install Julia is with a binary install. You must download the installer for your operating system. If you use Windows, you probably want to also install git for Windows, which provides a proper Unix-like shell.
Running Julia
You have some ways to run Julia:
- In the terminal using the built-in Julia command line.
- With the Juno integrated development environment (IDE).
- In the browser on JuliaBox.org with IJulia notebooks.
- Through IJulia, the Julia interface for the Jupyter interactive environment also used by IPython. For this option, the best method is to install Anaconda, the free Python distribution, which includes Jupyter. The run Julia application and type
Pkg.add("IJulia")
at prompt.
What next?
And finally I’d like to suggest you the David P. Sanders’ Invitation to Julia for scientific computing: an introductory workshop on Julia at JuliaCon 2015.