為什么 Python 不是未來(lái)的編程語(yǔ)言_第1頁(yè)
為什么 Python 不是未來(lái)的編程語(yǔ)言_第2頁(yè)
為什么 Python 不是未來(lái)的編程語(yǔ)言_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PythonInfoQ中文站曾編譯過(guò)相關(guān)文章,今天,我們翻譯并分享了RheaMoutafis對(duì)Python的看法,權(quán)當(dāng)一家之言吧!編程社區(qū)花了幾十年的時(shí)間才領(lǐng)略到Python迷人之處。但自2010年初以來(lái),Python就一直在蓬勃發(fā)展,并最終在受歡迎程度上超越了C、Java和。但這種趨勢(shì)還會(huì)持續(xù)到什么時(shí)候呢?什么時(shí)候Python最終會(huì)被其他編程語(yǔ)言所取代?為什么會(huì)被取代?闡述Python那些受歡迎的優(yōu)點(diǎn),以及將來(lái)會(huì)打敗它的弱點(diǎn)。1是什么讓Python現(xiàn)在如此流行Python的成功體現(xiàn)在StackOverflow于StackOverflow的規(guī)模,因此它是編程語(yǔ)言受歡迎程度的一個(gè)很好的指標(biāo)。StackOverflow上各種編程語(yǔ)言的標(biāo)簽快照。盡管R語(yǔ)言在過(guò)去幾年里一直處于停滯不前的狀態(tài),而且許多其他編程語(yǔ)言也在穩(wěn)步下降,但Python的增長(zhǎng)似乎勢(shì)不可擋。幾乎所有StackOverflow上的問(wèn)題有14%被標(biāo)記為“Python”,而且這一趨勢(shì)還在上升。這其中有幾個(gè)原因:它是古老的Python早在20世紀(jì)90年代就出現(xiàn)了。這并不僅僅意味著它有充足的時(shí)間來(lái)成長(zhǎng),它還得到了一個(gè)龐大的支持社區(qū)。因此,如果你在用Python編寫代碼遇到了什么問(wèn)題,你很有可能通過(guò)Google搜索一下就能解決。這是因?yàn)橛腥艘呀?jīng)遇到過(guò)和你一樣的問(wèn)題,并記下了一些有用的東西。它對(duì)初學(xué)者很友好的是,Python的語(yǔ)法非常易于理解。C++數(shù)換成了整數(shù)。如果你曾經(jīng)同時(shí)閱讀過(guò)Python和C+PythonC++在設(shè)計(jì)時(shí)考慮到了英語(yǔ),但與Python代碼相比,它的閱讀還是相當(dāng)困難。它的用途廣泛由于Python已經(jīng)存在了如此久的時(shí)間,開發(fā)人員已經(jīng)為各種潛在需求制作了軟件包。現(xiàn)在,你可以找到幾乎所有用途的軟件包。想要計(jì)算數(shù)字、向量和矩陣嗎?NumPy就是你要找的東西。想要做技術(shù)和工程方面的計(jì)算嗎?請(qǐng)使用SciPy。想在數(shù)據(jù)處理和分析方面做大嗎?那就試試Pandas吧。想從人工智能開始嗎?那為什么不使用Scikit-Learn呢?無(wú)論你想做哪種計(jì)算任務(wù),都有相應(yīng)的Python軟件包。這使得Python一直處于發(fā)展前沿,從過(guò)去幾年機(jī)器學(xué)習(xí)的火熱的浪潮中可以看出來(lái)。2Python的缺點(diǎn)以及這些缺點(diǎn)是否會(huì)致命基于前面的闡述,你可以想象Python在未來(lái)幾年仍將興盛不衰。但是,像所有的技術(shù)一樣,Python也有它的弱點(diǎn)。我將一一介紹最重要的缺陷,并評(píng)估這些缺陷是否致命。速度Python很慢。真的,非常非常慢。平均而言,使用Python完成一項(xiàng)任務(wù)所需的時(shí)間,是任何其他編程語(yǔ)言的2~10倍。另一個(gè)原因是,Python一次只能執(zhí)行一個(gè)任務(wù)。這是采用靈活數(shù)據(jù)類型帶來(lái)的后果:Python需要確保每個(gè)變量只有一種數(shù)據(jù)類型,而并行化的進(jìn)程可能會(huì)弄亂這一點(diǎn)。相比之下,一般的Web瀏覽器可以同時(shí)運(yùn)行十幾個(gè)不同的線程。此外,還有其他一些理論。的只是幾分之一秒的時(shí)間。實(shí)際上,最終用戶并不在乎他們的應(yīng)用程序是在0.001秒還是0.01秒內(nèi)加載的。作用域最初,Python的作用域是動(dòng)態(tài)的。這基本上意味著,要計(jì)算表達(dá)式,編譯器首先搜索當(dāng)前塊,然后依次搜索所有調(diào)用函數(shù)。這就是大多數(shù)現(xiàn)代編程語(yǔ)言使用靜態(tài)作用域的原因。Python曾試圖過(guò)渡到靜態(tài)作用域,但搞砸了。通常情況下,內(nèi)部作用域(例如函數(shù)中的函數(shù))能夠查看和更改外部作用域。但在Python中,內(nèi)部作用域只能看到外部作用域,而不能改變它們,這就導(dǎo)致了很多混亂的情形。Lambda盡管Python具有所有的靈活性,但Lambda的使用還是相當(dāng)受限的。Lambda只能是Python中的表達(dá)式,不能是語(yǔ)句。另一方面,變量聲明和語(yǔ)句始終是語(yǔ)句。這意味著Lambda并不能用于它們。表達(dá)式和語(yǔ)句之間的這種區(qū)別是相當(dāng)隨意的,在其他編程語(yǔ)言中并不會(huì)存在??瞻资勾a的可讀性更強(qiáng),但可維護(hù)性卻更低了。在Python中,你可以使用空格和縮進(jìn)來(lái)表示不同級(jí)別的代碼。這使得它在視覺上具有吸引力,理解起來(lái)也更直觀。其他編程語(yǔ)言,如C+對(duì)初學(xué)者也不太友好,但是它使代碼更易于維護(hù)。對(duì)于較大的項(xiàng)目,這個(gè)方法更有用。像Haskell這樣的新語(yǔ)言解決了這個(gè)問(wèn)題:它們依賴于空格,但為那些希望不使用空格的人提供了另一種語(yǔ)法。移動(dòng)開發(fā)件。但使用Python開發(fā)的移動(dòng)應(yīng)用并不多。不過(guò),這并不意味著它做不到 —有一個(gè)名Kivy的Python軟件包就是專門用于開發(fā)移動(dòng)應(yīng)用的。但是Python在設(shè)計(jì)時(shí)并沒有考慮到移動(dòng)開發(fā)。因此,即使它可能會(huì)為基本任務(wù)產(chǎn)生差強(qiáng)動(dòng)編程框架包括ReactFlutterIconic和。動(dòng)設(shè)備的流量早已超過(guò)臺(tái)式計(jì)算機(jī),所以可以肯定地說(shuō),學(xué)會(huì)Python并不足以成為經(jīng)驗(yàn)豐富的全能開發(fā)人員。運(yùn)行時(shí)錯(cuò)誤Python腳本不是先編譯后執(zhí)行的。相反,它會(huì)在每次執(zhí)行時(shí)編譯,因此,任何編碼錯(cuò)誤都測(cè)試。必須用PythonPython上設(shè)置時(shí)間戳的最大因素。3未來(lái)何時(shí),誰(shuí)將取代Python?在編程語(yǔ)言市場(chǎng)上有幾個(gè)新的競(jìng)爭(zhēng)對(duì)手:Rust提供了與Python同樣的安全性,任何變量不會(huì)被意外覆蓋。但是,它用所有權(quán)(ownership)和借用(borrowing)解決了性能問(wèn)題。根據(jù)StackOverflowInsights的統(tǒng)計(jì),Rust也是過(guò)去幾年來(lái)最受歡迎的編程語(yǔ)言。Go對(duì)于Python這樣的初學(xué)者來(lái)說(shuō)很棒。它是如此簡(jiǎn)單,以至于維護(hù)代碼更加容易了。有趣的是:Go開發(fā)人員是市場(chǎng)上收入最高的程序員之一。JuliaPythonPython或Matlab,然后用C++庫(kù)來(lái)修補(bǔ)整個(gè)程序,這在大規(guī)模應(yīng)用時(shí)是必需的?,F(xiàn)在,人們可以使用Julia,而不是同時(shí)使用兩種編程語(yǔ)言。雖、Go和Julia是修補(bǔ)了Python薄弱部分的編程語(yǔ)言StackOverflow標(biāo)簽的數(shù)量可以看出,它們的趨勢(shì)都很明顯:上升。StackOverflow上各種編程語(yǔ)言標(biāo)簽快照。鑒于目前Python已無(wú)處不在的流行程度,這些新語(yǔ)言

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論