We need a Pythonic language that is compatible with the Python ecosystem designed for machine learning use-cases and compiles directly to an executable with direct specialized access to the low-level GPU cores and is a fast as Rust.
The closest to that is Mojo and borrows many of Rust's ideas, built in type safety with the aim of being compatible with the existing Python ecosystem which is great.
I've never heard a sound argument against Mojo and continue to see the weakest arguments that go along the lines of:
"I don't want to learn another language"
"It will never take off because we don't need another deep learning DSL"
"It's bad that a single company owns the language just like Google and Golang, Microsoft and C# and Apple and Swift".
Well I prefer tools that are extremely fast, save time and make lots of money, instead of spinning up hundreds of costly VMs as the solution. If Mojo excels in performance and reduces cost then I'm all for that, even better if it achieves Python compatibility.
The argument against Mojo is that it replaces CUDA (that you get for free with the hardware) with something that you need to license.
By itself, that's not so bad. Plenty of "buy, don't build" choices out there.
However, every other would-be Mojo user also knowns that. And they don't want to build on top of an ecosystem that's not fully open.
Why don't Mathematica/MATLAB have pytorch-style DL ecosystems? Because nobody in their right mind would contribute for free to a platform owned by Wolfram Research or Mathworks.
I'm hopeful that Modular can navigate this by opening up their stack.
I really want to like Mojo but you nailed what gives me pause. Not to take an anecdotal example of Polars too far beyond, but I get the sense the current gravity in Python for net new stuff that needs to be written outside Python (obviously a ton of highly performant numpy/scipy/pytorch ecosystem stuff aside) is for it to be written in Rust when necessary.
Not an expert, but though I wouldn't be surprised if Mojo ends up being a better language than Rust for the use case we're discussing, I'm not confident it will ever catch up to Rust in ecosystem and escape velocity as a sane general purpose compiled systems language. It really does feel like Rust has replaced C++ for net new buildouts that would've previously needed its power.
> "It's bad that a single company owns the language just like Google and Golang, Microsoft and C# and Apple and Swift".
I do not think that is same as VC-backed. Google/Microsoft/Apple need those languages for their ecosystem/infrastructure. Danger there is "just" vendor lock-in. With VC-backed language there is also possibility of enshittification.
The closest to that is Mojo and borrows many of Rust's ideas, built in type safety with the aim of being compatible with the existing Python ecosystem which is great.
I've never heard a sound argument against Mojo and continue to see the weakest arguments that go along the lines of:
"I don't want to learn another language"
"It will never take off because we don't need another deep learning DSL"
"It's bad that a single company owns the language just like Google and Golang, Microsoft and C# and Apple and Swift".
Well I prefer tools that are extremely fast, save time and make lots of money, instead of spinning up hundreds of costly VMs as the solution. If Mojo excels in performance and reduces cost then I'm all for that, even better if it achieves Python compatibility.