爲什麼每個人都應該在2020年學習Python?

如今每個人都在談論 Python,包括那些曾經對Python嗤之以鼻的人。本文作者Javinpaul原是一名Java狂熱粉,他以前還曾號召大家學習Java 而不是 Python。如今他的態度卻來了一個一百八十度的大轉變,現在的他認爲每個人都應該在 2020 年學習 Python,這究竟是怎麼回事?他的態度爲什麼會產生如此大的轉變?讓我們來一探究竟!

如果你經常關注我的博客的話,那麼你可能會感到奇怪,爲什麼我要專門寫一篇博文,號召大家去學 Python 呢?因爲幾年前,我不是說過讓你們學 Java 而不是 Python 嗎?

從那以後,事情發生了很大變化。2016 年,Python 取代了 Java,成爲高校中最受歡迎的語言。從那時起,它就沒有再掉落過。

Python 如盛壯之時的騏驥,一日而馳千里。如果你經常閱讀編程和技術新聞或博客文章,那麼你有可能已經注意到 Python 的崛起,因爲許多流行的開發者社區,包括 StackOverflow 和 CodeAcademy,都提到了 Python 作爲主要編程語言的崛起。

但最大的問題是,爲什麼程序員應該學 Python 呢?沒錯,Python 正在增長,這很好,但這並不意味着 Java 或者 C++ 會如西風落葉般衰落。

我是一個驕傲的 Java 開發者,Java 是我最喜歡的編程語言,並且一直如此,但是,這並不妨礙我們學習潛在的新工具和編程語言,這將會使你成爲更好的程序員,而 Python 正好符合這一要求。

對於初學者來說,它很簡單,從 Python 開始,因爲它很容易學習,而且功能也強大,足以構建一個 Web 應用程序,以及自動處理那些枯燥的工作。

實際上,幾年前,腳本是學習 Python 的主要原因,這也是我喜歡 Python 的第一個也是最重要的原因,比起當時另一個流行的腳本語言 Perl,我更喜歡 Python。

對於經驗豐富的程序員或已經瞭解 RubyJavaJavaScript 的人來說,學習 Python 意味着在你的“武器庫”中獲得一個嶄新的、強大的工具,我還沒有見過有哪個程序員會對工具說“No!”,當你學習一門新的編程語言時,這是正確方式。

正如 Python 經典著作 Automate the Boring Stuff with Python(有簡繁中文版:《Python 編程快速上手》(簡體中文版,人民郵電出版社,王海鵬譯)、《Python 自動化的樂趣》(繁體中文版,碁峯出版社, H&C 譯))一書所提到的那樣,Python 爲你提供了自動化處理瑣碎事務的能力,並讓你專注於更令人興奮和有用的事情。如果你還沒有讀過這本書,那麼我建議你去讀一讀,這本書值得你花時間去閱讀。(譯註:簡體中文版譯者已加上京東購買鏈接,讀者可點擊購買)

如果你更喜歡在線課程而不是紙質書籍的話,還有一門同名的在線課程也可以供你學習。

如果你是 Java 開發者,那麼你也可以使用 Groovy 來做到這一點,但是 Groovy 並沒有像 Python 那樣在 API、庫、框架以及在諸如數據科學、機器學習和 Web 開發等領域提供了廣泛的應用。

