I really want to reset expectations here with anyone who has this mindset and is waiting for Julia to become the dominant ML language.
- Julia is almost surely not going to displace Python for ML because Python for ML is actually C++ for ML. As such, replacing the Python ML frameworks requires Julia to be dramatically better than C++, not Python. But I do not believe any of the Julia developers would claim that Julia will fully replace C++ as a language in the tech industry in the next 10 years. But that is the bar for “Julia is the future of ML”.
- There is no plausible way the Julia community can raise enough money to beat other programming languages through funding professional development instead of relying on volunteer-driven development. $50,000 will pay for, at best, 2 weeks of development time by the programmers working on TensorFlow. If Julia wants to win, it will be through volunteer time from high quality developers who do work based on their own passions, not through monetary compensation. For anyone who does not understand the relevant compensation comparison points here, please spend time reading through levels.fyi.
But here’s the thing – neither of those two points reflects at all poorly on Julia as a language – unless you strictly define success as replacing TensorFlow and PyTorch. Deep learning is close to the worst case scenario for Julia – it’s an extremely narrowly confined style of programming where a small core of computational primitives need to be optimized like crazy. It’s better to think of deep learning as the next generation of BLAS than the next generation of programming languages.