原文地址:https://artificialcorner.com/mojo-the-programming-language-for-ai-that-is-up-to-35000x-faster-than-python-e68d1fba37db
介绍Mojo —— 针对AI开发者的新编程语言。
为AI开发者新推出了一门编程语言:Mojo。
我知道你可能在想——又要从零开始学一门新的编程语言……但是我有个好消息,Mojo被设计成Python的超集,所以如果你已经会Python,学Mojo应该不会很困难。
但这并不是全部。Mojo将Python的易用性与C的性能相结合,其速度达到Python的35000倍。
如果你对AI感兴趣,并且已经会Python,那么Mojo绝对值得一试。以下是你需要了解的关于Mojo的所有信息。
Python的简洁和多功能性使其成为数据科学、机器学习和AI领域的首选语言。它有大量非常适合数据工作的包,但对于需要高性能的库,Python只充当胶水层和与C、C++及其他性能更好的语言的底层绑定。
这使得像numpy和TensorFlow这样的库得以开发。然而,这也带来了一个问题:构建这些库非常复杂,它需要对CPython的内部结构有深入的了解,还需要掌握C/C++等知识。
根据Mojo的文档 https://docs.modular.com/mojo/why-mojo.html ,Python带来的问题影响得更深,特别是在AI领域。
仅有Python并不能解决所有应用AI系统的问题,这就是Mojo诞生的原因。Mojo是一种结合了Python的易用性和C的性能的编程语言。
两全其美!
但Mojo并不是一个凭空而来的项目。实际上,Mojo来自于一个名为Modular的公司,该公司是由创建了Swift编程语言和LLVM的Chris Lattner共同创办的。
这就是为什么我认为这个项目值得关注。接下来,我们来看看Mojo的一些最佳特点。
Mojo 具有许多开箱即用的有趣功能。以下是其中的一些。
Mojo 的目标是与 Python 生态系统完全兼容。
这意味着如果您是 Python 程序员,您可以轻松使用 Mojo,因为两种编程语言都有许多共同的函数、特性和库。
像numpy、pandas和matplotlib这样的库在Mojo中也都可以使用。以下是使用Mojo如何通过matplotlib绘图的方法。
话虽如此,Mojo仍处于非常初级的阶段 https://docs.modular.com/mojo/why-mojo.html ,所以它仍然缺少许多Python的特性(例如,它尚不支持类)。
希望在未来的更新中,Mojo将与Python完全兼容。
Mojo利用类型进行更好的性能和错误检查。
尽管你仍然可以像使用Python那样使用灵活的类型,但Mojo允许你使用严格的类型检查。这可以使你的代码更加可预测、易于管理和安全。
不免想到了 rust
Mojo支持一个 owned 参数约定,该约定用于希望完全拥有某个值的函数。
这一点会帮你充分保证内存的安全,而不会出现任何问题。
Mojo内置了自动调优功能,可以帮助自动找到最佳的参数值,以充分利用目标硬件。
通过充分利用 MLIR (一种多级中间表示的编译器基础架构,旨在提供通用的、可扩展的编译器基础设施),Mojo开发人员可以利用向量、线程和AI硬件单元。
这有助于Mojo实现出色的性能,因为与单线程执行的Python不同,Mojo可以在多个核心之间进行并行处理。
这就是 Mojo 比 Python 快 35000 倍的原因之一。
Mojo仍然在开发中,但你今天可以在基于JupyterHub的Playground上尝试它。要尝试Mojo,请前往这个网站进行注册 https://www.modular.com/get-started 。
3420 阅读
12163 阅读
3546 阅读
3850 阅读
3867 阅读
3678 阅读
3685 阅读
3665 阅读
3568 阅读
3584 阅读
3563 阅读
3585 阅读
3582 阅读
3407 阅读
3533 阅读
3534 阅读
3525 阅读
3530 阅读
阅读
6188 阅读
7008 阅读
8429 阅读
11861 阅读
11635 阅读
11757 阅读
11942 阅读
11172 阅读
10868 阅读
11064 阅读
11110 阅读
10063 阅读
9808 阅读
9857 阅读
原文地址:https://artificialcorner.com/mojo-the-programming-language-for-ai-that-is-up-to-35000x-faster-than-python-e68d1fba37db
介绍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的文档 https://docs.modular.com/mojo/why-mojo.html ,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仍处于非常初级的阶段 https://docs.modular.com/mojo/why-mojo.html ,所以它仍然缺少许多Python的特性(例如,它尚不支持类)。
希望在未来的更新中,Mojo将与Python完全兼容。
2. 强类型检查
Mojo利用类型进行更好的性能和错误检查。
尽管你仍然可以像使用Python那样使用灵活的类型,但Mojo允许你使用严格的类型检查。这可以使你的代码更加可预测、易于管理和安全。
3. 内存所有权和借用检查
Mojo支持一个 owned 参数约定,该约定用于希望完全拥有某个值的函数。
这一点会帮你充分保证内存的安全,而不会出现任何问题。
4. 自动调优
Mojo内置了自动调优功能,可以帮助自动找到最佳的参数值,以充分利用目标硬件。
5. Mojo利用MLIR
通过充分利用 MLIR (一种多级中间表示的编译器基础架构,旨在提供通用的、可扩展的编译器基础设施),Mojo开发人员可以利用向量、线程和AI硬件单元。
这有助于Mojo实现出色的性能,因为与单线程执行的Python不同,Mojo可以在多个核心之间进行并行处理。
这就是 Mojo 比 Python 快 35000 倍的原因之一。
如何开始使用Mojo
Mojo仍然在开发中,但你今天可以在基于JupyterHub的Playground上尝试它。要尝试Mojo,请前往这个网站进行注册 https://www.modular.com/get-started 。