Thursday, 27 August 2026

Aube.

News of progress
Corroborated · 2 sources

Mojo 1.0 turns Python-like code into a stricter language

Languages for this articleCompare with the original

Machine-translated from German — read the original text. 3 languages available; yours is one click away.

In a Mojo program, a seemingly small difference has been enough to reveal the language’s direction since version 1.0: def square(x): becomes a function with mandatory type annotations, while var value = 42 becomes a fixed integer. Modular has released the stable 1.0 version and is turning the Python-like interface into a much more strictly checked tool for AI and high-performance code.

The most visible change concerns fn. The keyword for strictly checked functions has been removed; its rules now apply to every def. Without an explicit raises, a function may not throw exceptions. Existing code can therefore often be adapted by renaming fn, while older def code may fail to meet the new requirements. There is also a new lambda syntax for short anonymous functions, which requires parentheses and type annotations.

The compiler checks more than just types. It also detects when a reference to a list element becomes invalid: if a list grows beyond its reserved memory, it can be moved to a new location. A reference to the old location then points to nowhere. Mojo stops the code during compilation and identifies both the later use and the point at which validity was lost. In C++, the same error can lead to a crash or a security vulnerability.

Mojo is thus targeting a familiar problem in AI development: Python remains convenient, but the actual computation is often handled by libraries in C, C++ or CUDA. Mojo combines familiar syntax with static type checking, an ownership model without a garbage collector and direct hardware control. Through MLIR, the language’s foundation, the aim is to generate code for CPUs, GPUs and other accelerators. Modular already uses Mojo for its MAX AI platform and the Modular Cloud. Since 29 July 2026, the company has been part of Qualcomm; the products are intended to remain independent.

So what does this change in practice? Developers get earlier feedback and do not have to find certain errors only in tests or during operation. At the same time, the price of Python-like syntax increases: types must be specified, and existing code may require adjustments. Mojo 1.0 is primarily intended to bring more stability after years of frequent changes, but it is not finished yet. The compiler remains closed for now, and the reported benefits come from Modular’s design and statements; the information available here does not include independent performance measurements.

1.0Stable version of the Mojo programming language

Sources — read the originals(Paris time)

heise onlineDE
heise onlineDE
0000

Read next

Comments

Loading the thread…

Sign in to leave a comment. Sign in