自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python也有保質期?它在腳本領域的“大佬地位”還能持續(xù)多久?

開發(fā) 后端
最近,Python被評為全球最受歡迎的編程語言,其中有很多原因在不斷穩(wěn)固它的地位,但也有許多原因使其可能失去該頭銜。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)

有一種語言在過去十年受喜愛度一路飆升,成為最受歡迎的一種編程語言,它是誰?

千呼萬喚始出來,沒錯,它就是我們的老弟Python。

Python是一種易于使用、閱讀和轉換的對象型編程語言,由C語言實現(xiàn)。

最近,Python被評為全球最受歡迎的編程語言,其中有很多原因在不斷穩(wěn)固它的地位,但也有許多原因使其可能失去該頭銜。

Python的用途是什么?

Python是一種解釋型語言,這意味著任何編譯器或匯編器都不能將其放入機器代碼中。相反,使用Python的另一種語言——C語言,可以用來解釋Python.h頭文件。通常情況下,可以把Python歸入腳本類,但在筆者看來,不忽略Python作為編程主要部分的地位至關重要。

(1) 可執(zhí)行?

Python的一大缺點是,Python代碼不能被編譯成可執(zhí)行文件。用Python編寫的任何應用程序或工具都需要在終端用戶系統(tǒng)上安裝Python及其依賴項,且要安裝與之對應的正版安裝包,這些版本與用于開發(fā)所述應用程序的安裝包相對應。

[[324774]]

(2) 網(wǎng)站?

Python已經(jīng)證明其在運行網(wǎng)站后端方面的驚人才能,這也是Python相對于許多其他語言的一大優(yōu)勢。Python擁有大量不可思議的安裝包來部署APIs、甚至設計功能齊全的網(wǎng)站應用程序。

(3) 機器學習

機器學習是Python的另一重要用途,這無疑有助于Python在近年來迅速廣受歡迎。機器學習是技術研究的前沿領域,Python及其與C語言的密切關系對機器學習研究非常高效有用。雖然Python確實缺乏一些諸如Nim、Julia和Go等語言的性能,但在很多方面,它的快速、簡單、簡潔可以彌補這一點,但可能其通用性更為重要。

(4) Unix

如果不討論現(xiàn)代類unix系統(tǒng),就很難討論Python。Python 2.7已被棄用兩個月,筆者的桌面環(huán)境及操作系統(tǒng)中的更多特性仍然運用Python2.7。Bash和Python的組合可以生成一些非常有用的腳本,用于運行服務器、填充數(shù)據(jù)、完成請求、編輯文件,當然還有更多作用。

Python的缺點

雖然Python確實是門偉大的語言,對全世界造成巨大影響,但每種語言都有其缺點,Python也不例外。首先,最顯著的一個缺點是:

Python運行緩慢。

(1) 性能

雖然筆者肯定同意使用日志及for each方法,并且通常情況下,編寫出更好的代碼肯定能加快Python的運行速度,但在某些情況下,代碼一定會變慢,機器學習就是個很好的例子,因為訓練神經(jīng)網(wǎng)絡常需使用遞歸。筆者無法告訴你有多少次編寫過用Python提取數(shù)據(jù)的腳本,然后在命令行接口(CLI.)中經(jīng)歷超時和減速。

為緩解這種情況,人們做出了一些努力,使用了頗有影響力的Cython,但在嘗試使用Cython時,轉換通常并是完全不相關。盡管在很多情況下,Python的局限性不被察覺,但如果說筆者從來沒有過必須切換到Julia、Nim或C語言才能完成某些工作,那一定是無稽之談。

(2) 依賴項

Python的另一個重大缺點是依賴項和虛擬環(huán)境。關于Python領域中的腳本語言,筆者認為,Python在依賴項和虛擬環(huán)境方面做得很好。我喜歡將Python比作我使用的有類似作用的兩種語言——Julia和Nim,Julia依賴項的世界與Python非常類似,其有一個在我主觀看來的優(yōu)點,即虛擬環(huán)境要好很多且更易使用。

然而,隨著Nim的加入,Python將被遺棄。使用Nim,可以創(chuàng)建一個已編譯執(zhí)行文件,其中包含所需的所有依賴項。在如何為終端用戶和部署處理依賴項及安裝包方面,Nim輕松完勝Python和Julia。

Python的好處

盡管對Python頗有怨言,但它確實也有很多方面招人喜歡。

(1) Python的令人敬佩之處

Python是一種常用的編程語言,它有很多優(yōu)點:

  • 易搜索
  • 易討論
  • 性能好
  • 修補程序很多

不僅如此,Python功能強大,用起來十分可靠,這使得Python成為初學者的最佳選擇,同時也使那些想要快速構建穩(wěn)定、持久技術的人同時運用這些技術更為容易。

(2) Python看起來很英文范兒

