消息稱vivo加碼電池軍備競賽:6500mAh 旗艦機+7500mAh中端機寶馬M8雙門轎跑車明年年初將停產,后續(xù)無2026款車型比亞迪:2025 款漢家族車型城市領航智駕功能開啟內測雷神預告2025年首次出席CES 將發(fā)布三款不同技術原理智能眼鏡realme真我全球首發(fā)聯發(fā)科天璣 8400 耐玩戰(zhàn)神共創(chuàng)計劃iQOO Z9 Turbo長續(xù)航版手機被曝電池加大到6400mAh,搭驍龍 8s Gen 3處理器普及放緩 銷量大跌:曝保時捷將重新評估電動汽車計劃來京東參與榮耀Magic7 RSR 保時捷設計預售 享365天只換不修國補期間電視迎來換機潮,最暢銷MiniLED品牌花落誰家?美團旗下微信社群團購業(yè)務“團買買”宣布年底停運消息稱微軟正與第三方廠商洽談,試圖合作推出Xbox游戲掌機設備在海外,要再造一個京東物流?消息稱蘋果正為AirPods開發(fā)多項健康功能,包括心率監(jiān)測和溫度感應一加 Ace 5系列將搭載全新游戲助手:大幅提升游戲體驗東芝全部業(yè)務實現盈利,退市裁員重組后終于賺錢真我14 Pro+開始提上日程:1.5K等深四微曲屏+潛望長焦穩(wěn)了消息稱本田和日產計劃明年6月前敲定合并協(xié)議 2026年8月成立控股公司凱迪拉克最新版OTA開啟推送,新增百度語音大模型和QQ音樂等應用中國聯通11月5G套餐用戶凈增127.8萬戶5G確定性工業(yè)基站首商用,工業(yè)互聯網走上新高度
  • 首頁 > 數據存儲頻道 > 數據庫頻道 > 編程開發(fā)

    比Python快35000倍?這門新語言想搞個大新聞!

    2023年05月16日 16:44:10   來源:51CTO

      在AI 領域,Python無疑是最流行的編程語言。而且從近年的TIOBE排行榜來看,這種地位一時還很難撼動。不過在編程語言界,后浪總是層出不窮,不停地向前浪發(fā)起沖擊。

      最近,一家初創(chuàng)公司Modular AI推出了一種名為Mojo的編程語言,聲稱結合了Python的易用性和C語言的性能,旨在成為Python的超集。一些基準測試顯示,Mojo比Python快 35000 倍。

      這種語言是專門為在 GPU 等 AI 硬件上編程、運行 CUDA 和其他加速器而設計的。通過內置的自動調優(yōu),Mojo針對目標硬件優(yōu)化代碼,提升性能。“解鎖AI 硬件無與倫比的可編程性和 AI 模型的可擴展性”是開發(fā)團隊對于Mojo的發(fā)展期待。

      圖源:推特

      值得一提的是,這家公司的首席執(zhí)行官Chris Lattner也是個神人。這位大神是Swift編程語言的作者,參與了LLVM編譯器工具鏈的共同開發(fā),而且和蘋果、谷歌、特斯拉都淵源頗深。

      那么Mojo到是否值得期待?新語言到底能否對老牌語言形成沖擊?那些小眾語言發(fā)展現狀如何?下文將逐一道來。

      一、開始搞事!褒貶不一的Mojo

      有很多正在進行的項目可以使Python更快,比如在機器學習領域嶄露頭角的Jax,還有出現不久的Python高性能編譯器Codon。

      與這些相區(qū)別的是,Mojo的開發(fā)團隊指出,他們想要的是一個創(chuàng)新的可擴展的編程模型,并且可以支持加速器和其他機器學習中普遍存在的異構系統(tǒng)。

      通過利用多層級通用編譯器MLIR,Mojo代碼可以訪問各種AI調優(yōu)的硬件功能,例如TensorCore和AMX擴展。因此,對于某些類型的算法,它比 Python 快得多。

      同樣是在 AWS r0iz.metal-03xl 上運行Mandelbrot算法,Python3需要17分鐘,而Mojo只要0.03秒。

      目前Mojo仍在開發(fā)中,開發(fā)者現在可以率先在 Modular AI 基于 JupyterHub 的 Playground 中試用。

      關于Mojo的定位和特性,有必要了解以下幾點:

      1、Python的超集:Mojo是Python的超集,這意味著你不需要學習一門全新的語言來利用它的好處。如果你已經精通Python,你可以很容易地過渡到Mojo Lang。

      2、強類型檢查:該語言添加了強大的類型檢查,這對于優(yōu)化性能和內存管理的錯誤檢查至關重要。此功能允許開發(fā)人員編寫更安全、更高效的代碼。

      3、所有權系統(tǒng)和借用檢查器:Mojo包括一個所有權系統(tǒng)和類似于 Rust 的借用檢查器,以及支持帶有C++等指針的手動內存管理。這為開發(fā)人員提供了對內存使用情況的更多控制,從而優(yōu)化了代碼。

      4、未來的開源版本:雖然Mojo Lang目前不向公眾開放,但它將來會開源。這將使開發(fā)人員能夠為語言的發(fā)展做出貢獻,并從社區(qū)的集體知識中受益。

      Fast.ai 聯合創(chuàng)始人、數據科學家杰里米·霍華德表示:“Mojo可能是幾十年來最大的編程語言進步。”雖然“Mojo還沒有完成”,而且它是由“一個非常小的團隊在很短的時間內創(chuàng)建的”,但是發(fā)起者Lattner有LLVM和Swift的開發(fā)經驗,當下的進展“已經很讓人振奮”。

      有人表示期待,自然也有人表示質疑。

      首先,炮火就集中在了那個驚人的“比Python快35000倍”上。有網友認為這就是個噱頭,而且在形形色色的編程語言中Python的性能基本都處于末流,就像“跟班上常年墊底的人作比較,沒有太大意義”。

      再者,這個語言的前景再牛,等到成熟的時候少說還需要十幾年沉淀,變數太多。而且早年也曾有Julia會替代Python的說法,結果就是打臉。

      不止于Python,這些年試圖向C++、Java等語言挑戰(zhàn)的新生代層出不窮,無一例外均是中途折戟。在編程語言界,“長江后浪推前浪”很罕見,“你爸爸永遠是你爸爸”卻似乎是常態(tài)。

      二、5月排行榜速覽:老將活力依舊,新兵難挑大梁

      上述結論在Tiobe發(fā)布的五月編程語言排行榜又得到了力證。

      縱覽排行榜,前四的語言并沒有太多意外。Python占據榜首,緊隨其后的是C和Java。C++雖然屈居第四,但其3.13%的增幅依然領先于其他語言,展現出了不容忽視的姿態(tài)。

      正如TIOBE Software 首席執(zhí)行官Paul Jansen所說,“編程語言的流行是相當穩(wěn)定的”。在榜的前10種編程語言,最年輕的是C#,而C# 始于 2000 年,那也已經是23年前了。

      新的編程語言如過江之鯽,但幾乎沒有一種能進入前100名。

      在目前的前100名中,誕生不足十年的語言只有8種:Swift(#14),Rust(#17),Crystal(#48),Solidity(#59),Pony(#71),Raku(#72),Zig(#88)和Hack(#92)。而且這些新生代“佼佼者”的發(fā)展時間均不低于5年。

      另外,值得一提的是排名第19位的Fortran。作為一門上世紀的科學計算語言,Fortran早已不在主流之列,甚至有很多人都沒怎么接觸過。但由于近來對數值計算能力的需求不斷增長,Fortran又有了回暖之勢。如今這個“古董”再次于躋身榜單前二十,不啻于煥發(fā)新生。

      圖源:Tiobe

      在編程語言的流行度評測中,新生代難挑大梁的現象并非偶然。

      不久前,技術面試和評估平臺CodeSignal進行了一項調查 —— 2023 State of Engineer Hiring Survey,以期對對當今技術招聘的全行業(yè)趨勢進行統(tǒng)籌分析。調查面向的開發(fā)者包括前端、后端、全棧、數據科學家、數據工程師。

      在2696名受訪者中,有78%的受訪者將 Python 3 列為他們經常使用的編程語言之一,這也與 TIOBE 榜單的排名保持了一致。在所有崗位中,除了前端最常用的編程語言是 JavaScript/NodeJS(82.9%),其余的職位都將 Python 3 列為最主要使用的編程語言。

      而且除了 Python 3,開發(fā)者青睞的常用語言普遍都是耳熟能詳的老牌編程語言,諸如TypeScript這樣的后起之秀盡管有微軟這個親爸爸的加持,存在感還是相對薄弱。

      圖源:CodeSignal

      不過在薪酬表現上,收入最高的編程語言卻并不一定是最受歡迎的那一撥。按年薪中位數來看,第一梯隊里既有 Python 3,也有流行度不那么高的TypeScript、React 和 Bash。

      圖源:CodeSignal

      從上述統(tǒng)計來看,相較于掌握Java、C、C++ 等老牌編程語言的開發(fā)者,使用TypeScript 、React 等新興編程語言的開發(fā)者收入更高。

      由此可見,新興語言在生態(tài)上肯定無法與老牌語言抗衡,但在一些特定需求中,反而會因為“奇貨可居”而獲得更高回報。

      三、盤點:值得關注的小眾語言

      新語言成長起來前,注定會作為小眾群體進入大眾視野,也不怪Mojo的報道下面有不少人都在期待之余保持了冷靜——“可能有點東西,但還是過十年再說吧”,前景如何說到底還是要耐心等待。

      不過,語言界的新生一輩中也不乏令人驚艷的“天選之子”,我們可以梳理出幾個典型。

      1.Swift:來自蘋果的“天驕”

      Swift是一種由蘋果公司開發(fā)的編程語言,最早于2014年蘋果全球開發(fā)者大會(WWDC)上亮相。它主要用于開發(fā)iOS、macOS、watchOS和tvOS應用程序。2020年,這門兼顧簡潔、性能和優(yōu)美的語言就在TIOBE 編程語言排行榜上闖入前十之列,收獲了遠超預期的歡迎。

      Swift 能如此快地普及,除了有蘋果公司的背書外,也在于它借鑒了很多其他優(yōu)秀編程語言的特性,其現代化的語法和強大的類型系統(tǒng),可以提高代碼的可讀性和可維護性。此外,Swift 對于蘋果應用的開發(fā)者而言同樣意義重大。Swift出現后,開發(fā)者在 Objective-C 之外,終于有了第二種選擇。

      Swift 的作者,也就是我們前文提到的Lattner,考慮到Objective-C 畢竟是一門脫胎于 C 的老牌編程語言,無論怎么優(yōu)化,它身上總是有 C 語言自身的缺陷,語法上也不夠現代。不如另辟爐灶,開發(fā)一門新的易學易用的語言,如今看來,Swift 雖然沒有做到完美,但隨著它日趨成熟,在編程語言界也占據了不可小覷的一席之地。

      2.Rust:被眾多大廠看好的“好學生”

      在本月的TIOBE排行榜中,Rust位列17,較上月又上升了兩個位次,可以說是穩(wěn)步發(fā)展中。Rust 最早是由Mozilla 員工 Graydon Hoare 在 2006 年創(chuàng)建的一個業(yè)余項目。2015 年,Mozilla 發(fā)布了 Rust 的首個穩(wěn)定版本 v1.0 ,才讓Rust引起了業(yè)內的廣泛關注,尤其令人印象深刻的是其內存安全性。

      2021年,Mozilla 聯合微軟、谷歌、AWS、華為四大技術廠商創(chuàng)立 Rust 基金會的消息成為社區(qū)熱門話題,也讓 Rust熱持續(xù)升溫。有了這么多好爸爸,“中途夭折”這種命運估計也不會落到Rust頭上了。

      作為一門系統(tǒng)編程語言,Rust相較C++來說,更安全也更快速。因為能在編譯時檢查出幾乎所有安全問題,比如內存泄漏、分段錯誤、二次釋放等;性能上也優(yōu)于C++,接近于 C 的性能。不過Rust的缺點也很鮮明,比如編譯器檢查更為嚴格,學習曲線更為陡峭。

      最近Rust的新聞不少,微軟正在用 Rust 編程語言重寫核心 Windows 庫,這也是微軟近年來探索使用 Rust 作為 C、C++ 替代方案的舉措之一。另外在 AWS的資金支持下,sudo 和 su 命令正在用 Rust 重寫,以提高這些廣泛依賴的軟件的內存安全。

      不過一切向好的發(fā)展大勢下依舊存有隱憂,更廣的市場滲透率、更好的平臺支持、更高的生產力才是用戶的追求,而目前來看,Rust 要做到這些尚需時日。

      3.Zig:一切皆有可能的“黑馬”

      誕生于 2016 年的Zig被視為C語言的有力競爭者,在5月的Tiobe編程語言排行榜上名列第88位。但在上個月的榜單中,Zig曾一下躥升到第46位。起起落落間,已經有了點出其不意的黑馬之姿。

      Zig出現后就處在了C語言的挑戰(zhàn)位,也有人認為其有望成為C語言的替代品。它保有C語言的部分功能特性,同時也舍去了其中不太理想的一些功能設計。

      Zig和C語言一樣是通過手動管理內存的;Zig兼容C語言,可以導入 .h 頭文件并直接使用 C 語言的類型、變量和函數,但是減少了很多冗余,增加了泛型數據結構和函數;Zig通過協(xié)程實現并發(fā),相比C語言的多進程和多線程更加高效。

      在語法上,Zig最大的創(chuàng)新是編譯期值和編譯期函數。簡言之,你可以寫一些函數是在編譯期運行的,這些函數能夠通過編譯器反射獲取很多元信息,然后通過這些元信息生成真正的運行函數或者類型。

      曾有人對Zig語言的設計者Andrew Kelley 表示,在編譯時運行代碼是個蠢主意。不過Kelley 還是堅持了這一想法,多年以后,這個看著不怎么聰明的點子成為了 Zig 最鮮明的招牌。Zig 可以在編譯時運行代碼的能力讓開發(fā)者們可以在不明確任何泛型或模板支撐的情況下,編寫通用代碼或是進行元編程。

      此外,Zig另外一個重要的特色就是對嵌入式領域和系統(tǒng)級編程的支持,這也是其將自己定位成C語言競爭者的原因之一。Zig的交叉編譯工具做得非常極致,在非常小的編譯器工具中內置了非常多系統(tǒng)的交叉編譯支持。目前來看,Zig要取代C語言還太過稚嫩,但至少它提供了一種讓人耳目一新的可能。

      四、結語

      編程語言無論是大眾還是小眾,并沒有絕對的優(yōu)劣之分。無論使用哪種或哪些編程語言,真正的關鍵從不在于語言的種類,而在于編碼的技能水平。就像Pony語言的創(chuàng)建者Sylvan Clebsch所說,“一門編程語言只是另一種工具。與語法無關,與表達性無關,與范式或模型無關,僅與解決難題有關。”

      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。

    即時

    新聞

    明火炊具市場:三季度健康屬性貫穿全類目

    奧維云網(AVC)推總數據顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。

    企業(yè)IT

    重慶創(chuàng)新公積金應用,“區(qū)塊鏈+政務服務”顯成效

    “以前都要去窗口辦,一套流程下來都要半個月了,現在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。

    3C消費

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,高能實力,創(chuàng)

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準的色彩呈現能力,為您的創(chuàng)作工作帶來實質性的幫助,雙十一期間低至2799元,性價比很高,簡直是創(chuàng)作者們的首選。

    研究

    中國信通院羅松:深度解讀《工業(yè)互聯網標識解析體系

    9月14日,2024全球工業(yè)互聯網大會——工業(yè)互聯網標識解析專題論壇在沈陽成功舉辦。