The Mojo language (by Modular, now Qualcomm) is now open-source
Mojo, a new systems programming language created by LLVM and Swift architect Chris Lattner and now owned by Qualcomm, has been fully open-sourced under Apache 2.0 after years of partial availability. Commenters weigh its promise as a Python-like, MLIR-based language for high-performance heterogeneous computing across CPUs, GPUs, and AI accelerators against concerns about late open-sourcing, unclear long‑term governance, and whether it can build a real ecosystem versus incumbents like Rust, C++, CUDA, and Triton. Many see strategic motives in Qualcomm’s move—especially as an anti‑NVIDIA play—while individual developers are split between excitement to experiment and skepticism that Mojo will gain lasting traction.
Scope and Value Proposition of Mojo
- Positioned as a modern systems language with Python-like syntax, strong SIMD support, compile-time features, and a focus on heterogeneous compute (CPUs, GPUs, accelerators).
- Major selling point: single language and compiler targeting NVIDIA/AMD/Apple GPUs, TPUs, Trainium, and CPUs without separate CUDA/ROCm/Metal stacks.
- Users report being able to get near C++/Rust performance on CPU, then move workloads to GPU more easily and see large speedups.
- Some see it as a potential statically typed alternative to Python for numerics and systems tasks; others say this doesn’t yet justify choosing it over Rust or Zig.
Performance, Design, and Roadmap
- Some criticism of current performance benchmarks: certain GEMM examples reportedly “cheat” by skipping work, described as “vibe-coded.”
- Question raised: why invest in a new compiler when you can auto-tune Triton/CUDA kernels?
- Key missing or immature features called out: async support, algebraic data types + pattern matching, better trait system, and more ergonomic tagged unions.
- Mojo is tightly integrated with MLIR, which some see as a powerful foundation for library-level optimizations and a “MLIR++” experience.
Python Relationship and Ecosystem
- Early marketing as a Python superset created expectations; current reality is more “Pythonic language” than fully compatible Python.
- Some are more interested now that it is not strictly a Python subset; others see lack of full Python interop as a blocker for broader adoption.
- Interest in static Python → Mojo transpilation and in shaping pattern matching to be more like Rust (expression-based) than Python.
Open-Sourcing, Governance, and Qualcomm
- Many say keeping the compiler closed significantly hurt adoption; open-sourcing under Apache 2.0 is widely welcomed.
- Disagreement on rationale for delaying open source:
- One side: delay avoided early design churn, community breakage, and “Swift-style” stress.
- Other side: sees this as a weak or post hoc justification; argues real reason was low priority on openness.
- Some fear Qualcomm’s acquisition means Mojo could stagnate or be purely strategic “anti-NVIDIA” tooling; others say open-sourcing was planned pre-acquisition and note Qualcomm’s improving open-source posture.
Adoption, LLMs, and Language Landscape
- Debate on whether small ecosystems are worth learning; one view says languages without communities are pointless, another notes LLMs can now write niche languages, lowering that barrier.
- Comparisons with Rust and C++: Mojo’s memory model is described as Rust-like, but with a more procedural/Pythonic surface; some see it as “what C++ could have been,” others say Rust already fills that role.