Mojo:比Python快达35000倍的AI编程语言【翻译】

原文地址:artificialcorner.com/mojo-the-pr...

介绍Mojo ------ 针对AI开发者的新编程语言。

为AI开发者新推出了一门编程语言:Mojo。

我知道你可能在想------又要从零开始学一门新的编程语言......但是我有个好消息,Mojo被设计成Python的超集,所以如果你已经会Python,学Mojo应该不会很困难。

但这并不是全部。Mojo将Python的易用性与C的性能相结合,其速度达到Python的35000倍。

如果你对AI感兴趣,并且已经会Python,那么Mojo绝对值得一试。以下是你需要了解的关于Mojo的所有信息。

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

Python的简洁和多功能性使其成为数据科学、机器学习和AI领域的首选语言。它有大量非常适合数据工作的包,但对于需要高性能的库,Python只充当胶水层和与C、C++及其他性能更好的语言的底层绑定。

这使得像numpy和TensorFlow这样的库得以开发。然而,这也带来了一个问题:构建这些库非常复杂,它需要对CPython的内部结构有深入的了解,还需要掌握C/C++等知识。

根据Mojo的文档 docs.modular.com/mojo/why-mo... ,Python带来的问题影响得更深,特别是在AI领域。

仅有Python并不能解决所有应用AI系统的问题,这就是Mojo诞生的原因。Mojo是一种结合了Python的易用性和C的性能的编程语言。

两全其美!

但Mojo并不是一个凭空而来的项目。实际上,Mojo来自于一个名为Modular的公司,该公司是由创建了Swift编程语言和LLVM的Chris Lattner共同创办的。

这就是为什么我认为这个项目值得关注。接下来,我们来看看Mojo的一些最佳特点。

Mojo的特点

Mojo 具有许多开箱即用的有趣功能。以下是其中的一些。

1. Mojo被设计为Python的超集

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

这意味着如果您是 Python 程序员,您可以轻松使用 Mojo,因为两种编程语言都有许多共同的函数、特性和库。

像numpy、pandas和matplotlib这样的库在Mojo中也都可以使用。以下是使用Mojo如何通过matplotlib绘图的方法。

话虽如此,Mojo仍处于非常初级的阶段 docs.modular.com/mojo/why-mo... ,所以它仍然缺少许多Python的特性(例如,它尚不支持类)。

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

2. 强类型检查

Mojo利用类型进行更好的性能和错误检查。

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

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

不免想到了 rust

Mojo支持一个 owned 参数约定,该约定用于希望完全拥有某个值的函数。

这一点会帮你充分保证内存的安全,而不会出现任何问题。

4. 自动调优

Mojo内置了自动调优功能,可以帮助自动找到最佳的参数值,以充分利用目标硬件。

5. Mojo利用MLIR

通过充分利用 MLIR (一种多级中间表示的编译器基础架构,旨在提供通用的、可扩展的编译器基础设施),Mojo开发人员可以利用向量、线程和AI硬件单元。

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

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

如何开始使用Mojo

Mojo仍然在开发中,但你今天可以在基于JupyterHub的Playground上尝试它。要尝试Mojo,请前往这个网站进行注册 www.modular.com/get-started

相关推荐
AI创客岛11 分钟前
随着越来越多的AI机器人渗透社交平台,各个平台都在制定新规则以应对
人工智能
亿牛云爬虫专家12 分钟前
优化数据的抓取规则:减少无效请求
python·数据采集·多线程·爬虫代理·数据抓取·代理ip·房价
柠檬少少开发12 分钟前
图像拼接算法及实现(一)
人工智能·算法·计算机视觉
天蓝蓝2352813 分钟前
自然语言处理(NLP)实战项目
人工智能·自然语言处理
程序媛堆堆14 分钟前
解决NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+问题
python
晴子呀15 分钟前
Spring底层原理大致脉络
java·后端·spring
DreamByte16 分钟前
Python Tkinter小程序
开发语言·python·小程序
Python极客之家18 分钟前
基于深度学习的眼部疾病检测识别系统
人工智能·python·深度学习·毕业设计·卷积神经网络
Bigcrab__24 分钟前
Python3网络爬虫开发实战(15)Scrapy 框架的使用(第一版)
爬虫·python·scrapy
繁依Fanyi35 分钟前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云