如果你已經下定決心,現在就開始學習 Python,我建議你關注一下 Chris Castiglione 開發的《一個月速成Python》(One Month Python課程,這是 30 天內成爲 Python 開發者最簡單的課程之一。

爲什麼程序員要在2020年學習Python?

如果你正在考慮學習 Python,但又不確定爲什麼要這樣做的話,那麼以下十個理由強調了在 2020 年學習 Python 的好處。

不過,這些問題取決於是誰提問的問題,對於初學者來說,學習 Python 是有意義的,因爲學習 Python 很簡單,簡單也是學習 Python 的主要原因。

同樣,對於一個希望進入數據科學和機器學習領域的有經驗的程序員來說,學習 Python 同樣也是有意義的,因爲它正迅速成爲最常用的編程語言,並且有強大的 API 和可用於人工智能、數據科學機器學習的庫。

無論如何,讓我們言歸正傳,下面是我認爲在 2020 年要學習 Python 的十大理由

1. 數據科學

這是許多程序員在 2020 年學習 Python 的唯一、最大的原因。我知道有許多朋友對投資銀行的 Java 編程工作感到厭倦,他們正在 Udemy 學習 Python,以便能夠在數據科學領域謀得一席之地,因爲這一領域的工作不僅令人興奮,而且薪水也頗高。

但是,爲什麼 Python 會成爲數據科學和機器學習的首選語言呢? 不久之前 R 語言不還是被認爲是最好的機器學習編程語言嗎?我認爲 Python 提供的庫和框架,比如用於人工智能、數據科學和機器學習上的 Pandas、PyBrain、NumPy,就是其中原因之一。

另一個原因就是多樣性;藉助 Python 的經驗,你可以做出比 R 更多的事情,比如,你可以創建腳本來自動化執行某些內容、進行 Web 開發等等。

如果你有興趣在 2020 年成爲數據科學家,並尋求指導的話,我建議你在 Udemy 上看看數據科學、深度學習和機器學習的 Python 課程 。我已經購買了這門課程,這是一個很棒的資源,有時候你可以用不到 10 美元的錢買下這門課程。

2. 機器學習

這也是程序員在 2020 年學習 Python 的另一個原因。在過去的幾年裏,機器學習的發展如撐霆裂月,驚魂奪魄,它正迅速改變我們周圍的一切。

算法的複雜性日甚一日,最好的例子就是 Google 的搜索算法,它現在可以回答你所期望的。到處都有聊天機器人可以回答你的提問,Uber 完全是由算法驅動的。

如果你對機器學習感興趣,想做一個寵物項目,或者只是想玩一玩,Python 是唯一一種能使之變得簡單的主要編程語言。

儘管 Java 也提供了機器學習庫,但你會發現關於 Python 的內容更多,因爲開發者社區更喜歡 Python,而不是數據科學和機器學習相關的其他任何內容。

如果你對使用 Python 進行 Web 開發感興趣,我建議你在 Udemy 上了解一下《機器學習入門到精通:數據科學的 Python 與 R 的實踐》(Machine Learning A-Z™: Hands-On Python & R In Data Science)課程。

3. Web 開發

良好的傳統開發是學習 Python 的另一個原因。它提供了很多優秀的庫和框架,比如 DjangoFlask,這使得 Web 開發變得非常簡單。

PHP 中需要耗時數小時的任務,在 Python 中只需幾分鐘即可完成。Python 也經常用於網頁抓取。互聯網上一些流行的網站,如 Reddit,就是使用 Python 構建的。

如果你對使用 Python 進行 Web 開發感興趣,我建議你參加 JoshPortilla 的 《Python 和 Django 全棧 Web 開發者訓練營》(Python and Django Full Stack Web Developer Bootcamp)課程。

實際上,Udemy 上有一門免費的 Python 課程,在教你 Python 的同時也會教你 Web 開發。

4. 足夠簡單

這是初學者學習 Python 的最大原因。當你第一次開始編程和編碼時,你肯定不想一開始就使用一種語法複雜、規則古怪的編程語言開始。

Python 既可讀,又簡單。它也更容易設置;你不需要處理像 Java 這樣的類路徑問題或者像 C++ 這樣的編譯器問題。

只需安裝 Python,即可完成。在安裝時,它還會要求你在 PATH 中添加 Python,這意味着你可以在機器上的任何地方運行 Python。

5. 龐大的社區

你需要一個社區來學習新技術,在學習編程語言時,朋友是你最大的財富。你經常遇到這樣的或那樣的問題,這時候,你需要的是一隻援助之手。

多虧了 Google,你可以在幾分鐘內找到任何 Python 相關問題的解決方案。像 StackOverflow 這樣的社區也聚集了很多 Python 專家來幫助新手。

6. 庫和框架

Python 和 Java 之間的一個相似之處就是有可以用來做任何你想做的事情的開源庫,框架和模塊的數量衆多。它使應用開發變得非常容易。

想象一下,構建 Web 應用,在 Java 中不使用 Spring,或者在 Python 中不是用 Django 和 Flask,會怎麼樣?有了庫和框架的加持,會使你的工作變得簡單,因爲你只需關注業務邏輯。

針對不同的需求,Python 還有許多庫。Django 和 Flask 是 Web 開發中最受歡迎的兩個庫,而 NumPy 和 SciPy 是用於數據科學的庫。

事實上,Python 擁有最好的機器學習和數據科學的庫,如 TensorFlowScikit-LearnKerasPandas 等等。

如果你想了解更多關於 Python 機器學習庫的知識,我建議你參加《面向數據科學和機器學習的 Python 訓練營》(Python for Data Science and Machine Learning Bootcamp)課程,這是我喜歡的課程之一。

7. 自動化

我第一次瞭解 Python 是由於我的一個腳本需求。那時候,我正處理一個通過 UDP 接收消息的應用程序,但是出現了一個問題,我們在日誌中並沒有看到消息。

我想檢查我們是否在那個機器和那個端口上接收到任何 UDP 流量,但我找不到一個方便的 UNIX 命令來做這件事。

當時,我一個朋友,就坐在我旁邊,那會兒正在學習 Python,他在短短 5 分鐘內編寫了一個實用程序,使用其中一個 Python 模塊來攔截 UDP 消息

顯然,他編寫這樣的工具所花的時間給我留下了深刻的印象,但這只是突出了 Python 在編寫腳本、工具和自動化方面的強大功能。

如果你真的想知道 Python 對自動化有多大的幫助,我推薦你看這本書,也是我最喜歡的書籍之一,這本書簡直太棒了:Automate the Boring Stuff with Python(有簡繁中文版:《Python 編程快速上手》(簡體中文版,人民郵電出版社,王海鵬譯)、《Python 自動化的樂趣》(繁體中文版,碁峯出版社, H&C 譯))。(譯註:點擊中文版的鏈接可從京東購買實體書籍)

8. 多用途

我之所以喜歡 Python,還有一個原因是它像瑞士軍刀一樣好用。它並不僅僅侷限於做一件事,比如 R,它擅長數據科學機器學習,但在 Web 開發 方面卻毫無用處。而學習 Python 意味着,你可以用它做很多事情。

你可以使用 Django 和 Flask 來創建 Web 應用,也可以使用 NumPy、SciPy、Scikit-Learn 和 NLTK 進行數據分析。

至少,你可以使用 Python 編寫腳本,來自動執行許多日常任務。

9. 工作與成長

Python 的發展日新月異,如果你剛剛開始你的編程生涯,那麼學習一門正在成長的主要編程語言就非常有意義。

它不僅能幫助你迅速找到工作,還能加速你的職業發展。依我淺見,對於初學者而言,除了簡單之外,這應該就是學習 Python 最重要的原因了。

10. 薪水

Python 開發人員是收入最高的開發者之一,特別是在數據科學、機器學習和 Web 開發方面。

平均而言,他們的薪水也很高,根據他們的經驗、地點和領域的不同,他們的收入從 7 萬美元到 15 萬美元不等。

如果你有興趣瞭解更多關於高薪技術工作的信息,我建議你閱讀我之前寫的帖子:《軟件工程師十大高薪技術職位》(ten highest-paid technology jobs for Software Engineers)。

作者介紹:

Javinpaul,Java 程序員,博客寫手,使用 Java、J2EE、UNIX 和 FIX 協議進行工作。他在 http://javarevisited.blogspot.comhttp://java67.com 分享了 Java 開發的技巧。

原文鏈接:

Why Everybody Should Learn Python in 2020?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章