简介
一种面向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的选项。