天天看點

Python也有保存期限?它在腳本領域的“大佬地位”還能持續多久?Python的用途是什麼?Python的缺點Python的好處Python會壽終正寝嗎?其他程式設計語言結論

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

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

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

Python是一種易于使用、閱讀和轉換的對象型程式設計語言,由C語言實作。

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

Python也有儲存期限?它在腳本領域的“大佬地位”還能持續多久?Python的用途是什麼?Python的缺點Python的好處Python會壽終正寝嗎?其他程式設計語言結論

Python的用途是什麼?

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

(1) 可執行?

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

Python也有儲存期限?它在腳本領域的“大佬地位”還能持續多久?Python的用途是什麼?Python的缺點Python的好處Python會壽終正寝嗎?其他程式設計語言結論

(2) 網站?

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

(3) 機器學習

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

(4) Unix

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

Python的缺點

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

Python運作緩慢。

(1) 性能

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

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

(2) 依賴項

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

然而,随着Nim的加入,Python将被遺棄。使用Nim,可以建立一個已編譯執行檔案,其中包含所需的所有依賴項。在如何為終端使用者和部署處理依賴項及安裝包方面,Nim輕松完勝Python和Julia。

Python的好處

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

(1) Python的令人敬佩之處

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

易搜尋

易讨論

性能好

修補程式很多

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

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

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

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

(3) Python作為開源軟體

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

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流行所面臨的最大威脅可能是其他的新程式設計語言。上述所讨論的語言——Julia和Nim,在筆者看來是Python目前的兩大競争對手。Julia當然能改變我們進行機器學習的方式,而Nim絕對是進階腳本的一個巨大創變者。

Python也有儲存期限?它在腳本領域的“大佬地位”還能持續多久?Python的用途是什麼?Python的缺點Python的好處Python會壽終正寝嗎?其他程式設計語言結論

圖源:(

https://nim-lang.org/)

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

進步大有可能。

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

結論

Python也有儲存期限?它在腳本領域的“大佬地位”還能持續多久?Python的用途是什麼?Python的缺點Python的好處Python會壽終正寝嗎?其他程式設計語言結論

應該學習Python嗎?

答案毋庸置疑。

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

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

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

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

加油,你是最棒的~

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/live

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-05-06

本文作者:讀芯術

本文來自:“

51CTO

”,了解相關資訊可以關注“