來自:36氪 連結:http://36kr.com/p/5115125.html 原文連結:https://news.codecademy.com/why-learn-python/
編者註: 根據維基百科的解釋,”Python是一種廣泛使用的高階程式語言,由吉多·範羅蘇姆創造,第一版釋出於 1991 年。Python 的設計哲學強調了程式碼的可讀性和簡潔的語法。” 隨著大資料,人工智慧的興起,越來越多的人也開始研究起這門語言。以下這篇文章編譯自Alexus Strong 在線上學習程式設計網站Codecademy 上發表的文章Why I’m Learning Python in 2018
我們可能會說,Python在2017年“出了一陣風頭”。畢竟該語言最近的發展趨勢,令人難以忽視。
主要程式語言的增長趨勢 圖片來自 Stack Overflow
然而,“出了風頭”意味著對該語言的興趣可能會被放緩。 但有什麼理由會讓人相信明年的這個時候Python將不會受歡迎呢? 這是我想要回答的問題。
為什麼? 簡而言之,我正在尋找一種新的程式語言。 我在大學裡學了幾門Java課程,但我好幾年沒用過。 我學習了HTML和CSS, 但我現在正在尋找一種可以用於Web開發以外的語言。 最重要的是,我要確保今天學習的東西在今後五年也能用上。
所以,不僅為我自己,為了每一位學員,我決定深入探討一下Python之興起背後的原因,來試圖瞭解為什麼今天有這麼多的人在學習該語言,明年是否還是同樣的理由,這些答案對你,對我以及我們的事業,又意味著什麼。
Python的興起
程式語言總是來了又去了。 Python最近的受歡迎程度,令人著迷。不久前,很多人認為它已經死了。
1999年,Perl程式語言的創始人拉里·沃爾(Larry Wall)向其堅實的粉絲們發表了他的第三個年度主題演講。 在演講中,他公佈了在職業網站dice.com上繪製的對各種語言的需求:
圖片來源: wall.org
正如你所看到的,那時Python沒有被登記。作為一個很偏門的語言,Python當時幾乎沒有什麼知名度。沃爾特稱:“對Python程式員或許根本沒什麼大量需求,而且,Python程式員很容易找到,根本不用在dice.com登廣告。”
有趣的是Python變得更強大了。 去年秋天,堆疊上限溢位(Stack Overflow)證實,在他們的網站上,有關Python問題的訪問者的數量,增長得比其他任何語言的都快,這讓Python有資格聲稱它是世界上增長最快的主要程式語言之一。
在Codecademy上註冊免費Python課程的使用者人數,也顯示出對這一說法的支援 – 目前正在Codecademy上學習Python的使用者數量比去年同期增加了34%。
那麼,為什麼該語言如此迅速地受到歡迎呢?
圖片來源: languagehealth.com
為什麼是Python?
Stack Overflow將其歸結為一個主要原因:Python的興起與人們對資料科學興趣的興起相關。
他們的分析非常吸引人,值得一讀,但是太長了,別讀了:D, 簡而言之,“Python在資料科學和機器學習方面的普及可能是其快速發展的主要動力。”我不會多費口舌來介紹了,這兩項是 2017年最令人矚目的技術趨勢。
不過,這裡仍有一個重大問題。 有其他大量程式語言,如SQL和R,可以在資料科學領域一展拳腳。 但為什麼這麼多人選擇了Python呢?
一個主要的因素是Python的多功能性。 有超過125,000的第三方Python庫。 這些庫使得Python從從事傳統的(例如web開發,文字處理) 到最新的(例如AI和機器學習)特定任務變得更為上手。 例如,生物學家可能會使用Biopython庫來幫助他們進行基因測序。
此外,Python已經成為資料分析的首選語言。 對於像pandas,NumPy和matplotlib這樣以資料為中心的庫,任何熟悉Python語法和規則的人都可以將其部署為處理,操作和視覺化資料的強大工具。
我們的資料分析課程開發人員和Codecademy的首席資料科學家Hillary Green-Lerman每天都在使用這些Python庫。 作為一名資料科學家,她將Python描述為一種程式語言中“一種非常美妙的,吸取了各種長處的工具”。
“如果你想做簡單的事情,那可能是一行程式碼。 如果你想做一些非常複雜的事情,你也能很好地控制它。“
鑒於其對資料分析的多功能性和適用性,一個每一天都變得越來越重要的技能,我很清楚,Python將佔據重要位置。 所以如果對資料的讀寫是我的首要任務之一,那我應該開始使用Python嗎?
主修商科的人學習Python
Hillary把Python稱為程式語言中“一種非常美妙的,吸取了各種長處的工具”,因為它可以做她所需要的東西,但她是一名專業的資料科學家。 我不是,所以我的要求和她的要求會有些不同。 Python能否給像我這樣的人的帶來任何好處呢?
我不想為了成為一名資料科學家,或是軟體工程師而學習Python。 相反,我的標的更專註於提高對資料分析的掌握水平,為Web開發使用程式設計的技能,或是為我今後職業生涯中可能出現的任何其他技術需求而做好準備。
我不是唯一一個有這種想法的人。 越來越多尋求程式設計知識的人不希望成為全職的軟體開發人員或資料科學家。 相反,營銷人員,專案經理和企業家等一些專業人士正在使用程式設計的技巧來更好地從事他們的工作。 這些人或是正在尋找最新的知識,或是沒有時間為每個目的而學習一種新的程式語言。
Python在非技術領域吸引了我們這些人,在不受任何限制的情況下,它可以輕鬆地實現資料分析功能,這成為商業世界中越來越重要的技能。
福布斯報道說,“資料驅動的決策越來越受歡迎。 而在過去的幾年裡,分析師們一直在使用像Excel這樣的軟體來分析資料,只有學者才會轉向SPSS,Stata等工具,現在這種情況正在改變。
即使作為一名內容營銷人員,根據市場營銷專家Andrew Chen的說法,透過學習資料,我可以更好地工作。
“增長駭客“的新職位正在融入矽谷的文化,強調編碼和懂得技術正成為一個偉大的營銷人員的重要組成部分。 陳說,增長駭客是營銷和編碼的混合體。 “他們將直接營銷的側重點置於量化測量的基礎上,透過電子錶格來進行模型設計以及大型的資料查詢工作。”
當你讀到“資料庫查詢”時,會想到SQL,Python和R。 學習Python,似乎是許多做類似像我這樣工作的人已經採取了的行動。
所以,下一個問題:我可以學習Python嗎? 正如我前面提到的,我的編碼技能沒有什麼可寫的。 謝天謝地,Python是學習程式設計的首選語言。 原因很簡單,它直接,而且有很多已經建立起來的免費資源,使得學起來很容易上手。
它有些近似嚴格的語法規則使它保持了程式碼的一致性,所以不同人之間的程式碼看起來相似。 即使是缺乏經驗的人,也可以很方面的去閱讀。
假設我想用Python 3列印下麵一段。我會寫:
print (“On the other hand, if I wanted to print the next paragraph in C++, I would have to write:”)
#include
int main() {
std::cout << "All of that’s to say, Python is pretty simple in comparison.";
}
Python社群也很歡迎菜鳥程式員。 正如Hillary所描述的那樣,語言本身和圍繞它的社群有這樣的態度:”不要擔心,如果出現問題,我們會保護你。“
儘管Python對於初學者來說非常棒,但它也擁有完成高階工作所需的全部功能。
Hillary每天都在使用Python來處理和分析數百萬來自Codecademy的學員的資料,她說:“你真的可以用Python做所有事情,有許多真正的,嚴謹的人在使用它。”她繼續說:“Python會和你一起成長。開始會很容易,但當有一天,你決定要做自然語言處理,機器學習或者TensorFlow時,它也會變得非常相關。 你也可以做到這一切,因為它是一個完整的語言。“
在我們的“2017年全球未來工作報告”中,我們發現,我們的學員正朝著Python方向發展,然後就沒再離開。 已經使用Codecademy學習過其他語言的人(40%)要學習Python, 這比學習過Python的人要學習其他語言(25-30%)的比例要高。 這個資料看起來和Hillary的觀點是一致的 – 你可以用Python做很多事情,這可能是像我這樣的人唯一需要的語言。
所以接下來呢?
我清楚地知道,Python是程式語言的瑞士軍刀 – 一種多用途的工具,可以用於任何職業。 出於這個原因,我相信它不會很快地消失。
對於新手程式設計員,市場營銷人員,業務分析師,銀行家以及任何想要更多使用資料的人來說,這都是理想之選。 所以,我知道接下來我將學習哪種語言 – 這個入門課程只需要13個小時。
準備和我一起開始使用Python嗎? 我們的免費Python課程將帶你從基本的語法到更高階的概念,比如迭代資料結構。 就像Python本身一樣,這個課程的設計可以讓你發展到你所想要的深度,無論哪個方向對你和你的職業生涯都是有利的。
如果你有興趣將Python應用於資料科學和分析的話, 在我們的“資料分析專業強化課程”中,你將學習如何使用像Hillary每日使用的Python庫 – 熊貓,Numpy,SciPy和Matplotlib來操作,分析和視覺化資料。
●編號417,輸入編號直達本文
●輸入m獲取文章目錄
演演算法與資料結構
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。