Mojo
Imperative, systems, metaprogramming. First appeared 2023; systems and ownership; accelerator and ai systems programming.
Record¶
| First appeared | 2023 |
|---|---|
| Family | Systems and ownership |
| Paradigm emphasis | Imperative, systems, metaprogramming |
| Typing | Static, strong; dynamic Python interop |
| Memory | Ownership and borrowing |
| Execution | AOT compiled (MLIR/LLVM) |
| Primary domain | Accelerator and AI systems programming |
| Designers | Chris Lattner, Tim Davis, Modular |
| Reference | https://docs.modular.com/mojo/manual/ |
| Last verified | not yet checked against its source by a human |
Dates are first public release or publication, not the start of internal development. Colour on the typing and memory tags encodes kind, never rank.
Influence¶
Within the Systems and ownership¶
Predictable performance without a tracing collector, achieved through ownership, borrowing, or reference counting checked at compile time.
| Language | First appeared | Typing | Memory | Execution |
|---|---|---|---|---|
| Ada | 1980 | Static, strong | Manual, pooled | AOT compiled |
| Rust | 2010 | Static, strong, inferred | Ownership and borrowing | AOT compiled (LLVM) |
| Swift | 2014 | Static, strong, inferred | Automatic Reference Counting | AOT compiled (LLVM) |
| Zig | 2016 | Static, strong | Manual, explicit allocators | AOT compiled (LLVM) |
| Hare | 2022 | Static, strong | Manual, no runtime collector | AOT compiled (QBE) |
5 other languages in this family, ordered by first appearance. Mojo itself is omitted. Source: languages.json.