成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

原創(chuàng) 精選
開發(fā) 前端
編程語言無論是大眾還是小眾,并沒有絕對的優(yōu)劣之分。無論使用哪種或哪些編程語言,真正的關(guān)鍵從不在于語言的種類,而在于編碼的技能水平。

撰稿丨千山

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

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

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

圖片

圖源:推特

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

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

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

有很多正在進(jìn)行的項(xiàng)目可以使Python更快,比如在機(jī)器學(xué)習(xí)領(lǐng)域嶄露頭角的Jax,還有出現(xiàn)不久的Python高性能編譯器Codon。

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

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

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

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

關(guān)于Mojo的定位和特性,有必要了解以下幾點(diǎn):

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

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

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

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

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

有人表示期待,自然也有人表示質(zhì)疑。

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

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

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

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

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

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

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

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

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

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

圖片

圖源:Tiobe

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

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

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

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

圖片

圖源:CodeSignal

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

圖片

圖源:CodeSignal

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

由此可見,新興語言在生態(tài)上肯定無法與老牌語言抗衡,但在一些特定需求中,反而會因?yàn)椤捌尕浛删印倍@得更高回報(bào)。

三、盤點(diǎn):值得關(guān)注的小眾語言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四、結(jié)語

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

參考鏈接:

https://www.tiobe.com/tiobe-index/

https://codesignal.com/2023-state-of-engineer-hiring/

www.modular.com/mojo

https://medium.com/@napsaga/mojo-lang-a-fast-futuristic-python-alternative-cf090e6db344

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2023-05-10 15:07:00

Mojo開發(fā)選項(xiàng)

2023-09-08 15:05:51

Mojo編程語言

2022-01-17 16:09:43

Go語言開發(fā)

2022-10-27 08:31:31

架構(gòu)

2023-09-08 18:55:50

PythonNumpyAI

2024-03-26 10:13:54

日志引擎SigLens

2023-09-09 06:54:02

AI編程語言Mojo

2023-04-07 08:17:39

fasthttp場景設(shè)計(jì)HTTP

2023-09-12 17:23:23

C語言Mojo模型

2016-02-24 11:49:00

2021-07-28 14:20:13

正則PythonFlashText

2022-11-02 08:12:47

TurbopackVite

2023-05-08 14:43:52

理想汽車CEOPython

2015-11-25 14:39:51

LiFiWiFi

2010-08-18 16:04:24

JavaC

2015-03-19 10:26:50

2022-04-19 15:16:15

Python開發(fā)技巧

2023-05-04 15:32:51

編程開發(fā)

2019-10-14 09:50:52

KeyDBRedis中間件

2011-06-29 09:31:58

3G4G5G
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品综合久久久 | 亚洲综合在线视频 | 一区二区三区四区在线播放 | 美女视频一区 | www.亚洲一区 | 人人擦人人干 | 国产1区2区3区 | 日本久草| 亚洲视频一区在线观看 | 久久久久九九九女人毛片 | 欧美日韩综合 | 欧美一级大黄 | 精品综合久久久 | 天天干com| 人人爽人人爽 | 亚洲一区久久久 | 亚洲成人动漫在线观看 | 日韩精品一区二区三区四区视频 | 久久69精品久久久久久国产越南 | 欧美精品1区2区 | 日韩一区二区三区在线观看 | 久久精品国产亚洲a | 精品国产免费一区二区三区五区 | 日韩欧美亚洲 | 亚洲精品在线视频 | 国产美女精品 | 亚洲精品成人av久久 | 国产亚洲精品久久午夜玫瑰园 | 久久人人网 | 99热国产在线播放 | 亚洲永久 | 国产亚洲精品久久久久久牛牛 | 亚洲视频在线看 | 亚洲成人在线网 | 国产欧美一级二级三级在线视频 | 一区二区三区国产 | 久久男人 | 日日草夜夜草 | 欧美激情国产日韩精品一区18 | 成人国产精品久久久 | 在线观看国产 |