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

全文共3304字,預計學習時長10分鐘


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

圖源:(Python logo courtesy of https


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


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


Python是一種易於使用、閱讀和轉換的對象型編程語言,由C語言實現。


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

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

Python的用途是什麼?


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


可執行?


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


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

網站?


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


機器學習


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


Unix


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


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

Python的缺點


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

來源:Pexels


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


Python運行緩慢。


性能


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


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


依賴項


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


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


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

Python的好處


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


Python的令人敬佩之處


Python是一種常用的編程語言,它有很多優點:


· 易搜索

· 易討論

· 性能好

· 修補程序很多


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


Python看起來很英文範兒


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


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


Python作為開源軟件


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


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

Python會壽終正寢嗎?


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

來源:Pexels


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


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


雖然Python最終很可能會被另一種編程語言超越,但在筆者看來,人們仍然在編寫Fortran、C語言、Java和c++,記住這一點極為重要;所以Python本身很可能會與我們同行,並在很長一段時間內被廣泛使用,不管它可能變得多麼不受歡迎。


其他編程語言


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

圖源:(src = http://julialang.org/)


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


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

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


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


進步大有可能。


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


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

結論


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

來源:Pexels


應該學習Python嗎?


答案毋庸置疑。


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


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


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


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


加油,你是最棒的~


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

留言點贊關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範


分享到:


相關文章: