Mojo (programming language)

Mojo
Paradigm
FamilyPython
Designed byChris Lattner
DeveloperModular Inc.
First appeared2023 (2023)
Preview release
24.4 [1] / May 24, 2024 (2024-05-24)
Typing discipline
OSCross-platform
LicenseProprietary
Filename extensions.🔥 (the fire emoji/U+1F525 Unicode character), alternatively .mojo
Websitewww.modular.com/mojo
Influenced by
Python, Cython[citation needed], C, C++, Rust, Swift, Zig

Mojo is a programming language in the Python family that is currently under development.[2][3][4] It is available both in browsers via Jupyter notebooks,[4][5] and locally on Linux and macOS.[6][7] Mojo aims to combine the usability of higher level programming languages, specifically Python, with the performance of lower level programming languages like C++, Rust, and Zig.[8]. The Mojo compiler is currently closed source with an open source standard library, although Modular has stated their intent to eventually open source the Mojo programming language itself as it matures.[9]

Mojo builds upon the MLIR compiler framework instead of directly on the lower level LLVM compiler framework that many languages like Julia, Swift, clang and Rust do.[10][11] MLIR is a newer compiler framework that allows Mojo to take advantage of higher level compiler passes not available in LLVM alone and allows Mojo to compile down and target more than just CPUs, including producing code that can run on GPUS, TPUS, ASICs and other accelerators. It can also often more effectively use certain types of CPU optimizations directly, like SIMD without direct intervention by the developer like in many other languages.[12][13]. According to Jeremey Howard of fast.ai, Mojo can be seen as "syntax sugar for MLIR" and for that reason Mojo is well optimized for applications like AI.[14].

  1. ^ "Mojo Changelog". Modular. Retrieved 2024-04-14.
  2. ^ "Mojo🔥 programming manual". docs.modular.com. Modular. 2023. Retrieved 2023-09-26. Mojo is a programming language that is as easy to use as Python but with the performance of C++ and Rust. Furthermore, Mojo provides the ability to leverage the entire Python library ecosystem.
  3. ^ "Why Mojo🔥 - A language for next-generation compiler technology". docs.modular.com. Modular. 2023. Retrieved 2023-09-26. While many other projects now use MLIR, Mojo is the first major language designed expressly for MLIR, which makes Mojo uniquely powerful when writing systems-level code for AI workloads.
  4. ^ a b Krill, Paul (4 May 2023). "Mojo language marries Python and MLIR for AI development". InfoWorld.
  5. ^ Yegulalp, Serdar (7 June 2023). "A first look at the Mojo language". InfoWorld.
  6. ^ Deutscher, Maria (7 September 2023). "Modular makes its AI-optimized Mojo programming language generally available". Silicon Angle. Retrieved 2023-09-11.
  7. ^ "Mojo for Mac OS". Modular. Retrieved 2023-10-19.
  8. ^ "Mojo 🔥: Programming language for all of AI". www.modular.com. Retrieved 2024-02-28.
  9. ^ "Modular: The Next Big Step in Mojo🔥 Open Source". www.modular.com. Retrieved 2024-05-28.
  10. ^ Krill, Paul (2023-05-04). "Mojo language marries Python and MLIR for AI development". InfoWorld. Retrieved 2024-05-28.
  11. ^ "Should Julia use MLIR in the future?". Julia Programming Language. 2024-02-20. Retrieved 2024-05-28.
  12. ^ "Why Mojo🔥 | Modular Docs". docs.modular.com. Retrieved 2024-05-28.
  13. ^ https://llvm.org/devmtg/2023-10/slides/keynote/Mojo.pdf
  14. ^ Howard, Jeremy (2023-05-04). "fast.ai - Mojo may be the biggest programming language advance in decades". fast.ai. Retrieved 2024-05-28.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search