3 ms·
Julia is one of my fav languages. For numerical computing, neither python + numpy, nor matlab come even close. The interop is nuts. To call, say numpy fft, you
by adamnemecek 7y ago
Julia is one of my fav languages. For numerical computing, neither python + numpy, nor matlab come even close. The interop is nuts.
To call, say numpy fft, you just do
using PyCall
np = pyimport("numpy")
res = np.fft.fft(rand(ComplexF64, 10))
No casting back and forth. This is a toy example, julia ofc has fftw bindings.
- dangom 7y agoAs of today, how would you compare Julia to the Python ecosystem? Could I use Julia as a "drop-in" replacement for the python scientific stack already?
- jey 7y agoIt can depend on which specific Python packages you're using, but generally speaking the Julia ecosystem is pretty mature for scientific computing and data analysis. And as the GP post demonstrated, you can fill in the gaps by using the awesome PyCall interface to directly call Python code.
- adamnemecek 7y agoAs I mention above, the interop is really good so you can literally start using it right now without rewriting anything. The ecosystem is smaller, but the average package quality is higher. It's easier to contribute to packages, since in python, you'd sometimes just end up writing C. Julia packages are generally pure julia.
- ChrisRackauckas 7y agoFor what I do (scientific computing mixed with differential equations, so lots of things like neural partial differential equations which utilize lots of special numerical linear algebra and sparsity handling), the packages exist in Julia but not in Python, MATLAB, or R.
- marmaduke 7y agoIt seems little known, but Matlab has had Python interop since 2015, your code would just be res = py.numpy.fft.fft(rand(10,1))