Mojo

Imperative, systems, metaprogramming. First appeared 2023; systems and ownership; accelerator and ai systems programming.

Record

First appeared2023
FamilySystems and ownership
Paradigm emphasisImperative, systems, metaprogramming
TypingStatic, strong; dynamic Python interop
MemoryOwnership and borrowing
ExecutionAOT compiled (MLIR/LLVM)
Primary domainAccelerator and AI systems programming
DesignersChris Lattner, Tim Davis, Modular
Referencehttps://docs.modular.com/mojo/manual/
Last verifiednot 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.

Back to top

Influence

C++1985Python1991Rust2010Swift2014No indexed descendantMojo2023
Figure 1. Mojo in the influence graph: recorded ancestors on the left, languages that record it as an influence on the right. Every node links to its own record. Edges name indexed languages only, so an empty side means no indexed relative, not none at all. Source: languages.json.

Back to top

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.

Back to top