Programming languages to watch: LiveScript, Julia, Elixir
I really like Julia. I'm currently playing around with it whenever I find some spare time. I don't see it as a competitor to R, I think it could well be something along the lines of Python or Go.<p>It is LLVM based, and already really fast even though it is still a 0.2 and the JIT seems to have a lot of room for optimisation.<p>Whats more, it seems to offer just the right blend of language features:
- Easily include C libraries via a simple ffi [1]
- It is homoiconic like Lisp and thus allows for fantastic macro facilities [2]<p>- It has solid parallel programming support via a Coroutines implementation (Tasks) (similar to Goroutines as far as I can tell)<p>- It is a non-pure functional language<p>- In contrast to Go it has generics, so functional constructs like map, apply, drop, reduce, fold, partition & friends are already in there (or can easily be implemented) [3]<p>- It has optional types, so that you <i>can</i> assign types and the compiler will check for it and mark errors and will be able to create optimised code, but you don't have to [4]<p>- Running external programs is a joy [5]  (Example: a=readall(`echo hello`))<p>The community seems to be very alive. There's a simple web framework called "Morsel" and I've recently set it up against a couple of contenders from the web framework benchmark (cpoll-cppsp, phreeze, and some others), and even though it is still a version 0.2, the performance for the json serialization benchmark would be pretty close to Scalatra (I yet have to publish these numbers, will do so soon).<p>I really hope that Julia will grow, as I love the choices that went into the design of the language, and it would be a shame if it would be only a replacement for R instead of something much bigger, as it is such a nice language.<p>[1] <a href="http://docs.julialang.org/en/latest/manual/calling-c-and-fortran-code/" rel="nofollow">http://docs.julialang.org/en/latest/manual/calling-c-and-for...</a><p>[2] <a href="http://docs.julialang.org/en/latest/manual/metaprogramming/" rel="nofollow">http://docs.julialang.org/en/latest/manual/metaprogramming/</a><p>[3] <a href="http://docs.julialang.org/en/latest/stdlib/base/#general-collections" rel="nofollow">http://docs.julialang.org/en/latest/stdlib/base/#general-col...</a><p>[4] <a href="http://docs.julialang.org/en/latest/manual/types/" rel="nofollow">http://docs.julialang.org/en/latest/manual/types/</a><p>[5] <a href="http://docs.julialang.org/en/latest/manual/running-external-programs/" rel="nofollow">http://docs.julialang.org/en/latest/manual/running-external-...</a>