4 ms·
Julia has metaprogramming as a fundamental principle of the language. This makes for a very concise and powerful system that, together with a well-written AD fr
by uoaei 4y ago
Julia has metaprogramming as a fundamental principle of the language. This makes for a very concise and powerful system that, together with a well-written AD framework like Zygote, makes every expression differentiable, meaning that effectively the entire language is differentiable.
And that isn't even the coolest thing about working in Julia: just wait til you see what people can squeeze out of macros.
- pas 4y agoso why it hasn't taken over the ML world already? or it did? or there are too many ML "researchers" who haven't bothered to improve their own tooling and are trapped in Anaconda?
- staunton 4y agoThe Julia community is small and has no large commercial backers. Projects such as TF/PyTorch require community support and a lot of investment which Julia just doesn't have. In fact, Julia isn't even trying at the moment to "compete" with TF/PyTorch [1, 2]. [1] https://discourse.julialang.org/t/state-of-machine-learning-in-julia/74385 https://discourse.julialang.org/t/state-of-machine-learning-... [2] https://news.ycombinator.com/item?id=29682507 https://news.ycombinator.com/item?id=29682507
- cbkeller 4y agoI think this is the best answer, as someone who's been using the language for most of my work for a few years (but not in ML). Flux.jl is probably the highest-profile relevant effort, but it's been (AFAIU) pretty much entirely volunteer-developed for the past 2+ years.
- geysersam 4y agoTypical ML doesn't require an entirely differentiable language. For applications that do need that (mainly "scientific machine learning") Julia has taken a considerable chunk of the market. To be fair Pytorch is more convenient if you're not doing anything unusual. And Julias more flexible AD comes with some sharp edges.
- snovv_crash 4y agoI've worked at 2 companies that would have liked to use Julia but it wasn't (and still isn't) product ready for anything involving high reliability or robustness.