Remix.run Logo
rvz 2 days ago

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.

krzat 2 days ago | parent | next [-]

In an alternative reality, Chris invented Mojo at Apple (instead of Swift).

If one language was used for iOS apps and gpu programming, with some compatibility with python, it would be pretty neat.

Archit3ch 2 days ago | parent | prev | next [-]

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.

yowlingcat 2 days ago | parent | next [-]

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.

GeekyBear 2 days ago | parent | prev [-]

> The argument against Mojo is that it replaces CUDA (that you get for free with the hardware) with something that you need to license.

You realize that CUDA isn't open source or planned to be open source in the future, right?

Meanwhile parts of Mojo are already open source with the rest expected to be opened up next year.

deagle50 2 days ago | parent [-]

parent said free, not open source. I want Mojo to succeed, but I'm also doubtful of the business model.

GeekyBear 2 days ago | parent [-]

Do you get a functional version of CUDA free with AMD's much more reasonably priced hardware?

Mojo is planned to be both free and open source by the end of next year and it's not vendor locked to extremely expensive hardware.

pjmlp 2 days ago | parent [-]

To take full advantage of Mojo you will need Modular's ecosystem, and they need to pay the VCs back somehow.

Also as of today anything CUDA works out of the box in Windows, Mojo might eventually work outside WSL, some day.

GeekyBear a day ago | parent [-]

Commercial use of Mojo on Nvidia hardware is already free today.

There is no disadvantage vs CUDA.

pjmlp a day ago | parent [-]

A language without ecosystem isn't that interesting.

timeon 19 hours ago | parent | prev [-]

> "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.