Mojo

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索
Mojo
编程范型多范型指令式(为主),函数式泛型
语言家族Python
设计者克里斯·拉特纳
实现者Modular公司
发行时间2023年,​3年前​(2023
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    类型系统
    操作系统跨平台
    许可证专有
    文件扩展名.🔥(火焰emoji/U+1F525)、.mojo
    网站www.modular.com/mojo
    受影响于
    PythonCythonCC++RustSwiftZig

    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) (English). 
    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) (Deutsch). 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) (English). 
    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) (English). 
    15. Deutscher, Maria. Modular makes its AI-optimized Mojo programming language generally available. Silicon Angle. 7 September 2023 [2023-09-11]. (原始内容存档于2023-10-23) (English). 
    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]. 

    外部链接[编辑]