4 ms·
Both Octave/Matlab and R are more "convenient" or elegant in certain precise cases, like linear algebra, but Python provides a much more coherent experience due
by bayesianhorse 13y ago
Both Octave/Matlab and R are more "convenient" or elegant in certain precise cases, like linear algebra, but Python provides a much more coherent experience due to syntax and the type system.
Julia... well... has its merits, but the ecosystem isn't comparable. Julia does not have Django, Guido or PyCon.
- RivieraKid 13y agoI think it's just a matter of time until it replaces Python in data science. (And I believe it's also the best designed general purpose dynamic language out there.)
- bayesianhorse 13y agoIt would be a matter of quite a long time then. Considering that it took the numpy/pandas combination several years to almost overtake matlab and R, and that Python is language and interpreter with 2 decades of history and development, Julia should take about five to ten years to be a serious competitor, and the inertia of the python community will be hard to break.
- RivieraKid 13y agoPerhaps, it's hard to tell... Julia can be almost as fast as C, so it can potentionally replace many uses of C / C++ for scientific computing.
- bayesianhorse 13y agoJulia can be almost be as fast as C and still not have Django, Guido or Pycon...
- ihnorton 13y agoExisting Python libraries can be called quite easily from Julia using PyCall (https://github.com/stevengj/PyCall.jl https://github.com/stevengj/PyCall.jl) Regarding ecosystem development, one advantage that Julia has is the low learning curve between "user" and "contributor". Idiomatic code usually runs reasonably quickly, and can be made "fast" by tweaking some things within the same language (devectorizing, or turning off bounds-checks, for example). These kinds of optimizations simply cannot be done in NumPy without dropping in to C+CPython or Cython (each of which has impedance mismatches and language+toolchain hurdles).