老程序員來給你解析為啥python成為“網(wǎng)紅”背后的原因
近日,2018年最具就業(yè)前景的7大編程語言排行榜出爐了。這次的編程語言排行榜是由CodingDojo(編碼道場)發(fā)布。在此次的最有“錢”途的編程語言榜單上,Java排名第一,網(wǎng)紅編程語言Python排名第二,JavaScript排名第三。Python簡直可以評(píng)得上2017年網(wǎng)紅編程的語言,在此次榜單上,它又火了一把。Python加入浙江省高考,而且還成為了山東省小學(xué)生教材。
小學(xué)生都開始學(xué)的編程語言,你敢說它未來幾年不火呢?這多半也是由于:未來是AI的時(shí)代,Python語言是最接近人工智能的語言。
用python已經(jīng)不是裝逼了確實(shí)沒有錯(cuò),未來10年,如果不是python/ruby這樣的語言發(fā)展的時(shí)機(jī),那會(huì)是什么語言?主要從以下幾點(diǎn)來看待。
1. 兼容性問題
從python2到3的問題讓不少人寒了心,但guido堅(jiān)持要這樣做,因?yàn)樗J(rèn)為這是python追求簡單優(yōu)雅所必須要做的。對(duì)于沒有歷史包袱的項(xiàng)目來說,直接選擇用python3肯定是明智的。這也是為什么我前幾篇文章都是對(duì)于2的學(xué)習(xí),經(jīng)過2的學(xué)習(xí),可以為你接觸三打好基礎(chǔ),并且是對(duì)于程序的可移植性與普及性,但是對(duì)于已有項(xiàng)目,2to3、six這樣的工具也是可以解決絕大部分問題。
對(duì)于活躍的開源項(xiàng)目,小的兼容性問題不容易成為項(xiàng)目發(fā)展的瓶頸。而對(duì)于不活躍或者設(shè)計(jì)較差的項(xiàng)目,即使是使用其它語言,時(shí)間長了,也一般不會(huì)是兼容性影響它的使用。
如果說,你想寫一個(gè)完美的能立即穩(wěn)定下來并且再也不需要維護(hù)的軟件,那還是用C語言吧(換言之,這樣的東西python里不都是用C寫的嗎)
總的來說,我個(gè)人確實(shí)沒怎么在python上吃過兼容性的虧,反而對(duì)C++大包大攬時(shí)留下的坑深惡痛絕。
2. python的庫惡心?
在我接觸到python時(shí),說實(shí)話就已經(jīng)被里面的庫所俘獲了,不單單是庫,而且有python簡潔的編譯環(huán)境,以及信手拈來的方法,要是說庫惡性,不好意思,哪個(gè)庫?有C++的庫惡心嗎,有java的庫惡心嗎?
3. python的使用場合
前面已經(jīng)說過,guido是個(gè)有理想的人,他希望python在任何一個(gè)領(lǐng)域都能牛逼起來,所以python才會(huì)強(qiáng)調(diào)簡單、通用,讓你干啥都能想到它。在實(shí)際上,python也未能做到處處通殺,甚至還沒能做到在某個(gè)領(lǐng)域的權(quán)威(在云計(jì)算領(lǐng)域,python應(yīng)該已經(jīng)快了),基于語言本身的特點(diǎn),目前在運(yùn)維、大數(shù)據(jù)、云計(jì)算、web、科學(xué)計(jì)算上都還混得可以。
4. 找工作
積重難返,python更多的會(huì)在某種口味的創(chuàng)業(yè)團(tuán)隊(duì)使用,國內(nèi)的大公司雖然不大會(huì)直接招python程序員,像有些人說的那樣。但這會(huì)讓你成為進(jìn)入某些團(tuán)隊(duì)的敲門磚,從社區(qū)上的招聘廣告來看,雖然大部分的崗位需求是web后臺(tái)和運(yùn)維系統(tǒng)開發(fā)的,但web后臺(tái)又有大部分是要求django的。
python的水不深,單靠對(duì)語言本身的考察,難以分清水平高低,于是,要么需要你有豐富的經(jīng)驗(yàn),要么你有堅(jiān)強(qiáng)的毅力(比如C++學(xué)得很好)
最后,補(bǔ)充下,我在windows下用python(除了靠python在淘寶上秒殺了個(gè)手機(jī)),但每次一用就覺得別扭,也許這也是需要考慮的部分吧。
5. 逼格
(1) 用什么語言都不能證明逼格,包括匯編,也包括lisp/haskell。
(2) 在適當(dāng)?shù)膱龊嫌眠m當(dāng)?shù)墓ぞ?,解除耦合、減少重復(fù)、易于擴(kuò)展才是對(duì)逼格的更高挑戰(zhàn)。
比如有一組件對(duì)數(shù)據(jù)庫有大量操作,有人認(rèn)為他要用C++模板元編程加上一些巧妙的設(shè)計(jì)模式來生成sql是逼格高的體現(xiàn),我認(rèn)為在這樣的場景下至少要用上orm才能談得上對(duì)逼格有要求。
大膽預(yù)測(cè),10年后,python程序員一定會(huì)更多,python一定會(huì)使用得更廣泛得多。