又一个全新编程语言,诞生了!

最近,编程领域又一个黑马忽然冲进了开发者们的视野并正式开放下载。

它的名字叫Mojo,相信有不少小伙伴最近也看到了。

Mojo是为AI开发者所准备的编程语言,语法有点像Python。

根据Mojo官网的描述,它结合了Python的易用性和C语言的高性能,解锁了AI硬件的可编程性和AI模型的可扩展性。

Mojo看起来好像挺能打,它到底是哪个公司所推出来的呢?

看了一下才发现Mojo是由人工智能公司Modular所推出的全新编程语言。

而Modular这个公司则是一个非常年轻的新生AI创业公司,于2022年由Chris Lattner和Tim Davis所创立。

提到这两个创始人,相信有些同学也有所了解,都是业内顶级专家。其中Chris Lattner还被称为"LLVM之父"和"Swift之父",在苹果、谷歌、特斯拉等多家知名科技巨头里曾带领构建了AI和核心系统。

Modular公司的愿景非常宏伟,目标是自下而上重塑AI基础设施。

去年的时候,Modular AI曾获得过3000万美金的融资。而就在前些天,Modular又再次宣布成功融资 1 亿美金,这对于一个刚诞生不久的初创型公司而言可谓是成绩斐然。

另外在公司官网的投资者名单里能看到,不少AI领域的知名投资机构都有参与。

Mojo这个编程语言有几个比较明显的特点。

1、首先是性能方面。

Mojo充分利用硬件的特性和功能,包括多核、矢量单元和加速器单元,以及先进的编译器和异构运行时机制,在不增加复杂性的前提下实现了与C++和CUDA相当的性能。

在并行化这一块,Mojo利用MLIR,使Mojo开发者能够充分利用向量、线程和AI硬件单元。

2、其次是互操作性方面。

大家都知道,发展到今天,Python的生态极其繁荣,各种函数、库、框架、模型、工具等等数不胜数。

而Mojo则可以访问整个Python生态。比如使用Mojo,可以在代码中无缝地接入和混合像Numpy和Matplotlib等库。

3、再者就是可扩展性方面。

可扩展性这块也是Mojo的优势。Mojo可以升级用户模型中的已有操作,以便开发者可以使用预处理、后处理、自定义替换等操作来轻松地扩展用户的模型。

Mojo最初发布于今年的5月初,上线数月以来就已形成基本规模和生态。

前不久,Modular官网宣布Mojo正式开放下载,首先是从Linux系统开始,并在后续的迭代版本中将陆续添加对Mac和Windows的支持。

这也意味着开发者可以通过Mojo SDK进行尝试并编写自己的Mojo代码。

而就在Mojo官宣可以下载后不久,一位名叫Aydyn Tairov开源作者就利用Mojo来做了一个突破性的尝试。

这个作者之前曾将GitHub上火热的由纯C实现的llama2.c项目移植到了基于Python的llama2.py

而这次Aydyn Tairov又将llama2.py移植到了llama2.mojo,结果非常出乎意料,移植后性能提升了近250倍。

即便如此,作者仍然认为里面还有一些改进的空间。

看到Mojo如此的表现,有不少网友说Python这次可谓是遭遇了一个强大的对手,Mojo甚至有可能在未来会取代Python?

对此,公司CEO Chris Lattner直接回应称:

Mojo并不会对Python造成威胁,相反,还会帮助Python开发者变得更强大。要担心的也不是Python,而是C++们。

文章的最后也附上相关的页面,感兴趣的小伙伴可以尝试一下。

至于这门编程语言在接下来的AI时代会发展如何,我们可以拭目以待。

注:本文在GitHub开源仓库「编程之路」 github.com/rd2coding/R... 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。

相关推荐
qq_3863226918 分钟前
华为网路设备学习-21 IGP路由专题-路由过滤(filter-policy)
前端·网络·学习
Robot25120 分钟前
「华为」人形机器人赛道投资首秀!
大数据·人工智能·科技·microsoft·华为·机器人
J先生x24 分钟前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
Narutolxy3 小时前
大模型数据分析破局之路20250512
人工智能·chatgpt·数据分析
浊酒南街3 小时前
TensorFlow中数据集的创建
人工智能·tensorflow
2301_787552874 小时前
console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI
人工智能·python·gpt·开源·自动化
懵逼的小黑子4 小时前
Django 项目的 models 目录中,__init__.py 文件的作用
后端·python·django
layneyao4 小时前
AI与自然语言处理(NLP):从BERT到GPT的演进
人工智能·自然语言处理·bert
jndingxin6 小时前
OpenCV 的 CUDA 模块中用于将多个单通道的 GpuMat 图像合并成一个多通道的图像 函数cv::cuda::merge
人工智能·opencv·计算机视觉
格林威6 小时前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