Data scientists working with R and Python, as well as anybody looking for interesting, new-ish, high-performance programming languages should look into the not-as-much-discussed Julia. Evan Miller has written an informative (and pretty persuasive) blog post on his website about the merits of Julia as a solution for programmers who tend to, for example, work in a three-phase pattern in which Python (or R, or Ruby) code is improved upon with something faster, like C++, and then even faster, like assembly code. Julia offers a cleaner approach, Miller says:
Julia breaks down the second wall — the wall between your high-level code and native assembly. Not only can you write code with the performance of C in Julia, you can take a peek behind the curtain of any function into its LLVM Intermediate Representation as well as its generated assembly code — all within the REPL.
That sounds pretty good, right? In other words, Julia is all about getting stuff done quickly and efficiently:
Miller's post isn't a tutorial or a getting-started piece, but it does point to a few resources and makes a strong argument in favor of Julia, including some of the drawbacks, such as the lack of libraries, given the recent development of the language. Check out the Miller's full post to learn more.
So forget the stuff you may have read about Julia's type system, multiple dispatch and homoiconi-whatever. That stuff is cool (I guess), but if you're like me, the real benefit is being able to go from the first prototype all the way to balls-to-the-wall multi-core SIMD performance optimizations without ever leaving the Julia environment.