歡迎光臨
每天分享高質量文章

相較其他語言,Python到底好在哪兒?

源 | 頂級程式員 (微訊號:TopCoding)

編譯 | 侯敏霞、謝忱、王一丁

原文:https://www.cleveroad.com/blog/python-vs-other-programming-languages

就個人發展而言,選擇學習的技術與要就讀的大學可謂同等重要。如果決定做錯了,那往往會收到一堆麻煩,而不是想要的高薪工作。我想,現在你點開這篇文章,就代表你已考慮選擇Python開發作為未來的就業方向。

這篇文章中,我們將透過探究“資訊科技”本身來找出Python與其他語言相比所具有的優勢,透過對比Python和Java、Ruby、PHP以及C#之間的差別讓你瞭解你需要瞭解的技術方面。在進行比對之前,讓我們先來看看為什麼要用Python以及誰在用它。

Python都被用在哪兒?

自40年前Python建立以來,基於此項技術的網站和軟體專案已經有了數千個。Python由於其獨特性使其在各種程式語言中脫穎而出,在全世界擁有大量擁躉。

Python的優點是什麼?

1. 簡單
我們可以說Python是一種簡約的語言。寫和讀是非常容易的。當需要考慮問題的時候,開發人員可以關註問題,而不是語言和語法。

2. 免費

Python是免費且開源的。這意味著開發人員無需支付任何費用。他們可以共享、複製和更改。這一事實也幫助Python建立了一個非常強大的社群,而且免費會讓它變得更加強大,開發技術也會飛快。社群也為專業人士與初學者提供了知識和經驗的分享交流平臺。

3. 相容性
Python與眾多平臺相容,因此開發人員不必擔心其他語言經常出現的任何問題。

4. 面向物件

Python支援面向過程以及面向物件的程式設計。在面向過程的程式設計中,開發人員應用可重用的程式碼段。面向物件程式設計使用基於資料和功能的物件。儘管OOP語言通常非常複雜,但Python做到了簡單和整齊。

5. 函式庫

Python社群為Python建立了豐富多樣的庫。在他們的幫助下,你可以管理檔案、執行單元測試、資料庫、Web瀏覽器、電子郵件、加密、圖形使用者介面等等。所有這些東西都包含在標準庫中,除此之外,還有很多其他庫可用。

在哪裡使用Python語言?

多年來,Python一直處於各種流行程式語言排名的前列。該語言幾乎可以用於任何事情。它旨在提高程式員的生產力,而不是他們編寫的程式碼本身。Python可以用於Web、桌面應用程式開發、自動化指令碼、複雜計算系統、科學計算、生命支援管理系統、物聯網、遊戲、機器人、自然語言處理等等。

對於那些從未寫過程式碼的人來說,Python程式碼也很簡潔易懂。也正因為這個原因,與其他語言相比,使用Python編寫的程式其可維護性也是很不錯的。從商業角度來看,這也可以很大程度上在降低開發成本的同時提高程式員的生產力。

誰使用Python?

Python開發人員社群不斷壯大,語言庫的數量也在不斷增長。這一切都使得Python成為世界上功能最多的程式語言之一,可以輕鬆適用於任何專案。同時我們也應認識到:Python在資料挖掘和機器學習等領域中十分流行。

為了更好認識使用Python較其他語言的所有優點,我們將Python與最流行的其他Web技術做一下比較,先從PHP開始。

Python vs PHP

從發展的角度來看,PHP是一種面向網路的語言。一個PHP應用程式更像是一組單獨的指令碼,甚至可能只有一個語意入口點。與此相應的是,Python是一種多用途的語言,它也可以用於Web開發。基於Python的Web應用程式是一個成熟的應用程式,用它的內部狀態,從查詢到請求,都載入到記憶體中。在選擇Python或PHP作Web應用程式時,應參考以下特徵:

Python

PHP

流行程度

非常流行

非常流行

框架

許多框架

較少框架

學習

易學

難學

