Mojo
Mojo是由Modular公司开发的一种基于MLIR编译框架的编程语言,旨在为人工智能等领域的软件开发提供统一的编程框架。[1][2][3][4][5][2][6][7]
設計者 | 克里斯·拉特納 |
---|---|
實作者 | Modular公司 |
2023年 | |
操作系统 | 跨平臺 |
文件扩展名 | .mojo, .🔥 |
網站 | www |
啟發語言 | |
Python、Rust |
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源代码兼容,而仅支持Python语法的子集。在此基础上,Mojo还支持Python没有的高性能低级编程语言的功能,如能使用“fn”关键字创建类型化、可编译的函数,或使用“struct”关键字创建可优化内存使用的类。[14]Mojo还能通过CPython来调用现有的Python 3.x代码。此外,Mojo借鉴Rust引入了Python所没有的借用检查器。
参考文献
- . 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.
- Krill, Paul. . InfoWorld. 4 May 2023 [2023-09-27]. (原始内容存档于2023-05-05) (英语).
- . 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.
- Hahn, Silke. . 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++?
- . 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.
- Claburn, Thomas. . The Register. 5 May 2023 [2023-09-27]. (原始内容存档于2023-09-02) (英语).
- Pandey, Mohit. . Analytics India Magazine. 3 May 2023 [2023-09-27]. (原始内容存档于2023-05-30).
- . 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.
- Ramarao, Pramod. . www.modular.com. Modular. 2023-09-07 [2023-09-26]. (原始内容存档于2023-11-12).
Mojo: a high performance 'Python++' language for compute
- Howard, Jeremy. . www.fast.ai. fast.ai. 2023-05-04 [2023-09-26]. (原始内容存档于2023-10-17).
Maybe it’s better to say Mojo is Python++
- May, Eira. . stackoverflow.blog. Stack Exchange, Inc. 2023-09-25 [2023-09-26]. (原始内容存档于2023-10-04).
- Saplin, Maxim. . 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++
- May, Eira. . stackoverflow.blog. Stack Exchange, Inc. 2023-09-22 [2023-09-26]. (原始内容存档于2023-10-08).
- Yegulalp, Serdar. . InfoWorld. 7 June 2023 [2023-09-27]. (原始内容存档于2023-08-18) (英语).
- Deutscher, Maria. . Silicon Angle. 7 September 2023 [2023-09-11]. (原始内容存档于2023-10-23) (英语).
- . marketplace.visualstudio.com. Microsoft. [2023-09-26]. (原始内容存档于2023-10-14).
- Claburn, Thomas. . The Register. 2023-05-05 [2023-08-08]. (原始内容存档于2023-09-02).
- . [2023-09-27]. (原始内容存档于2023-11-01).
- Lattner, Chris; Amini, Mehdi; Bondhugula, Uday; Cohen, Albert; Davis, Andy; Pienaar, Jacques; Riddle, River; Shpeisman, Tatiana; Vasilache, Nicolas; Zinenko, Oleksandr. . 2020-02-29. arXiv:2002.11054 [cs.PL].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.