又一個全新程式語言,誕生了!

發表於2023-09-20

最近,程式設計領域又一個黑馬忽然衝進了開發者們的視野並正式開放下載。

它的名字叫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開源倉庫「程式設計之路」 https://github.com/rd2coding/Road2Coding 中已經收錄,裡面有我整理的6大程式設計方向(崗位)的自學路線+知識點大梳理、面試考點、我的簡歷、幾本硬核pdf筆記,以及程式設計師生活和感悟,歡迎star。

相關文章