3 ms·
It has a lot of potential. You can often write code in Julia that is really performant by just following a few simple rules. Most notably, keeping type stabilit
by nextos 6y ago
It has a lot of potential. You can often write code in Julia that is really performant by just following a few simple rules. Most notably, keeping type stability. Libraries are now catching up. Some are great, some are unique, others are still missing.
I have generated SIMD code that outperforms C and C++, even after some hand optimizations. As a matter of fact, some people are re-writing a BLAS drop-in replacement in pure Julia, and the performance is not going to be too far off from BLAS [1]. If you work in scientific computing, you can probably appreciate how amazing that is.
The combination of multiple dispatch, a simple type system and an LLVM backend is wonderful. In the long run, Julia will probably grab lots of Python's and R's marketshare because having a single language instead of two languages (Python + Cython/Pythran/... or R + C++) is a huge advantage.
[1] https://discourse.julialang.org/t/we-can-write-an-optimized-blas-library-in-pure-julia-please-skip-op-and-jump-to-post-4/11634/4 https://discourse.julialang.org/t/we-can-write-an-optimized-...
- krapht 6y agoMaybe Julia will become more popular, but I'd bet on the 800 pound gorilla Python getting faster through broader use of Dask, Cython, and Numba. I'll never bet against the network effects of language and library development.
- cbkeller 6y agoPeople often talk about speed as an advantage of Julia (which is true), but the real secret advantage compared to any other language I've worked with is more of a network effect: composability I didn't appreciate the importance of this (or the degree to which this just works as a result of multiple dispatch), but there's a good talk about this from JuliaCon 2019 [1] by Stefan Karpinski [1] https://www.youtube.com/watch?v=kc9HwsxE1OY https://www.youtube.com/watch?v=kc9HwsxE1OY
- KenoFischer 6y agoOne aspect that's underappreciated is that composability can actually lead to speed. If it's super easy to compose your algorithmic package with speed-improvement packages (parallelism, hardware accelerators, custom compilers), you're much more likely to be actually able to use them.
- contravariant 6y agoPretty sure you can call Julia code from python, and vice-versa.
- ta17711771 6y agoThat's why Go will supersede Python. All the new cool and secure small shit is being done in Go.
- dunefox 6y agoPlease no.
- ta17711771 6y agoElaborate?
- neutronicus 6y agoGo is not gonna replace SciPy No operator overloading, and scientists ain't gonna look twice at anything without that