比Python快35000倍!下一代明星編程語言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的選項。