工作難不是因為Python,而是因為僅僅依靠自己捉襟見肘的Python瓦宜。
Python:一直被唱衰、一直很堅挺
咱們先看一下2019年4月PYPL(編程語言受歡迎程度)最新的編程語言使用排名岭妖,Python居于第1临庇,而且保持著上升的趨,而Java居然稍微的降低了點昵慌。
再看看TIOBE社區(qū)編程走勢圖假夺,最近Python的增長勢頭同樣非常強勁。
再看看開發(fā)者最受歡迎的編程語言斋攀,Python僅次Rust排在第二已卷。這也說明了Python依舊熱度不減。
So, Python如果真的那么差勁為什么還如此受歡迎淳蔼?
哲學家黑格爾曾說過:存在的即合理侧蘸。如果Python真的一無是處裁眯、漏洞百出,又怎么能夠經(jīng)得起碼農(nóng)們的推敲呢(正經(jīng)臉.jpg)讳癌。
Python既然經(jīng)久不衰穿稳,自然有它自己的獨特之處:
簡單易用、節(jié)省時間
豐富的第三方工具包
強大的社區(qū)
應用場景豐富
其他三個方面暫且不說晌坤,就說一些第一點逢艘,簡單易用、節(jié)省時間骤菠,我覺得有這一個理由就足以吸引很多人它改。尤其是對于算法、測試等崗位商乎,真正的耗費心思的并不在編程央拖、開發(fā)這一塊,編程語言是用來驗證算法的可靠性的截亦,但是沒有這個編程語言爬泥,自然無法驗證,這就體現(xiàn)出有一個簡單易用的語言有多么重要了崩瓤。
吳恩達在《機器學習》這么課程里提到“硅谷的工程師大多數(shù)都會選擇一個簡單的編程語言對自己的算法進行驗證袍啡,當確認有效之后會用c/c++等語言重新實現(xiàn)一遍”,這足以提現(xiàn)Python語言簡單易用的優(yōu)點却桶。
Python距離第一個版本發(fā)布以及有28年境输,唱衰的言論從未間斷,但是依舊堅挺颖系。
尤其是機器學習的大規(guī)模應用嗅剖、國家把人工智能智能技術上升到戰(zhàn)略層次,使得Python稱為獨樹一幟的編程語言嘁扼,雖然這兩年Go信粮、Julia號稱性能更好、更加易用趁啸,但是一直無法撼動Python在機器學習領域的地位强缘,很難望其項背,為什么不傅?我認為最主要的原因就是擁有強大的用戶基礎÷玫啵現(xiàn)在在大多數(shù)企業(yè),從事算法相關崗位的清一色的使用Python访娶,更別說計算機視覺商虐、自然語言這些強依賴Python第三方庫的方向。
看看Python開發(fā)者的平均薪資:
從人員需求量和平均薪資待遇可以看出來,Python目前都是炙手可熱的秘车。
每個編程語言都有不足之處
提到Python典勇,有不少人都會露出不屑:
Python速度太慢了
Python太簡單、太low了
如果你僅僅盯著一個事物的缺點鲫尊,當然看它哪里都不順眼痴柔,你不用Python、看不上Python就覺得Python什么都不是疫向,未免太武斷了咳蔚。就拿這兩年被熱炒的Julia來說,雖然號稱"完美"搔驼,但是在發(fā)布之后經(jīng)過Facebook的軟件工程師Victor Zverovich測試之后也做出了"give up julia"的結(jié)論谈火。
無論哪種語言,都有著自身的不足舌涨,C/C++糯耍、Java都不例外,Go囊嘉、Julia這些年輕語言也是如此温技。存在不足,但是依然被大規(guī)模使用扭粱,說明它的優(yōu)點足以掩蓋它的不足舵鳞。另外,我認為對于一個開源的語言琢蛤,最大的動力來自于社區(qū)蜓堕,不斷的發(fā)現(xiàn)不足、改進不足博其,比如套才,Python 3.x開始在規(guī)范方面就明顯要比2.x好很多,在可移植性慕淡、可擴展性背伴、開發(fā)效率、可嵌入性等方面做的更加友好峰髓、完善傻寂。
因此,我認為Python在簡單易用儿普、節(jié)省時間崎逃、豐富的第三方工具包掷倔、強大的社區(qū)眉孩、應用場景豐富、用戶基礎等方面有著很難逾越的優(yōu)勢。所以浪汪,工作難巴柿,并不是因為Python。
無論哪種語言死遭,都有著自身的不足广恢,C/C++、Java都不例外呀潭,Go钉迷、Julia這些年輕語言也是如此。存在不足钠署,但是依然被大規(guī)模使用糠聪,說明它的優(yōu)點足以掩蓋它的不足。另外谐鼎,我認為對于一個開源的語言舰蟆,最大的動力來自于社區(qū),不斷的發(fā)現(xiàn)不足狸棍、改進不足身害,比如,Python 3.x開始在規(guī)范方面就明顯要比2.x好很多草戈,在可移植性塌鸯、可擴展性、開發(fā)效率猾瘸、可嵌入性等方面做的更加友好界赔、完善。
光會Python是很難找到一份好工作的牵触,Python是最佳的輔助工具淮悼,第一輔助編程語言。從市場需求上看揽思,雖然有Instagram袜腥,豆瓣,知乎等大公司以Python為主要技術棧钉汗,但是畢竟不是大多數(shù)羹令。所以,光學會Python是不夠的损痰,而不會Python也是不行的福侈。但是我認為,如果作為程序員可以且只能選擇一門編程語言卢未,那我會選擇Python肪凛,因為它能應對的業(yè)務場景確實多很多堰汉。