4 ms·
I've played with numba a bit, and my feeling is that if you're going to accept the disadvantages of just in time compilation, why not just write in Julia (where
by spekcular 5y ago
I've played with numba a bit, and my feeling is that if you're going to accept the disadvantages of just in time compilation, why not just write in Julia (where the experience is a lot more seamless)?
Julia was also faster in my experiments.
- kortex 5y agoJulia looks promising, but it has a long way to go to catch up with Python's ecosystem. Python's libraries, communities, knowledge base, and developer availability are almost unmatched (maybe a few languages have it beat). Especially in the scientific, ML, and data science fields.
- krapht 5y agoThe rest of the lab/company uses python and collaborating with Julia code is difficult.
- cycomanic 5y agoI know this might be unpopular on HN, but I find the whole "use Julia" comments every time something scientific code is discussed is becoming a bit old. I have tried Julia but I found the promised "everything will be as easy to write as python but as fast as C" is often not true. There are quite a few pitfalls (e.g. don't use abstract data types), which one has to consider and code can start looking looking more like cython than python if one wants to optimise for speed. I also dislike some of the design decisions they made (in particular making multiply a matrix operation and using the '.' for broadcasting which is incredibly easy to overlook and one of the main sources of bugs in matlab code in my experience). That said there are great things happening in the Julia ecosystem, just don't promote it as the be all of scientific computing all the time.
- spekcular 5y agoOh, if you check my comment history, you'll see me complaining a bit about Julia. I'm not saying it's perfect. But numba is so clunky and fickle that I think, just in terms of comparing the two, Julia is pretty clearly superior if you don't have a strong reason to use Python.
- Der_Einzige 5y agoBecause Julia has not even close to the ecosystem of libraries around it for ML/AI, particularly for subdomains like NLP, among other reasons...
- freemint 5y agoIt has excellent packages for non linear programming though. Both JuMP and JuliaSmoothOptimizers are an excellent eco system for optimization. I find it odd though that Non linear programming is a subset AI and not the reverse.
- dunefox 5y agoThere's a package for using R libraries (https://juliainterop.github.io/RCall.jl/stable/ https://juliainterop.github.io/RCall.jl/stable/) and one for Python libraries (https://github.com/JuliaPy/PyCall.jl https://github.com/JuliaPy/PyCall.jl). It's pretty seamless.
- otsaloma 5y agoI think typically people don't start out thinking they'll use Numba, they start out using Python (for a multitude of valid reasons). Then eventually they want to optimize a single bottleneck at which point Numba makes a lot more sense than rewriting everything in Julia/Rust/whatever or calling some language from Python for which no convenient mechanism exists. And when thinking about something more than optimizing a single function, but about a large codebase and the context in which you need it, Julia is rarely a compelling option.