未來5年,Python發展前景如何?
Python的發展趨勢如何?我要不要深學下去?
如果學的話,建議從事Python的哪個方向?
今天跟著小卓君來看一下一線技術人員的分析與解答。
因為一直在開發一線工作,經歷了好些環節,給你分享一些這些年來聽到的,自己親生感受到的一些體會,我想你應該就會明白Python的發展會達到什麼樣子的一個程度了吧。
這一兩年Python在業內大火, 我一直思考火的原因是什麼,除了雲計算幫Python帶了一波節奏外,還有沒有其它原因呢?
必然有,我認為還有一個主要原因就是近幾點互聯網創業熱情高漲,千千萬萬程序員聽了各種創業雞湯,辭掉了大公司安穩工作玩創業,13、14、15年的成都軟體園D區靈感咖啡那叫一個熱鬧,基本每天都很多人在那裡討論創業項目,和投資人各種的吹牛逼,當時大家都急著要把東西快速開發出來去拿融資,那時的投資人腦子也是熱呀,大批大批的錢投給各創業公司,供他們各種現金補貼搶用戶。
時間就是金錢,大家恨不得今天剛有了idea,明天產品就能上線,產品晚上線一個月,可能戰爭就跟你沒關係了。 因此,一門開發效率極高的語言就此進入開發者眼帘,開發者們因為猶如神助,開發效率不知道比C、Java高到那裡去了,眾多創業公司首選 Python做為開發語言,雖然那些創業公司大多都 失敗了,但是催生起了Python在國內大熱的前戲。從這裡可以看出Python是開發效率較高的一門語言。
雖然Python的開發效率較高,但是早年的Python的運行速度相對於其他語言要慢一些也是被很多程序員詬病Python的主要原因,但最近幾年PyPy解釋器在不斷的提高著Python的運行速度 ,通過PyPy運行的程序,在某些場景下速度直接逼近C語言,相信再過幾年,Python的運行速度將不再是問題。另外,由於近些年CPU處理速度的快速發展,編程語言本身的快慢在大多數業務場景下已不再被做為主要考量(除了對響應速度極為敏感的業務,如搜索),因此,可以看出Python在追求運行速度快上也是有所考慮的。
最後一個就是Python的功能,由於環境機制和語言特性,讓Python強大起來是分分鐘的事情,只要會配置源,會配置環境,開發就會變得非常簡單了,這是導致Python大火的另一個主要原因之一,Python的標準庫和第三方庫強大到你無法想像,無論你想從事任何方向的技術編程,你幾乎都能找到相應的庫支持,以下僅舉幾個栗子:
WEB開發:最火的Python web框架Django,支持非同步高並發的Tornado框架,短小精悍的flask、bottle、Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web框架)。
網路編程:支持高並發的Twisted網路框架, py3引入的asyncio使非同步編程變的非常簡單。
爬蟲:爬蟲領域,Python幾乎是霸主地位,ScrapyRequestBeautifuSoapurllib等,想爬啥就爬啥。
雲計算:目前最火最知名的雲計算框架就是OpenStack,Python現在的火,很大一部分就是因為雲計算。
人工智慧:誰會成為AI 和大數據時代的第一開發語言?這本已是一個不需要爭論的問題。如果說五年前,Matlab、Scala、R、Java 和 Python還各有機會,局面尚且不清楚,那麼五年之後,趨勢已經非常明確了,特別是前段時間 Facebook 開源了 PyTorch 之後,Python 作為 AI 時代頭牌語言的位置基本確立,未來的懸念僅僅是誰能坐穩第二把交椅。
自動化運維:問問中國的每個運維人員,運維人員必須會的語言是什麼?10個人相信會給你一個相同的答案,它的名字叫Python。
金融分析:我有個朋友之前在金融行業,10年的時候,他們公司寫的好多分析程序、高頻交易軟體就是用的Python。到目前,Python是金融分析、量化交易領域裡用的最多的語言。
科學運算:你知道么?97年開始,NASA就在大量使用Python在進行各種複雜的科學運算,隨著NumPy、SciPy、Matplotlib、Enthought librarys等眾多程序庫的開發,使的Python越來越適合於做科學計算、繪製高質量的2D和3D圖像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用範圍更廣泛。
遊戲開發:在網路遊戲開發中Python也有很多應用。相比Lua or C++,Python 比 Lua 有更高階的抽象能力,可以用更少的代碼描述遊戲業務邏輯。與 Lua 相比,Python 更適合作為一種 Host 語言,即程序的入口點是在 Python 那一端會比較好,然後用 C/C++ 在非常必要的時候寫一些擴展。Python 非常適合編寫 1 萬行以上的項目,而且能夠很好地把網遊項目的規模控制在 10 萬行代碼以內。另外據我所知,知名的遊戲<文明>就是用Python寫的。
列舉這麼多之後,你會發現,Python幾乎在上述每個領域都做的非常優秀,這是一門真正意義上的全棧語言,即使目前世界上使用最廣泛的Java語言,在很多方面與Python相比也遜色很多!我目前還看不到有哪門語言,能同時在如此多的領域能做出這些成績。所以,大膽來吧,不會錯。
推薦閱讀:
※[精華]Python distribution打包
※Python基本數據類型之「數」
※python學習筆記-字典
※Python爬蟲實戰之(六)| 模擬登錄拉勾網
※pandas實戰3--分析酒類消費數據與美國犯罪數據