Python與PHP的Web開發比較

1、 流行度

現在,要做到符合趨勢或潮流,意味著要很多屬性。一些客戶和產品所有者只想在他們的專案中使用最受歡迎和最流行的技術。在此情況下,如果只顧搞開發但不管技術方向,很可能最終的結果就是沒有客戶和工作。

也就是說,在學習任何東西之前,要確保要學的東西在未來1年、5年甚至10年內都符合潮流。

PHP和Python是世界上最流行的程式語言之一,這無需擔心。PHP被用來構建維基百科、雅虎、WordPress、Friendster、MailChimp、Flickr等許多巨頭。

Python則被用於構建YouTube、Instagram、桌面版的Dropbox、Reddit、Bitbucket、Quora、Spotify、Pinterest、Facebook的內部服務以及PayPal!
2、架構

在你選擇技術時,各種工具也非常重要。它定義了你工作的簡單性和便利性。如果一項技術為不同的任務提供多種工具,程式員可以確信他不必從頭開始做所有事情。

最流行的PHP框架是Laravel、Symfony、CodeIgniter、Yii 1和2、Phalcon等等。這些工具可以幫你建立功能強大且整潔的應用程式。 而Python則不能自誇擁有如此多的框架。用的最多的是Django和Flask。 但是,我們可以向你保證,由於Python社群的不斷發展,這種局面很難快就會發生變化。

3、學習

這通常是學生想要弄清楚的第一個問題。學習過程越容易,他們能越快開始工作和賺錢。

當然,這個類別的獲勝者是Python。它的語法更簡單易學。不幸的是,我們不能對PHP說同樣的話。PHP需要更多的時間和精力來掌握。Python可以讓你在沒有程式碼中斷的情況下幾乎不出現錯誤,它使新手更有信心繼續學習。

從新手的角度來看,你如果想要選擇更簡單、更靈活,那麼Python是最理想的。Python允許你建立安全的應用程式,而PHP要達到這個目的則需要額外的工具。但別忘了,PHP是專門為Web開發而建立的,在這方面應用得更多。

Java與Python哪個更好?

一些開發人員聲稱Python比Java更有生產力。但更應先說明的是:Python和Java有什麼區別?

Python vs Java

Python

Java

學習

易學

難學

跨平臺應用

不同作業系統的相容性

基於網路的應用

Java是一個典型化的程式語言,這意味著變數名必須顯示宣告。相比之下,我們有動態型別的Python,它不需要宣告變數。對於程式語言的動態和靜態型別有很多爭論。

不過請註意這樣一個特徵:Python是一個有著簡單句法的多樣性的語言。這使得Python被廣泛應用於多個領域來寫指令碼,快速開發應用等等。

Java支援跨平臺應用,而Python幾乎與所有現代作業系統相容。Java對於初學者來說要比Python複雜很多。讀Python程式碼也比讀Java程式碼簡單。但是,如果你想讓你的程式碼在哪裡都能執行,那就選Java。Java的另一優勢就是能建立基於網路的應用程式。

Java比Python複雜得多。如果你沒有技術類的背景,學Java是個很艱難的過程。另一面,Java能使用在不同環境中。如果這個特點是你需要的,那就用Java吧。

Python vs C#

Python

C#

簡單性

指令碼編寫

任何環境

只在IDE

很多個庫

很少有庫

效能

在簡單程度方面,Python 最初設計成像英語詞句的樣子,所以很多表述都非常易讀,尤其當用了合適的變數名時。此外,因為陳述句的簡單,Python沒有類似句法括號、大量單字修飾詞、各種C類結構和初始化變數的不同方法等複雜結構。這些都使得用Python寫出的程式碼容易理解和學習。

同時,由於語言的遺傳,C #有很多來自C++和java的東西,比如很多類C的語法表達。更重要的是,當你編寫自己的方法或繼承類時,C#語法會有必要遵循一定的規則,這是伴隨著另一個字修飾符流的。人們也不應該忘記應該用括號包裝的程式碼塊。這些東西Python不全都有,它使用移位,使程式碼看起來同樣整潔。

