原文:
www.kdnuggets.com/2023/05/mojo-lang-new-programming-language.html
图片由作者提供
就在我们以为科技行业无法再出现更多震荡时,欢迎这门作为 Python 编程语言的超集设计的新编程语言。
1. Google 网络安全证书 - 快速进入网络安全职业生涯
2. Google 数据分析专业证书 - 提升你的数据分析能力
3. Google IT 支持专业证书 - 支持你组织的 IT
Python 仍然是最受欢迎的编程语言之一,因为它能够使用简单易读的语法创建复杂的应用程序。然而,如果你使用 Python,你就会知道它最大的问题是速度。速度是编程的重要元素,那么 Python 在简单语法下创造复杂应用的强大能力是否会忽略它的速度不足呢?不幸的是,不会。
还有其他编程语言,如 C 或 C++,它们的速度惊人,相比 Python 性能更高。虽然 Python 是最广泛使用的 AI 编程语言,但如果你追求速度,大多数人会选择 C、Rust 或 C++。
但这一切可能会改变,欢迎新编程语言 Mojo Lang。
Mojo Lang 的创始人 Chris Latner,是 Swift 编程语言和 LLVM 编译器基础设施 的创始人,他将 Python 的易用性与 C 编程语言的性能相结合。这为所有 AI 开发人员解锁了新的编程层次,具有无与伦比的 AI 硬件可编程性和 AI 模型的扩展性。
相比 Python,PyPy 快 ??22 倍,Scalar C++ 快 5000 倍,而 Mojo Lang 快 35000 倍。
Mojo Lang 是一种为 AI 硬件(如运行 CUDA 的 GPU)编程而设计的语言。它通过使用多级中间表示(MLIR)来扩展硬件类型,而不增加复杂性。
Mojo Lang 是 Python 的超集,这意味着它不需要你学习一种新的编程语言。方便吧?基础语言与 Python 完全兼容,允许你与 Python 生态系统互动,并利用诸如 NumPy 的库。
Mojo Lang 的其他特点包括:
-
利用类型以获得更好的性能和错误检查。
-
通过将值内联分配到结构中,零成本抽象来控制存储。
-
所有权和借用检查器,通过利用内存安全性而不留粗糙边缘。
-
自动调优,允许你自动找到参数的最佳值。
Mojo Lang 和 Python 非常相似,但一定还是有一些区别,对吧?
是的,我们已经指出两者之间最大的区别是速度。但还有一些其他的区别。
Mojo Lang 有一个内置的 struct 关键字,类似于 Python 的类。区别在于 struct 是静态的,而 class 是动态的。
在 struct 中,Mojo Lang 有像 var 这样的关键字,它是可变的,还有 let,它是不可变的。我们在 Python 中知道的 def 定义了一个函数,在 Mojo Lang 中,def 被替换为更严格的 fn。
它还可以包括 SIMD,即单指令多数据,这是一种内置类型,表示一个向量,在底层硬件上可以对多个元素同时执行单个指令。
将 struct 作为一种类型,并在 Python 实现中使用它,可以将性能提高 500 倍。
Mojo Lang 具有内置的并行化功能,可以使你的代码支持多线程,从而提高速度 2000 倍。Python 中没有并行处理,并且实现起来可能非常复杂。
Mojo 具有内置的瓷砖优化工具,允许你更有效地缓存和重用数据。你可以在同一时间使用接近的内存,并进行重用。
Mojo Lang 允许你自动调优代码,帮助你自动找到目标硬件的最佳参数。
Mojo Lang 还有更多功能,要了解其工作原理,请观看这个由 Jeremy Howard 演示的 Mojo 演示:
不幸的是,Mojo Lang 目前还不对公众开放,它仍处于早期开发阶段。然而,未来它会开源,你可以在 等待名单中尝试 Mojo Lang。
你已经对新的 Mojo Lang 编程语言及其特点有所了解。Mojo Lang 是不是只是 Python++,还是说它会完全取代所有 Python 用户?
妮莎·阿里亚 是一名数据科学家、自由技术作家以及 KDnuggets 的社区经理。她特别关注提供数据科学职业建议或教程,以及围绕数据科学的理论知识。她还希望探索人工智能如何有助于人类寿命的延续。她是一位热衷学习的个人,寻求拓宽技术知识和写作技能,同时帮助指导他人。