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
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com