简介

一种面向AI开发人员的新编程语言刚刚发布:Mojo。


【资料图】

从设计之初,Mojo是Python的超集,因此如果你已经掌握了Python,那么学习Mojo十分容易。

Mojo结合了Python的可用性和C语言的性能,其速度比Python快35000倍。

如果你喜欢AI并且已经了解Python,Mojo绝对值得一试。以下是你需要了解的有关Mojo的所有信息。

如果我们已经有了Python,为什么还需要Mojo?

Python的简单性和多功能性使它成为数据科学、机器学习和人工智能等领域的首选语言。它有大量的包,对任何从事数据工作的人都非常有用,但对于需要强大性能的库来说,Python只是作为胶合层和C、C++及其他性能更好的语言的低级绑定。

这使得NumPy和TensorFlow等库的开发成为可能。然而,这也有一个缺点:构建这些库是非常复杂的,它需要对CPython的内部结构有底层的了解,需要C/C++的知识等等。

根据Mojo文件,Python带来的问题更加深入,特别是对AI领域的影响。

单靠Python并不能解决应用AI系统所需要的所有问题,这就是Mojo的诞生契机。Mojo是一种结合了Python的可用性和C的性能的编程语言。

但Mojo并不是突然出现的随机项目。事实上,Mojo来自一家名为Modular的公司,由克里斯-拉特纳(Chris Lattner)共同创立,他也是Swift编程语言和LLVM的创始人。

现在让我们来看看Mojo的一些最佳功能。

Mojo的特点

Mojo附带了许多开箱即用的有趣功能。下面是其中的一些。

1.Mojo被设计成Python的一个超集

Mojo的目标是与Python生态系统完全兼容。

这意味着,如果你是一个Python程序员,你可以轻松地使用Mojo,因为这两种编程语言有许多共同的功能、特性和库。

诸如NumPy、Pandas和Matplotlib等库也可以在Mojo中使用。下面介绍如何使用Mojo利用matplotlib制作一个图。

截图:Mojo

Mojo仍然处于非常早期的阶段,所以它仍然缺少了Python的许多特性(例如,它还不支持类)。

希望在未来的更新中,Mojo将与Python完全兼容。

2.强大的类型检查

Mojo利用类型来实现更好的性能和错误检查。

截图:Mojo

虽然你仍然可以像Python那样使用灵活的类型,但Mojo允许你使用严格的类型检查。这可以使你的代码更加可预测、更易于管理和更安全。

3.内存所有权和借用检查器

Mojo支持owned参数约定,该约定用于想要独占某个值的所有权的函数。

截图:Mojo

这将帮助你在没有粗糙边缘的情况下利用内存安全的优势。

4.自动调整

Mojo具有内置的自动调整功能,可帮助自动找到你的参数最佳值,以利用目标硬件的优势。

截图:Mojo

5.Mojo利用了MLIR

通过使用多级中间表征(MLIR)的全部力量,Mojo开发人员可以利用向量、线程和AI硬件的优势。

这有助于Mojo实现出色的性能,因为与Python的单线程执行不同,Mojo可以在多个核心上进行并行处理。

截图:Mojo

这就是为什么Mojo比Python快35000倍的原因之一。

截图:Mojo

如何试用Mojo

Mojo仍然处于开发中,但你可以在基于JupyterHub的Playground上试用它。要试用Mojo,请访问此网站(https://www.modular.com/get-started)进行注册,不要忘记在“Modular Product Interest”部分勾选Mojo的选项。

推荐内容