像Python這種語言和類似腳本語言之間的一個很大的區(qū)別就是Python的可讀性和容易理解性。通常,閱讀Python就像閱讀一本關于與數(shù)字等同變量的奇怪又抽象的書。這不僅使初學者更容易接受,而且也使轉變、修改和解碼更容易進行,這些都極為重要,特別是對有數(shù)千名開發(fā)人員在其中工作的大型代碼池而言。

老實說,大家都寧愿寫Python而不愿寫C語言。

(3) Python作為開源軟件

雖然對一些人來說,他們的語言是否免費和開源可能并不重要,但對筆者而言,這非常重要。Python基金會的運行主要依靠捐款和教育證書,這意味著Python是一個完全免費和開放的軟件,有人編寫代碼供你使用,這太棒了。

Python會壽終正寢嗎?

[[324775]]

來源:Pexels

實際上,我經(jīng)常被問到的一個問題是,“你認為Python會存在多久?”這個問題經(jīng)常出現(xiàn)在機器學習領域,因為Python有許多跟機器學習的相關問題。有趣的是,任何一種語言都可能是靜態(tài)的,且在很長一段時間內(nèi)將作為最廣泛使用的編程語言。

在C語言之前,F(xiàn)ortran廣受歡迎,在C++之前,C語言廣受歡迎,在Java之前,C++也是如此,這樣的例子不勝枚舉,而且總會按此發(fā)生。計算機讓人興奮不已,因為它不斷發(fā)展,隨之而來的研究技術也不斷進步。就在30年前,16GB內(nèi)存(RAM)的想法聽起來還極為荒誕,因此,人們根本不知道未來的編程語言會是什么樣子。

雖然Python最終很可能會被另一種編程語言超越,但在筆者看來,人們?nèi)匀辉诰帉慒ortran、C語言、Java和c++,記住這一點極為重要;所以Python本身很可能會與我們同行,并在很長一段時間內(nèi)被廣泛使用,不管它可能變得多么不受歡迎。

其他編程語言

Python流行所面臨的最大威脅可能是其他的新編程語言。上述所討論的語言——Julia和Nim,在筆者看來是Python目前的兩大競爭對手。Julia當然能改變我們進行機器學習的方式,而Nim絕對是高級腳本的一個巨大創(chuàng)變者。

[[324776]]

圖源:(https://nim-lang.org/)

目前,雖然這些語言可能還沒有得到很多支持,但它們表現(xiàn)出筆者認為的重要一點:

進步大有可能。

也就是說,Python不是一堵堅實的磚墻,編程語言、機器學習和腳本語言的進步肯定不會就此止步。筆者認為,這些語言之所以未獲成功,部分原因是它們都是統(tǒng)計型語言,而且在很大程度上為功能性語言,筆者理解,對于那些一直堅持使用并熱愛Python的人而言,該概念讓人震驚不已。

結論

[[324777]]

來源:Pexels

應該學習Python嗎?

答案毋庸置疑。

Python作為一種很好的入門語言,可以幫助你熟悉如何解決問題,開始編程。與包括Julia和Nim在內(nèi)的其他語言相比,Python擁有豐富的資源,這就使得它更易學習。

一門語言的大火始終伴隨著另一門語言的沒落,我不認為Python會很快消失。

但作為一名程序員,不斷成長很重要,開闊視野更重要。如果你用Python已有一段時間,那么可以開始學習第二種語言。嘗試一種不同模式的語言,并了解那種模式及所選語言的類編程方法論如何運用這些概念。

這樣的話,你不僅能學會使用更快的方法,而且還能學會許多之前甚至都不曾考慮的事情。

加油,你是最棒的~

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2021-12-20 18:19:29

網(wǎng)絡數(shù)據(jù)技術

2015-07-20 11:47:46

Windows 10升級

2012-11-19 10:15:32

2021-02-18 18:47:02

比特幣加密貨幣區(qū)塊鏈

2020-11-03 12:57:20

技術資訊

2020-09-18 06:51:05

攻擊文本構造

2018-01-08 21:01:16

華為

2020-05-26 11:53:31

運營商5G網(wǎng)絡

2018-03-08 14:39:40

華為速度業(yè)務

2020-11-02 10:52:05

Python 開發(fā)編程語言

2012-02-14 17:12:58

Java

2020-11-01 23:44:19

物聯(lián)網(wǎng)冷鏈管理IOT

2012-02-01 08:56:35

微軟蘋果商務

2020-11-04 18:08:32

IT大學生技術

2020-06-19 12:13:41

智慧城市物聯(lián)網(wǎng)5G

2021-07-22 22:53:41

機器人醫(yī)療技術

2012-05-31 09:09:53

2015-09-16 16:27:33

分布式系統(tǒng)應用開發(fā)分布式技術

2023-11-14 10:59:40

2012-09-18 16:44:14

Wintel
點贊
收藏

51CTO技術棧公眾號