4 ms·
1. Speed in iterative algorithms. 2. (Almost) painless concurrency. 3. Symbolic programming right in the language (think of SymPy built in the language). 4.
by ffriend 11y ago
1. Speed in iterative algorithms.
2. (Almost) painless concurrency.
3. Symbolic programming right in the language (think of SymPy built in the language).
4. Closeness to Matlab (which makes it easy to translate existing code).
In general, people tend to port to Julia algorithms that were originally written in Matlab or C++ (with the conciseness of first and speed of the second). For example, I made several attempts to translate Matlab/C++ code of active appearance models to NumPy, but succeeded only with Julia [1]. Another example - Mocha.jl [2] - is a port of Caffe deep learning framework (written in C++ with a wrapper in Python) into a pure Julia, which it easy both to use and modify.
So if you just use existing libraries, there's probably no big difference what to use. But if you actively write new libraries, at least give Julia a try.
[1]: https://github.com/dfdx/ActiveAppearanceModels.jl https://github.com/dfdx/ActiveAppearanceModels.jl
[2]: https://github.com/pluskid/Mocha.jl https://github.com/pluskid/Mocha.jl
- nextos 11y agoAny noteworthy probabilistic programming efforts in Julia? Perhaps Mamba? I don't like Python that much, but some libraries like Theano or PyMC are really really well done.
- Lofkin 11y agoWhat don't you like about python? Just curious. There is this for HMC, NUTS gibbs etc : https://github.com/JuliaStats/Lora.jl https://github.com/JuliaStats/Lora.jl But its not ready to use yet it think.
- ced 11y agoThere's also a Stan wrapper https://github.com/goedman/Stan.jl https://github.com/goedman/Stan.jl
- ihnorton 11y agoAnother one: https://github.com/zenna/Sigma.jl https://github.com/zenna/Sigma.jl There was a talk about Sigma at JuliaCon this year, but I don't think the video is posted yet.