mojo
The Mojo Programming Language
A new programming language with Python-like syntax that adds systems-programming speed and control, aiming to replace the Python-for-dev/C++-for-speed split with one language.
Mojo: A Programming Language That Bridges Research and Production
Mojo is a new programming language designed to make it easier to write code that's both fast and flexible. If you're familiar with Python, you'll recognize Mojo's syntax—it looks and feels like Python. But underneath, Mojo adds powerful features borrowed from systems programming languages that let you optimize code for speed and control low-level computer operations. The goal is to let researchers and engineers use one language instead of switching between Python for development and something like C++ for performance-critical work.
Think of it this way: Python is beloved because it's easy to learn and has a huge ecosystem of libraries, but it can be slow for certain tasks. Languages like C++ are fast but have a steep learning curve and require more boilerplate. Mojo tries to give you Python's friendliness with C++'s performance and control—eventually becoming a superset of Python, meaning any Python code you write should eventually work in Mojo too.
This repository contains the source code, examples, and documentation for Mojo. It's organized around two versions: a stable main branch that tracks the latest official release, and a nightly branch with cutting-edge (sometimes buggy) experimental features. If you want to learn Mojo, the repository links you to the official documentation and SDK download. If you want to contribute fixes or new features, the nightly branch is where you'd submit pull requests. The project is open-source under the Apache License and welcomes community contributions.
Mojo would appeal to anyone tired of the Python-versus-C++ tradeoff: machine learning researchers who want faster training pipelines without rewriting in another language, systems engineers building performance-critical software who'd prefer Python's readability, or full-stack developers who want a single language across their stack. Right now, Mojo is still young and evolving, so it's best suited for people willing to engage with an early-stage project rather than those needing stable, battle-tested tools.
Where it fits
- Speed up machine learning training pipelines without rewriting Python code in C++.
- Build performance-critical systems software while keeping Python-like readability.
- Use one language across a full-stack project instead of switching between Python and C++.
- Contribute experimental features or fixes via the nightly branch.