新聞中心
本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(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)站后付款的網(wǎng)站建設(shè)流程,更有綿陽(yáng)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
有一種語(yǔ)言在過(guò)去十年受喜愛(ài)度一路飆升,成為最受歡迎的一種編程語(yǔ)言,它是誰(shuí)?
千呼萬(wàn)喚始出來(lái),沒(méi)錯(cuò),它就是我們的老弟Python。
Python是一種易于使用、閱讀和轉(zhuǎn)換的對(duì)象型編程語(yǔ)言,由C語(yǔ)言實(shí)現(xiàn)。
最近,Python被評(píng)為全球最受歡迎的編程語(yǔ)言,其中有很多原因在不斷穩(wěn)固它的地位,但也有許多原因使其可能失去該頭銜。
Python的用途是什么?
Python是一種解釋型語(yǔ)言,這意味著任何編譯器或匯編器都不能將其放入機(jī)器代碼中。相反,使用Python的另一種語(yǔ)言——C語(yǔ)言,可以用來(lái)解釋Python.h頭文件。通常情況下,可以把Python歸入腳本類,但在筆者看來(lái),不忽略Python作為編程主要部分的地位至關(guān)重要。
(1) 可執(zhí)行?
Python的一大缺點(diǎn)是,Python代碼不能被編譯成可執(zhí)行文件。用Python編寫(xiě)的任何應(yīng)用程序或工具都需要在終端用戶系統(tǒng)上安裝Python及其依賴項(xiàng),且要安裝與之對(duì)應(yīng)的正版安裝包,這些版本與用于開(kāi)發(fā)所述應(yīng)用程序的安裝包相對(duì)應(yīng)。
(2) 網(wǎng)站?
Python已經(jīng)證明其在運(yùn)行網(wǎng)站后端方面的驚人才能,這也是Python相對(duì)于許多其他語(yǔ)言的一大優(yōu)勢(shì)。Python擁有大量不可思議的安裝包來(lái)部署APIs、甚至設(shè)計(jì)功能齊全的網(wǎng)站應(yīng)用程序。
(3) 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是Python的另一重要用途,這無(wú)疑有助于Python在近年來(lái)迅速?gòu)V受歡迎。機(jī)器學(xué)習(xí)是技術(shù)研究的前沿領(lǐng)域,Python及其與C語(yǔ)言的密切關(guān)系對(duì)機(jī)器學(xué)習(xí)研究非常高效有用。雖然Python確實(shí)缺乏一些諸如Nim、Julia和Go等語(yǔ)言的性能,但在很多方面,它的快速、簡(jiǎn)單、簡(jiǎn)潔可以彌補(bǔ)這一點(diǎn),但可能其通用性更為重要。
(4) Unix
如果不討論現(xiàn)代類unix系統(tǒng),就很難討論P(yáng)ython。Python 2.7已被棄用兩個(gè)月,筆者的桌面環(huán)境及操作系統(tǒng)中的更多特性仍然運(yùn)用Python2.7。Bash和Python的組合可以生成一些非常有用的腳本,用于運(yùn)行服務(wù)器、填充數(shù)據(jù)、完成請(qǐng)求、編輯文件,當(dāng)然還有更多作用。
Python的缺點(diǎn)
雖然Python確實(shí)是門偉大的語(yǔ)言,對(duì)全世界造成巨大影響,但每種語(yǔ)言都有其缺點(diǎn),Python也不例外。首先,最顯著的一個(gè)缺點(diǎn)是:
Python運(yùn)行緩慢。
(1) 性能
雖然筆者肯定同意使用日志及for each方法,并且通常情況下,編寫(xiě)出更好的代碼肯定能加快Python的運(yùn)行速度,但在某些情況下,代碼一定會(huì)變慢,機(jī)器學(xué)習(xí)就是個(gè)很好的例子,因?yàn)橛?xùn)練神經(jīng)網(wǎng)絡(luò)常需使用遞歸。筆者無(wú)法告訴你有多少次編寫(xiě)過(guò)用Python提取數(shù)據(jù)的腳本,然后在命令行接口(CLI.)中經(jīng)歷超時(shí)和減速。
為緩解這種情況,人們做出了一些努力,使用了頗有影響力的Cython,但在嘗試使用Cython時(shí),轉(zhuǎn)換通常并是完全不相關(guān)。盡管在很多情況下,Python的局限性不被察覺(jué),但如果說(shuō)筆者從來(lái)沒(méi)有過(guò)必須切換到Julia、Nim或C語(yǔ)言才能完成某些工作,那一定是無(wú)稽之談。
(2) 依賴項(xiàng)
Python的另一個(gè)重大缺點(diǎn)是依賴項(xiàng)和虛擬環(huán)境。關(guān)于Python領(lǐng)域中的腳本語(yǔ)言,筆者認(rèn)為,Python在依賴項(xiàng)和虛擬環(huán)境方面做得很好。我喜歡將Python比作我使用的有類似作用的兩種語(yǔ)言——Julia和Nim,Julia依賴項(xiàng)的世界與Python非常類似,其有一個(gè)在我主觀看來(lái)的優(yōu)點(diǎn),即虛擬環(huán)境要好很多且更易使用。
然而,隨著Nim的加入,Python將被遺棄。使用Nim,可以創(chuàng)建一個(gè)已編譯執(zhí)行文件,其中包含所需的所有依賴項(xiàng)。在如何為終端用戶和部署處理依賴項(xiàng)及安裝包方面,Nim輕松完勝Python和Julia。
Python的好處
盡管對(duì)Python頗有怨言,但它確實(shí)也有很多方面招人喜歡。
(1) Python的令人敬佩之處
Python是一種常用的編程語(yǔ)言,它有很多優(yōu)點(diǎn):
- 易搜索
- 易討論
- 性能好
- 修補(bǔ)程序很多
不僅如此,Python功能強(qiáng)大,用起來(lái)十分可靠,這使得Python成為初學(xué)者的最佳選擇,同時(shí)也使那些想要快速構(gòu)建穩(wěn)定、持久技術(shù)的人同時(shí)運(yùn)用這些技術(shù)更為容易。
(2) Python看起來(lái)很英文范兒
像Python這種語(yǔ)言和類似腳本語(yǔ)言之間的一個(gè)很大的區(qū)別就是Python的可讀性和容易理解性。通常,閱讀Python就像閱讀一本關(guān)于與數(shù)字等同變量的奇怪又抽象的書(shū)。這不僅使初學(xué)者更容易接受,而且也使轉(zhuǎn)變、修改和解碼更容易進(jìn)行,這些都極為重要,特別是對(duì)有數(shù)千名開(kāi)發(fā)人員在其中工作的大型代碼池而言。
老實(shí)說(shuō),大家都寧愿寫(xiě)Python而不愿寫(xiě)C語(yǔ)言。
(3) Python作為開(kāi)源軟件
雖然對(duì)一些人來(lái)說(shuō),他們的語(yǔ)言是否免費(fèi)和開(kāi)源可能并不重要,但對(duì)筆者而言,這非常重要。Python基金會(huì)的運(yùn)行主要依靠捐款和教育證書(shū),這意味著Python是一個(gè)完全免費(fèi)和開(kāi)放的軟件,有人編寫(xiě)代碼供你使用,這太棒了。
Python會(huì)壽終正寢嗎?
來(lái)源:Pexels
實(shí)際上,我經(jīng)常被問(wèn)到的一個(gè)問(wèn)題是,“你認(rèn)為Python會(huì)存在多久?”這個(gè)問(wèn)題經(jīng)常出現(xiàn)在機(jī)器學(xué)習(xí)領(lǐng)域,因?yàn)镻ython有許多跟機(jī)器學(xué)習(xí)的相關(guān)問(wèn)題。有趣的是,任何一種語(yǔ)言都可能是靜態(tài)的,且在很長(zhǎng)一段時(shí)間內(nèi)將作為最廣泛使用的編程語(yǔ)言。
在C語(yǔ)言之前,F(xiàn)ortran廣受歡迎,在C++之前,C語(yǔ)言廣受歡迎,在Java之前,C++也是如此,這樣的例子不勝枚舉,而且總會(huì)按此發(fā)生。計(jì)算機(jī)讓人興奮不已,因?yàn)樗粩喟l(fā)展,隨之而來(lái)的研究技術(shù)也不斷進(jìn)步。就在30年前,16GB內(nèi)存(RAM)的想法聽(tīng)起來(lái)還極為荒誕,因此,人們根本不知道未來(lái)的編程語(yǔ)言會(huì)是什么樣子。
雖然Python最終很可能會(huì)被另一種編程語(yǔ)言超越,但在筆者看來(lái),人們?nèi)匀辉诰帉?xiě)Fortran、C語(yǔ)言、Java和c++,記住這一點(diǎn)極為重要;所以Python本身很可能會(huì)與我們同行,并在很長(zhǎng)一段時(shí)間內(nèi)被廣泛使用,不管它可能變得多么不受歡迎。
其他編程語(yǔ)言
Python流行所面臨的最大威脅可能是其他的新編程語(yǔ)言。上述所討論的語(yǔ)言——Julia和Nim,在筆者看來(lái)是Python目前的兩大競(jìng)爭(zhēng)對(duì)手。Julia當(dāng)然能改變我們進(jìn)行機(jī)器學(xué)習(xí)的方式,而Nim絕對(duì)是高級(jí)腳本的一個(gè)巨大創(chuàng)變者。
圖源:(https://nim-lang.org/)
目前,雖然這些語(yǔ)言可能還沒(méi)有得到很多支持,但它們表現(xiàn)出筆者認(rèn)為的重要一點(diǎn):
進(jìn)步大有可能。
也就是說(shuō),Python不是一堵堅(jiān)實(shí)的磚墻,編程語(yǔ)言、機(jī)器學(xué)習(xí)和腳本語(yǔ)言的進(jìn)步肯定不會(huì)就此止步。筆者認(rèn)為,這些語(yǔ)言之所以未獲成功,部分原因是它們都是統(tǒng)計(jì)型語(yǔ)言,而且在很大程度上為功能性語(yǔ)言,筆者理解,對(duì)于那些一直堅(jiān)持使用并熱愛(ài)Python的人而言,該概念讓人震驚不已。
結(jié)論
來(lái)源:Pexels
應(yīng)該學(xué)習(xí)Python嗎?
答案毋庸置疑。
Python作為一種很好的入門語(yǔ)言,可以幫助你熟悉如何解決問(wèn)題,開(kāi)始編程。與包括Julia和Nim在內(nèi)的其他語(yǔ)言相比,Python擁有豐富的資源,這就使得它更易學(xué)習(xí)。
一門語(yǔ)言的大火始終伴隨著另一門語(yǔ)言的沒(méi)落,我不認(rèn)為Python會(huì)很快消失。
但作為一名程序員,不斷成長(zhǎng)很重要,開(kāi)闊視野更重要。如果你用Python已有一段時(shí)間,那么可以開(kāi)始學(xué)習(xí)第二種語(yǔ)言。嘗試一種不同模式的語(yǔ)言,并了解那種模式及所選語(yǔ)言的類編程方法論如何運(yùn)用這些概念。
這樣的話,你不僅能學(xué)會(huì)使用更快的方法,而且還能學(xué)會(huì)許多之前甚至都不曾考慮的事情。
加油,你是最棒的~
網(wǎng)站標(biāo)題:Python也有保質(zhì)期?它在腳本領(lǐng)域的“大佬地位”還能持續(xù)多久?
網(wǎng)頁(yè)地址:http://www.dlmjj.cn/article/djiicis.html


咨詢
建站咨詢
