Some thoughts on the Mojo programming language

Unitplane
3 min readMar 9, 2024

--

Recently a new language has caught my attention, and I cannot stop thinking about it: Mojo 🔥.

It’s like Python driving a racing car

As a superset of Python with familiar syntax, it seems that Mojo is both a general-purpose very high-level language, and a lower-level systems language that spins the rubber on a variety of modern CPU/AI/GPU hardware, while bringing lessons learned from Rust, Go and C++.

As an AI-centric language, I think Mojo is riding the big wave of the future of computing.

I’m not going to elaborate on technical details, though. For those, you can watch the excellent videos from the core team, and Jeremy Howard’s demo.

Perfect positioning

I’ve never seen a more well positioned product-market fit than the one of Mojo. Not only Mojo seems to tick all the boxes, but it ticks all the boxes at the right time when GenAI has just become part of our lives, the Python ecosystem has nearly reached its limits, and GPU hardware is skyrocketing:

  • GenAI is the new computing architecture, arguably the biggest and greatest innovation, not since the Internet as some people would say, but since the digital computer itself. That is, since the advent of the “the generic machine” in the 1940s.
  • People want something familiar they can use immediately to solve their problems;
  • Python data scientists and engineers need to squeeze all the performance out of the hardware;
  • Fragmentation in both languages and the AI stack are at all-time highs.

It’s like Python driving a racing car

The beauty of Python is that it doesn’t get in your way. It lets you focus on the problem you’re trying to solve. Many times I forgot I was typing Python!

The syntax and semantics of Mojo, however, move away from the dated taxonomic and often times brittle OOP style into a modern mix of functional and imperative simplicity with easy access to the hardware.

Fastest adoption rate in History?

For this, Modular (the company that created Mojo), has an impressive headstart:

  • A great team and Chris Lattner’s experience in creating LLVM and the Swift programming language;
  • A partnership with NVIDIA;
  • A parnership with AWS.

I’d say if Mojo:

  • Gets its tooling right, like Go did;
  • Can be both a very-high and lower-level language;
  • Can compete with C++ for speed.

… then all is set for it to:

  • Knock out a big chunk of the other languages’ popularity;
  • Have an adoption rate never seen in History before;
  • Bring the majority of the Python community along.

Too good to be true?

Deliberately or not, Mojo is positioning itself as Python++ to cover an extremely wide space. That brings risks if the community see it (like I do) as a potential language to rule them all, which could eventually dilute its efforts in all directions.

But I bet that the core team will stay focused on Mojo as primarily for AI workloads.

As a software engineer, if this doesn’t excite you, then… you know…

Enjoy 🔥

PS — If Mojo doesn’t convince you, check my other story on the amazing V programming language.

--

--