Just wanted to jump in here and say that for numerical computing Julia’s ecosystem of libraries are absolutely fantastic! DifferentialEquations.jl alone was worth switching to Julia!
Although I spent a long time optimising numerical code with Numba the speedup I got (whilst significant) wasn’t really comparable to the speed of a Julia implementation.
“Writes like Python runs like C” is one tagline I’ve seen them use. Julia gives you a lot of control over how fast you want your code to be. You can write some code without really thinking too much and it’ll be fast and work just fine. If you get to a point where it’s not fast enough then there’s a whole host of tools to help you speed it up.
At any stage you can call @code_{warntype, lowered,...} and inspect exactly what code has been produced by the compiler to find bottlenecks.
I’ve not written much R before but in my experience I’ve never had to go to those lengths to debug Julia code! (Although the error messages can sometimes be a bit of a mouthful, I think because it uses LLVM)
I’ve just given this a cursory read but wanted to say that this looks really exciting. Julia in general seems like such an exciting language.
I’ve recently switched some Fortran simulations at work for a pure Julia implementation and it is great fun to write. DifferentialEquations is a phenomenal piece of work!
I’m Scottish and as soon as I saw “lox” I wondered if it was related to “lax”. Not a common word but have encountered it a few times. I also quite like gravlax which I suppose comes from the same origin!
Although I spent a long time optimising numerical code with Numba the speedup I got (whilst significant) wasn’t really comparable to the speed of a Julia implementation.