新聞中心
近日,關(guān)于一篇關(guān)于Python的討論又重出江湖。

10年積累的網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有和平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
哦,不是這個(gè)。
這篇「為什么Python不是未來(lái)的編程語(yǔ)言」的文章又出現(xiàn)在了互聯(lián)網(wǎng)上。作者Rhea Moutafis稱,如今推動(dòng)Python流行的優(yōu)點(diǎn),也正是之后將它擊倒的弱點(diǎn)。
其實(shí)早在2020年,該作者就在Medium上發(fā)表了同一篇文章。但不知道是當(dāng)初發(fā)表日期為4月1日的緣故,還是TA真的不喜歡Python,時(shí)隔1年零2個(gè)月又18天,作者又決定在另一個(gè)平臺(tái)上重新發(fā)一遍。
我們這就來(lái)看看這位Rhea為什么覺(jué)得人民群眾都喜歡的Python要日薄西山了。
速度很慢,真的很慢
作者表示,使用Python完成一項(xiàng)任務(wù)所需的時(shí)間是使用任何其他語(yǔ)言的2到10倍。
原因一:動(dòng)態(tài)類型的應(yīng)用。
Python不需要像在其他語(yǔ)言中那樣指定數(shù)據(jù)類型,因此這會(huì)需要使用大量的內(nèi)存,因?yàn)槌绦蛐枰獮槊總€(gè)變量保留足夠的空間,那么大量的內(nèi)存使用就會(huì)轉(zhuǎn)化為大量的計(jì)算時(shí)間。
原因二:一次只能執(zhí)行一個(gè)任務(wù)。
Python需要確保每個(gè)變量只有一種數(shù)據(jù)類型,如果使用并行進(jìn)程就可能會(huì)讓這個(gè)機(jī)制出現(xiàn)問(wèn)題。相比之下,普通的瀏覽器可以同時(shí)運(yùn)行十幾個(gè)不同的線程。
作用域
Python使用動(dòng)態(tài)作用域,也就是說(shuō)編譯器想要對(duì)表達(dá)式進(jìn)行評(píng)估時(shí),首先會(huì)搜索當(dāng)前代碼塊,然后依次搜索所有調(diào)用函數(shù)。
動(dòng)態(tài)作用域的問(wèn)題在于每個(gè)表達(dá)式都需要在每個(gè)可能的上下文中進(jìn)行測(cè)試。這就是大多數(shù)現(xiàn)代編程語(yǔ)言使用靜態(tài)作用域的原因。
空格縮進(jìn)
Python可以使用空格來(lái)表示不同級(jí)別的代碼。這讓代碼在視覺(jué)效果上更加友好,同時(shí)也更易于理解。
然而其他的編程語(yǔ)言,如 C++,就會(huì)更多地依賴大括號(hào)和分號(hào)。雖然對(duì)初學(xué)者相對(duì)不那么友好,但是這樣可以增加代碼的可維護(hù)性,尤其是對(duì)于那些大型項(xiàng)目來(lái)說(shuō)。
移動(dòng)開(kāi)發(fā)
使用Python開(kāi)發(fā)的移動(dòng)應(yīng)用程序很少,顯然,Python并不是為移動(dòng)開(kāi)發(fā)而設(shè)計(jì)的。雖然也不是不能完成,至少有一個(gè)名為Kivy的Python包可以使用。
但是,即便Python可以完成基本的任務(wù),最好的辦法仍然是使用一種為移動(dòng)應(yīng)用程序開(kāi)發(fā)而創(chuàng)建的語(yǔ)言。
作者聲稱,由于移動(dòng)端的流量早已超過(guò)桌面端,可以肯定地說(shuō),學(xué)習(xí)Python并不足以成為一個(gè)經(jīng)驗(yàn)豐富的全能開(kāi)發(fā)者(a seasoned all-round developer)。
錯(cuò)誤和異常
Python腳本在每次執(zhí)行時(shí)都要進(jìn)行編譯,不僅耗費(fèi)時(shí)間而且需要進(jìn)行大量測(cè)試。
這可能對(duì)初學(xué)者來(lái)說(shuō)有一定的幫助,但是對(duì)于經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員來(lái)說(shuō),在Python中調(diào)試一個(gè)復(fù)雜的程序反而會(huì)讓他們出差錯(cuò)。
Python的替代品
作者認(rèn)為,Rust,GO和Julia都是潛在的替代Python的編程語(yǔ)言。
Rust可以提供與Python相同的安全性,而且它通過(guò)所有權(quán)和借用的機(jī)制解決了性能問(wèn)題。
Go與Python一樣非常適合初學(xué)者。而且它非常簡(jiǎn)單,代碼維護(hù)起來(lái)更容易。同時(shí),Go語(yǔ)言的開(kāi)發(fā)者是收入最高的程序員之一。
Julia雖然是一種非常新的語(yǔ)言,但也可以與Python進(jìn)行正面較量。尤其是在大型技術(shù)計(jì)算中,開(kāi)發(fā)者只靠Julia就可以完成,不再需要同時(shí)使用Python、Matlab甚至還需要C++作為補(bǔ)充。
作者認(rèn)為,雖然這三種語(yǔ)言的份額還很小,在人工智能等技術(shù)方面也還沒(méi)有得到很廣泛的應(yīng)用,但是在趨勢(shì)上是一直在增加的。
不過(guò)考慮到 Python 架構(gòu)中的基本性能問(wèn)題,這三種語(yǔ)言一定有機(jī)會(huì)取代Python。
大勢(shì)所趨?
說(shuō)到這個(gè)趨勢(shì),我們?cè)賮?lái)看看作者在文章開(kāi)頭是怎么介紹Python的。
作者表示,Python的成功體現(xiàn)在Stack Overflow中該語(yǔ)言在問(wèn)題標(biāo)簽數(shù)量的趨勢(shì)上。
而且,從Stack Overflow的規(guī)模上來(lái)看,這是判斷一個(gè)語(yǔ)言流行程度的很好的指標(biāo)。
從現(xiàn)在最新的數(shù)據(jù)上來(lái)看,有超過(guò)16%的問(wèn)題都打上了「Python」的標(biāo)簽。
顯然,在作者看來(lái),處在上升中且占比達(dá)到16%的Python,不如占比加起來(lái)都不到1%的Go、Rust和Julia。
誠(chéng)然,這三個(gè)都是很好的編程語(yǔ)言。
對(duì)此,你怎么看?
本文標(biāo)題:AI領(lǐng)域都在用Python即將被淘汰?網(wǎng)友預(yù)測(cè)未來(lái)的編程語(yǔ)言不會(huì)是TA
本文路徑:http://www.5511xx.com/article/cccpodo.html


咨詢
建站咨詢
