Mojo

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Mojo
設計者克里斯·拉特納
實作者Modular公司
发行时间2023年,​11個月前​(2023
操作系统跨平臺
文件扩展名.mojo, .🔥
網站www.modular.com/mojo
啟發語言
PythonRust

Mojo是由Modular公司开发的一种基于MLIR编译框架英语MLIR (software)编程语言,旨在为人工智能等领域的软件开发提供统一的编程框架。[1][2][3][4][5][2][6][7]

Mojo语言为Python语言超集[6][8],故也被称为Python++ 。同时,它还具有C++的速度与Rust的安全性。[9][4][10][11][12][1][13]

Mojo语言于2023年5月推出,最初仅能在浏览器的Jupyter笔记本中使用[2][14],2023年9月起开始提供Linux本地版本。[15]Modular公司团队还开发了支持Mojo语言的Visual Studio Code扩展。[16]

原始设计与开发[编辑]

2022年,Swift语言创始人克里斯·拉特纳Google机器学习产品经理蒂姆·戴维斯(Tim Davis)共同创立了Modular公司。[17]2022年9月,Modular公司在内部发布了Mojo的初始版本[18],支持MLIR编译器框架提供的高级编译功能。[2][19]

Mojo语言的类型系统是同时包含静态类型和动态类型的混合系统,开发者可以为其编写的函数自由选择是否使用高性能静态类型。

与Python的对比[编辑]

Mojo语言旨在与Jupyter生态系统完全兼容。目前,其尚未做到完全与Python 3.x源代码兼容英语Source-code compatibility,而仅支持Python语法的子集。在此基础上,Mojo还支持Python没有的高性能低级编程语言的功能,如能使用“fn”关键字创建类型化可编译函数,或使用“struct”关键字创建可优化内存使用的[14]Mojo还能通过CPython来调用现有的Python 3.x代码。此外,Mojo借鉴Rust引入了Python所没有的借用检查器。

实例[编辑]

使用Mojo语言编写的Hello world程序与Python相同:

print('Hello, World!')

参考文献[编辑]

  1. ^ 1.0 1.1 Mojo🔥 programming manual. docs.modular.com. Modular. 2023 [2023-09-26]. (原始内容存档于2023-10-22). 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. 
  2. ^ 2.0 2.1 2.2 2.3 Krill, Paul. Mojo language marries Python and MLIR for AI development. InfoWorld. 4 May 2023 [2023-09-27]. (原始内容存档于2023-05-05) (英语). 
  3. ^ Mojo 🔥 — the programming language for all AI developers. www.modular.com. Modular. 2023 [2023-09-26]. (原始内容存档于2023-11-10). Mojo leverages MLIR, which enables Mojo developers to take advantage of vectors, threads, and AI hardware units. 
  4. ^ 4.0 4.1 Hahn, Silke. Jenseits von Python: Mojo baut Brücke zwischen Python und C für Machine Learning. www.heise.de. Heise Medien GmbH & Co. KG. 2023-05-09 [2023-09-26]. (原始内容存档于2023-09-26) (德语). Eine neue Programmiersprache für Machine Learning, eine Art Python++? 
  5. ^ Why Mojo🔥 - A language for next-generation compiler technology. docs.modular.com. Modular. 2023 [2023-09-26]. (原始内容存档于2023-05-05). 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. 
  6. ^ 6.0 6.1 Claburn, Thomas. Modular reveals Mojo, Python superset with C-level speed. The Register. 5 May 2023 [2023-09-27]. (原始内容存档于2023-09-02) (英语). 
  7. ^ Pandey, Mohit. This New Programming Language is Likely to Replace Python. Analytics India Magazine. 3 May 2023 [2023-09-27]. (原始内容存档于2023-05-30). 
  8. ^ Welcome to Mojo 🔥. github.com. Modular. 2023 [2023-09-26]. (原始内容存档于2023-10-25). Mojo is still young, but it is designed to become a superset of Python over time. 
  9. ^ Ramarao, Pramod. Mojo🔥 - It’s finally here!. www.modular.com. Modular. 2023-09-07 [2023-09-26]. (原始内容存档于2023-11-12). Mojo: a high performance 'Python++' language for compute 
  10. ^ Howard, Jeremy. Mojo may be the biggest programming language advance in decades. www.fast.ai. fast.ai. 2023-05-04 [2023-09-26]. (原始内容存档于2023-10-17). Maybe it’s better to say Mojo is Python++ 
  11. ^ May, Eira. Like Python++ for AI developers. stackoverflow.blog. Stack Exchange, Inc. 2023-09-25 [2023-09-26]. (原始内容存档于2023-10-04). 
  12. ^ Saplin, Maxim. Mojo🔥SDK has been released for Linux. dev.to. DEV Community. 2023-09-07 [2023-09-26]. (原始内容存档于2023-10-22). From the creators of LLVM, Clang, and Swift. A better Python, Python++ 
  13. ^ May, Eira. Mojo: The usability of Python with the performance of C. stackoverflow.blog. Stack Exchange, Inc. 2023-09-22 [2023-09-26]. (原始内容存档于2023-10-08). 
  14. ^ 14.0 14.1 Yegulalp, Serdar. A first look at the Mojo language. InfoWorld. 7 June 2023 [2023-09-27]. (原始内容存档于2023-08-18) (英语). 
  15. ^ Deutscher, Maria. Modular makes its AI-optimized Mojo programming language generally available. Silicon Angle. 7 September 2023 [2023-09-11]. (原始内容存档于2023-10-23) (英语). 
  16. ^ Mojo for Visual Studio Code. marketplace.visualstudio.com. Microsoft. [2023-09-26]. (原始内容存档于2023-10-14). 
  17. ^ Claburn, Thomas. Modular finds its Mojo, a Python superset with C-level speed. The Register. 2023-05-05 [2023-08-08]. (原始内容存档于2023-09-02). 
  18. ^ Mojo🔥 changelog. [2023-09-27]. (原始内容存档于2023-11-01). 
  19. ^ Lattner, Chris; Amini, Mehdi; Bondhugula, Uday; Cohen, Albert; Davis, Andy; Pienaar, Jacques; Riddle, River; Shpeisman, Tatiana; Vasilache, Nicolas; Zinenko, Oleksandr. MLIR: A Compiler Infrastructure for the End of Moore's Law. 2020-02-29. arXiv:2002.11054可免费查阅 [cs.PL]. 

外部链接[编辑]