Meet Julia

Julia is a very new open-source, high-level language from some terribly clever people at MIT and elsewhere, aimed at scientific computing. It achieves a very fast performance through a Just-In-Time (JIT) compiler. The language itself is quite intuitive, being superficially similar to Matlab. I have been playing around a little with it, and I think it is going to make a massive impact when it takes off. A lot of my work involves statistical models that can take a long time to fit, so anything to improve speed is very welcome. Julia has the advantage of speed – only slightly inferior to writing low-level code in C++ (for example) and compiling it, but with much more concise syntax. If you can handle R then you can handle Julia. Parallel processing is designed in from the beginning, and you can call C libraries to save reinventing the wheel. I mean, what else could you want?

There are some videos of rapid introductions on their YouTube channel. Try this intro to data frames, for example:

Now there is also a cloud-based trial called “Try Julia“, hosted by Forio. They are working towards a (presumably commercial but there are places for keen beta-testers) parallel cloud implementation called Mandelbrot (get it?). You really, really should go and look at this site. Do it now! There is a step by step tutorial that introduces you and Julia to each other (including regression and simulation). Then, if the two of you you get along, why not download the latest version (and it is worth, at this early stage, keeping up with the latest as there are lots of fixes coming through all the time). Julia has clearly started off in Linux and been produced as a Cygwin type of shell for Windows. I encountered some problems with loading packages with the last version but as of 0.2 it seems to be fixed.

If you are like me and can’t resist a bit of MCMC, check out doobwa’s code. It’s amazing that programmers are getting moving with this so fast!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s