Hacker News new | ask | show | jobs
by FrustratedMonky 272 days ago
People are trying to break the moat.

See, Mojo, a new language to compile to other chips. https://www.modular.com/mojo

1 comments

I don't think "learn entirely new language" is all that appealing vs "just buy NVIDIA cards"
This was in terms of breaking the Nvidia monopoly. Mojo is a variant of python. When looking at the difficulty of migrating from CUDA , learning python is pretty small barrier.

Sure, you can keep buying nvidia, but that wasn't what was discussed.

> Mojo is a variant of python.

Lol this is how I know no one that pushes mojo on hn has actually ever used mojo.

Yes, over simplifying the concept. what is wrong with that? If I post a thesis on compilers would that really help clarify the subject? Read the link for details. Is Mojo attempting to offer a non-Cuda solution? Yes. Is it using Python as the language? Yes. Is there some complicated details there? Yes. Congratulations.
> Yes. Is it using Python as the language?

You're completely wrong here. That's the "what's wrong with it".

I think you are missing the nuance between the different aspects of using the Python Interpreter, and integrating new functions with Python. And compiling to a different target. Would you say Iron Python is Not Python, and quibble about it? Is there some Python purist movement I'm not aware of? Should every fork of Python be forced to take Python out of its name?

To say Mojo doesn't use Python, when clearly that is a huge aim of the project, makes me think you are splitting hairs somewhere on some specific subject that is not clear by your one liners.

Key aspects of Mojo in relation to Python:

• Pythonic Syntax and Ecosystem Integration: Mojo adopts Python's syntax, making it familiar to Python developers. It also fully integrates with the existing Python ecosystem, allowing access to popular AI and machine learning libraries.

• Performance Focus: Unlike interpreted Python, Mojo is a compiled language designed for high-performance execution on various hardware, including CPUs, GPUs, and other AI ASICs. It leverages MLIR (Multi-Level Intermediate Representation) for this purpose.

• Systems Programming Features: Mojo adds features common in systems languages, such as static typing, advanced memory safety (including a Rust-style ownership model), and the ability to write low-level code for hardware.

• Compatibility and Interoperability: While Mojo aims for high performance, it maintains compatibility with Python. You can call Python functions from Mojo code, although it requires a specific mechanism (e.g., within try-except blocks) due to differences in compilation and execution.

• Development Status: Mojo is a relatively new language and is still under active development. While it offers powerful features, it is not yet considered production-ready for all use cases and is continually evolving.