至於指令碼編寫,可能值得一提的是,Python呼叫指令碼的程式實際上是指令碼,它們只是擁有能由直譯器輕鬆執行的程式碼的檔案。我們可以在任何編輯器中開啟它們,與它們一起工作,然後立即再次執行。如果沒有IDE或編譯器,這將是一個巨大的優勢。此外,用Python編寫跨平臺指令碼更容易,甚至不需要重新編譯。

但是,作為Python的一個劣勢,我們強調在指令碼上使用機器安裝解釋程式的必要性。或者,至少一個直譯器與指令碼一起打包在一個包/可執行檔案中。因此,它會將指令碼的大小從幾個千位元組增加到十幾兆位元組。一次性使用不太方便。

反過來,C#要求IDE進行正常程式設計。作為C#的一個優點,當你為Windows編寫指令碼時,它對Windows系統的各個元件有很強的支援。例如,有內建的工具來處理登錄檔、WMI、網路等。C#允許你使用WinForms,如果立刻需要,它能很容易建立一個圖形介面。              

關於Python或C#哪種語言更好這個問題,沒有正確的答案。Python比C#更容易學習,它有更多的開源庫。然而,C#的標準庫優於Python,C#具有更多的特性,效能更高,並且進化得非常快。

Ruby和Python是最受歡迎的首選語言

Ruby是搭建網站的極其流行的技術。最有名的例子是推特 (早期版本), Basecamp, Github, Airbnb, Slideshare 和 Groupon.

Python

Ruby

解決問題的方法

一種解法

多種解法

社群

巨大

巨大

句法

非常簡單

複雜一些

Ruby和Python都是面向物件的、動態靈活的語言。這兩種語言的主要不同在於它們解決問題的方式。Ruby會提供不同的解決方法而Python通常只有一種。這一特點可以是優勢也可以是劣勢。

Ruby最流行的框架是Ruby-on-Rails. 它跟Django非常類似,因為這兩個框架是為一樣的任務而設計的。如果我們比較這些技術的社群,我們會發現它們是差不多的。但是,組建這些小組的人群是不同的。Python在資料科學和數學領域非常受歡迎,所以你能碰到很多學者和教授。

記住,在網路應用開發方面,你在RoR裡能做的事,你在Django裡同樣都能做。這兩個語言都很快速高效。如果你有興趣開發需要大量計算和資料處理的應用,那Python是更好的選擇。Ruby更能幫助建立路線繁多的應用。

任何一個技術成功的秘訣是其周邊建立的社群。人際合作可以決定其未來的演變方向。Python技術支援小組是世上最大最多樣的小組之一。

小組裡不僅有上千個個人開發人員,還有超級大公司的支援,比如谷歌, Yandex, Dropbox, Mozilla, 微軟 (在 Visual Studio裡使用), 英特爾等等。這些公司用Python創造了世上最大和最流行的專案。

如上是我們提供給你用作參考的資訊。現代程式語言的多樣性給了你許許多多的選擇。你今天的選擇奠定著你未來職業生涯的道路。我們幫不到你太多,只能建議你對自己要做的專案有清晰的認識,並且選擇最適合的技術。

-END-

譯者:候敏霞

軟體工程專業–雲端計算與大資料方向,擅長java後端開發和Python程式設計,喜歡結交志同道合的朋友,一直相信:越努力,越幸運,more efforts,more happiness。

譯者:謝忱

紐約州立大學石溪分校本科畢業,應用數學統計與經濟學雙專業。喬治華盛頓大學資料科學專業研究生在讀。擅長python程式設計和web前端開發。

校對:王一丁

本科CS,水過ACM和數學建模,現在內蒙古自治區大資料發展管理局工作,加班使我快樂。歡迎來我區、我局洽談工作。


●編號402,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

演演算法與資料結構

更多推薦18個技術類公眾微信

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