This is a collection of links and tutorials for the Julia programming language.
The core language
Julia is a high-performance dynamic programming language for scientific and technical computing. It combines the simplicity of Python with a more sophisticated compiler and many small improvements that make the platform easier to use and better suited for numerical computation.
Most importantly, Julia is a lot of fun!
To get started, I recommend JuliaBox for easy access to Julia from your browser.
If you are already familiar with MATLAB or Python, you can have a quick look at the “Basics”, “Interactive Widgets” and “Multiple Dispatch” tutorials that come with JuliaBox. If you care about interfacing native code, look at “Calling C and Python”.
If you are familiar with any programming language, this tutorial will get you up to speed quickly.
At this point, depending on your prior experience, you either already feel comfortable with how things are working, or you will have to work through Learning Julia the Hard Way. A more lightweight approach is Julia By Example. And then, there is always the reference manual.
The most important part of Julia to learn is Arrays and Linear Algebra (the latter is a reference, but once you understand how arrays work and if you know linear algebra, it is quite easy to work with).
You can then look at the Julia packages. Some interesting ones are DataFrames and the Julia optimization packages, probably the most advanced part of Julia’s ecosystem right now: JuMP and its backend MathProgBase that unifies access to many different solvers, NLopt, Optim and Convex.
If you write your code the right way, you should get performance that is comparable with C. A little bit of care is needed to achive this, some tips are given in the Julia manual. If you want to find out where time is spent, have a look at ProfileView, I find it to be super helpful.