比Python快35000倍!下一代明星编程语言Mojo

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

简介

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

责任编辑:武晓燕 来源: Python学研大本营
相关推荐

2023-09-08 15:05:51

Mojo编程语言

2013-07-27 21:28:44

2023-09-09 06:54:02

AI编程语言Mojo

2023-05-15 07:20:24

2013-04-03 09:37:10

JavaJVM

2013-06-27 11:21:17

2020-09-16 10:28:54

边缘计算云计算数据中心

2010-09-27 08:10:22

JVMScalaGroovy

2013-09-09 16:28:36

2020-09-27 17:27:58

边缘计算云计算技术

2010-11-29 09:12:22

2013-04-25 13:21:30

2013-05-10 09:36:04

下一代网络锐捷网络简网络

2012-12-10 16:15:43

下一代防火墙NGWF

2020-06-02 08:05:28

智能电表蜂窝物联网NB-IoT

2015-10-15 10:30:32

2021-05-22 23:01:21

人工智能网络安全

2018-09-11 08:00:00

DevOpsAIOps机器学习

2023-04-28 10:02:50

2012-07-16 10:08:31

下一代ITBYOD
点赞
收藏

51CTO技术栈公众号