沒什麼是永恆的-包括程式語言。很多看起來可能是將來的佼佼者,到頭來可能被人們遺忘。無論是因為不可抗拒的原因,還是因為自身發展的原因。
# Python時下正在「最熱門的程式語言榜」上春風得意,看起來將會成為一門不朽的語言。但現在,許多其他語言也逐漸顯現出Python的一些優點:程式設計方便,對數學和科學計算擁有強大的處理能力,龐大的第三方函式庫。
以下是Python的一些潛在的挑戰者,並討論了Python是如何保住它第一的席位的。
它是什麼:蘋果公司的一種程式語言,主要用於原生的iOS開發,但是現在已經開源,並有向伺服器端發展的傾向。
它的優點:使用Swift程式設計是一種毫無障礙的體驗!用起來相比於編譯型語言(例如,它間接的前任Objective-C)更像是一種腳本語言(例如Python)。 Swift的決定性的優點是它的速度-它是由LLVM編譯框架編譯成機器碼的,所以它有一個真正的多執行緒。 Python還在這方面掙扎。
如果說開發速度要比執行速度重要的話,Python在方面更有優勢。但是Swift有XCode IDE的「Playground」模式。
Python的優點:一方面,相較於Python來說,Swift是一門新型的程式語言,Python有所有成熟的語言所具備的有點-大量的使用者基礎,大量的函式庫,成熟的多平台支援。 Swift現在甚至還不能支援Windows(如果不算上第三方函式庫的話),雖然這是將來必定會實現的特性。 Swift也會產生對蘋果工具鏈的依賴(例如Xcode),而Python的依賴就少的很。
**它是什麼:**Google的「表現力強、簡潔、乾淨、有效率」的語言,從Docker及其相關專案到InfluxDB資料庫,Ethereum壞鏈系統和Canonical的Snappy套件管理工具都是用Go寫成的。
它的優點:和Swift一樣,Go語言也會編譯成平台相關的機器碼,所以它不僅可以在多任務方面比Python快很多,還可以在運行時不像Python那樣產生額外的目標。 Go程式碼編譯速度非常快,開發速度也很快,所以它更像一門解釋性的語言。
Python的優勢:雖然Go不像Swift那麼新——它在2009年發布——Python在用戶和庫的數量方面還是佔有優勢。此外,Go的語法和錯誤處理方式和Python相去甚遠。所以,現在Python用戶很難轉移到Go,但不會阻止新用戶選擇這樣語言。現階段,Python的安裝器讓使用和建構Python應用非常簡單——更不必說像Linux這樣的系統,Python已經成為了標準。
它是什麼:在2012年發布,是面向技術應用的程式語言,例如資料分析和線性代數。
它的優點: Python一個很大的用處是數學和科學應用——多虧了像Numpy這樣的函式庫和互動式的IPython編輯程式。 Julia的目標使用者也是同樣的群體,和Go、Swift一樣,它也比Python快。它還有一個不斷擴展的包,不僅包括科學和數學計算的應用,還有很多Python的功能,例如從雲端供應商取得數據。
Python的優點: Julia有和Python類似的庫,但是Python並不滿足現狀,還在馬不停蹄地優化語言的核心和開發環境。 Python的速度並非一定不如Julia(或其他Python的競爭者),只要針對不同的工作選擇恰當的函式庫完成,速度還是客觀的。
Julia語言本身還存在一些爭議。例如,Julia的陣列下標是從1開始的,而不是0——這不僅和Python比是一個缺點,很其他語言比起來也是。 (很多第三方的套件索引也是從1開始,但仍讓人很不習慣。)
它是什麼:無論是就開發環境還是語言本身來說,這都是一個很老的語言了。它專為統計學設計。
它的優點: R有很多Python的優點,例如有豐富的第三方函式庫等。但是R是專門為統計學而生的,並且在後面的發展中依然專注於此。 Python也可以做數學和統計學的計算,但是在這方面被R語言完全碾壓。
R語言也引起了許多大公司的注意,微軟收購了一個R語言標準實現的開發人員開服務它的雲端資料。 Hewlett-Packard開發了一種分散式的R語言運算產品,可以同時跨多個節點運行。這個產品在將來可以把Python完全擠出這個領域。
Python的優點:有時候,作為一個多用途的語言也有它的好處。 R語言的功能限制在統計計算方面。由於開發環境的限制,建構R語言應用也很麻煩,使用Python創建應用程式就很簡單。而且透過像RPy2這樣的套件可以輕鬆地將R語言和Python聯合起來。
微軟對R語言的投入很多,但是同時微軟也對Python提供了很多支持,所以這兩種語言都能在Azure上工作的很好。
原文:4 languages poised to out-Python Python
以上是Python的四位挑戰者:Swift、Go、Julia、R的詳細內容。更多資訊請關注PHP中文網其他相關文章!