為什麼有些程序員看不起 PHP 這門語言?
本人是先學的 PHP 入門的,但是在很多時候,發現有很多程序員看不起 PHP 這門語言。雖然經常說PHP是世界上最好的語言,但是很多時候也是一種嘲諷。PHP 這門語言的確很適合新手,而且開發快速。所以 PHP 是 web 端僅次於 Java 的第二語言,但是有很多程序員在給新手推薦語言的時候,都不推薦 PHP,反而推薦 node.js、python 這些語言,這是為什麼?
當一個PHPer靠用PHP寫的網站賺到錢之後,誰還會嘲笑PHP和PHPer呢?自古笑貧不笑PHP啊...
懂 Functional Programming 的工程師鄙視老是把設計模式掛在嘴邊的工程師,老是把設計模式掛在嘴邊的工程師鄙視會說「你這樣寫就不 OO 了啊」的工程師,會說「你這樣寫就不 OO 了啊」的工程師鄙視會說「哈?什麼物件導向?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師,會說「哈?什麼物件導向?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師鄙視把同一段 code 到處複製貼上的工程師,把同一段 code 到處複製貼上的工程師鄙視 PM。
寫靜態語言的工程師鄙視寫動態語言的工程師。
寫組合語言的工程師鄙視寫 C 語言的工程師,C 語言工程師鄙視 C++ 工程師,C++ 工程師鄙視 Java 和 C# 工程師,Java 工程師和 C# 工程師則互相鄙視,而 C# 工程師又鄙視 Visual Basic 工程師和會把 C# 念成「C 井」的工程師,會把 C# 念成「C 井」的工程師則鄙視認為 HTML 是一種程序語言的設計師。
用 Python 3 的工程師鄙視還在用 Python 2 的工程師,用 Python 2 的工程師鄙視遇到 UnicodeEncodeError 的工程師。
寫 iOS 的工程師鄙視寫 Android 的工程師,寫 Android 的工程師鄙視寫 Windows Phone 的工程師。
有 Swift 一年經驗的工程師鄙視有 Objective-C 五年經驗的工程師,寫 Objective-C 的工程師鄙視用 PhoneGap 包裝成 native app 的工程師。
用 React.js 的工程師鄙視用 AngularJS 的工程師,用 AngularJS 的工程師鄙視用 jQuery 的工程師,用 jQuery 的工程師鄙視用 Vanilla JavaScript 的工程師,用 Vanilla JavaScript 的工程師鄙視 IE 的使用者。
會用 debugger 的工程師鄙視用 assert 的工程師,用 assert 的工程師鄙視只會 print () 的工程師;用 console.log () 來 debug 的工程師鄙視用 alert () 來 debug 的工程師。
寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。
什麼?你說 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什麼程序語言呢!
所有的工程師都鄙視 PHP 工程師。
其實,程序員鄙視鏈上的位置是跟薪水息息相關的……
當某項技術正處於流行前沿,所有人都在議論它,各種巨頭和新銳創業公司都紛紛使用它,那收入自然會水漲船高。
反之,如果某項技術正在衰退並被取代,高級開發者紛紛「叛逃」到其他新技術,從業者里菜鳥所佔比例就會越來越高,隨著平均收入下降,旁人鄙視的目光也就越發刺眼了。
就拿stackoverflow在2016年做的最新調查為例吧。
這是掌握各項技術棧的全棧工程師們的平均薪資:
可以看到,會PHP的全棧,在收入上跟只會配置LAMP(可能還是一鍵安裝包)和WordPress的人是同一檔的……
再來看看前端工程師各項技術棧的收入水平:
雖然好了些,無非就是和「懂一門(老)後端語言」的前端工程師們位於同一級別。
再來個暴擊,統計範圍是數學、計算類工程師:
(可惜這次沒有統計後端開發技術,不然PHP可能會受到另一次暴擊)
大家可以發現給收入帶來加分的是哪些技術呢?是雲計算、React、Node、Angular、Scala、Hadoop這些近年崛起的新銳。
而PHP儘管流行程度排在第五位,但收入水準無論在哪個群體里,排名都是靠後甚至倒數的……
這就很尷尬了。
一個陳舊的、應用廣泛但低端開發者所佔比例很高的語言,當然會被鄙視。
stackoverflow這份調查里還假裝不經意地來了個會心一擊:
隨著Node和Angular的流行,PHP似乎已經變得毫無意義了。
最後為了證明PHP被鄙視不是最近的事,再補上他們2015年的平均薪資調查報告
(下圖是美國程序員的收入):
PHP程序員的內心:
難道 php 最大的缺點不是有大批技術低下還能覺得自己6的不行,php 能秒天秒地萬世第一的程序員嗎?老實說我對 php 沒啥反感,雖然覺得他語法醜陋,但是對 php 程序員的反感程度簡直 max,特別是二三線城市的,完全一副井底之蛙的樣子,我真怕新人跟著 php 那群人最後也變成了那個樣子。同樣的還有現在的一些前端,真覺得 js 能一統天下了,再這麼下去離 php 也就不遠了。
我個人認為,一個成熟的程序員不會輕易鄙視任何一門語言吧?對於老闆來講,是按你能解決的問題的能力付你工資的,而不是你會什麼語言……對於一個正常的B2B公司來講,你會彙編對他們沒任何鳥用。
PHP語言本身是不錯的,對於web應用一直都是最佳的選擇,而且近年來Composer, PSR, PHP7帶來了顛覆性的變化。
讓人看不起的是PHP里一些人缺乏自信,聽不得反對的聲音,無知而不自知,強者是不會糾結於這些爭吵的,能動手絕不瞎叨叨
---
比起這門語言,他們更看不起的是 PHPer。
我覺得有以下幾個原因:
1. 整體素質低 - PHP 使用率高,門檻低,人才缺口大,導致大量的人湧入,魚龍混雜。同學,聽說你找不到工作?那來學 PHP 吧;
2. 編程基礎差 - 很多課程和培訓機構,只教授簡單的編程技能而忽略了核心的編程思想的教育;
再問:為什麼其他語言不會遇到這種情況?
答覆:其他語言沒有 PHP 出名。
推薦閱讀:
為什麼 PHP 是最好的語言?現在是,將來也會是 - 知乎專欄
數據分析 - 最火的 PHP 框架是哪個? - 知乎專欄--
畢竟程序員,自黑能力都很強。只是恰好互聯網大爆發時,正是PHP的天下。如此龐大的PHP群體,高喊"PHP是世界上最好的語言",瘋狂自黑,影響了後面幾代程序員。現在大家都把這個當做段子而已,真正的內行哪裡會有這種想法。
為什麼現在一刷知乎都是「看不起php」、「要把php換成java」、「php黑點」等,這些無謂的技術爭論,非得去爭個「技術制高點」,有這麼些個功夫,鑽研鑽研技術多好。
講真,這些看不起這看不起那的,沒有幾個人能達到鄙視一門語言的水平吧。大家大多數也都是寫寫業務邏輯,github搬運工,面向stackoverflow編程,一個用菜刀切菜,一個用水果刀削水果,合適的場景用合適的工具,碼農何苦為難碼農?
語言之爭由來已久,由他去吧。
不用提醒我是梗了,我也是「喊『鹿晗好帥』」那批人(逃
PHP是真的厲害,而且因為「PHP是全世界最好的語言」所以現在的解決方案特別完善,什麼都有
但是問題就是出在那些成天喊「PHP是世界上最好的語言」的那幫人身上。
這跟那幫天天喊「我晗好帥!鹿晗我愛你!」那幫人有什麼區別?柿子當然還是挑軟的捏,PHP之所以被攻擊還是因為周邊沒有PHP大牛為其發聲。
加上很多人對語言的理解一直停留在 Hello World!的水平上,很自然以為憑著自己的聰明才智PHP21秒從入門到精通。也有部分跟風黑都不知道PHP中文翻譯過來是什麼意思,看沒人反抗也就順理成章的黑下去了。你敢說C不好?
會有人告訴你C語言是計算機世界的基石,地球離開C不行你敢說C++不好?
輪子哥第一個不願意,帶著他的五十萬信徒給你解釋什麼叫做 C++ PRIMER 5th強勢審校你敢說Java不好?
阿里大牛跳出來說整個馬雲帝國都是建在Java基礎上你敢說C#不好?
知乎幾個大V會拉幾篇看不懂的quora文章來告訴你C#在海外發展的多好多好......
你敢說PHP不好?說就說唄,沒人敢第一個站出來都是用來混口飯吃的東西,還分起三六九等來了
扎克伯格厲不厲害和PHP有一毛錢關係?有些人真搞笑我鄙視所有鄙視編程語言的工程師
同行么,互相踩踩很正常。
基本上我去一個公司,會把那個公司從java全部整成php。
我說服老闆的理由很簡單,我只要java1/3的開發人員、1/2的項目時間、1/4的伺服器,嗯差不多一個項目java要2000萬的技術成本的話,我只要300萬。)
然後我走了以後,又會有人把php再整成java。
java說服老闆的理由也很簡單,公司要拉投資、客戶甚至上市,就要把團隊做大,就要把項目做複雜,你說你的技術部才30個人,誰會給你投資?你說你技術部有100個人,說出去多靠譜!錢反正是投資人和客戶給的。
你看,其實我們做來做去都在做同一套改變不大的東西,技術根本不是問題。但在這個過程中,各賺各的錢,多麼融洽。
老闆傻不傻?從結果來看,老闆賺的錢最多,所以他不傻,為什麼他知道我只要300萬的情況下,還願意花2000萬給java團隊呢?因為這個階段他不缺錢,他缺的是包裝。
包裝好了他會去忽悠投資商和客戶,我們今年用了一個技術大牛,系統改造過了,多麼的先進。然後客戶呢覺得靠譜,公司有活力,就繼續掏錢。
在什麼階段找php,在什麼階段找java,老闆心裡最清楚了。
有人要問了,為什麼這2000萬不給寫php的,一樣可以把隊伍搞大系統搞複雜呀。
好吧,作為一個資深php,最佩服的就是java把簡單問題複雜化的能力。這個真是能力,反正我沒他們那種思路,性格已經習慣了,真做不出這麼變態的事。
比如說幫客戶做個單品搶購,以前的java哥們,用了事務,怕扛不住,搭建了集群,各種考慮,測試種種情況,各種報告看得我目瞪口呆。
我的辦法是,單品搶購多簡單,插mysql表,按返回的自增量判斷就行了,反正自增量絕對不會重複。web很好擴展,資料庫是關鍵,但是用自增量來搞,純插入可以接近磁碟速度,不會出瓶頸問題。同步更新一個reids確保數據有雙份就行了,就算小米,我算他一分鐘插100萬,100萬生成核心自增量的數據不過100MB不到而已,也是輕輕鬆鬆一台就能搞定的。
但是,最後老闆用了java的方案,給了他20台機器,老闆知道我的方案可以更靠譜又省錢。但是他說,我要怎麼跟客戶說呢?難道說半天2台機器就搞定了,沒法要高價呀!!
都什麼年代了,一個不支持websocket的語言還好意思說自己是最適合web的語言……
Php在語言設計上存在天然的缺陷。因為當初作者設計這東西的時候就跟設計js的時候一個心態。隨便對付著用用就行了,沒想到後期會有那麼多人用這玩意。
優點是入門容易,但是開發速度並不快。
很多時候做的都是無聊的重複工作。
後期的維護也不容易。
至於那些成功的php產品,成功的是產品,不是php語言本身。
事實上,也許可能用php更容易做成好的產品,因為拋棄了設計抽象上所花費的時間。舉一個例子,linux成功了,而gnu的微內核操作系統則遙遙無期。
因為成功的產品跟語言沒啥關係
但是,這不能掩飾php中存在的巨大設計問題
~~~~~~~~~~~~~~~
最後回到原來的問題上面,為什麼有些程序員看不起php這門語言。
語言這個東西就是一個工具。工具本身能有什麼看得起看不起的?
看不起的無非是後面的人罷了。PHP的入門門檻太低了,以至於PHP程序員的專業素質普遍要比較差。
另外,還有一個重要的因素,就是工資。人的正常心理,工資高了自然就讓人看得起,雖然這麼說比較俗。現在不知道市場如何,早期做php的人的工資據說入職工資一般在2000~3000元。如果你拿著3000元工資天天加班,乾的體力活,真的挺心酸的
所以,php本身的問題還在其次。這就好比小老闆之間開車,相互比較車好車壞,其實比較的是老闆本身的實力,跟車沒啥關係。如果你是王健林,李嘉誠這種大佬,整天開一個3輪車,也沒人敢瞧不起你。
但是普通人一聽,這個人做php的。給人的印象就是這個人不咋懂計算機,技術方面能力比較差的感覺
~~~~~~~~~~~~~
最後結論,鄙視有兩個原因,一個是技術原因,一個是經濟原因
PHP是最好語言的問題每半個月就神一般的出現在我首頁同【?_??】
瀉藥。
我再次重申一下:
PHP沒什麼不好。
現在的程序員和早期ASP/PHP時代的程序員有一個很明顯的區別是:
早期(姑且以2002年為分界,沒理由,不要問)程序員群體大多數並沒有經過專業的訓練,多數都是野路子,寫的代碼很不規範。
現在的程序員的代碼已經有追求藝術的美感了,也逐漸具備工匠精神。
但是,之前的PHP程序員到現在並沒有退役,他們有自己的傳承,這個傳承裡面有一種獨特的程序員思維---目標清晰,不擇手段。而不是當前流行的這個之禪,那個之道。
簡單來說,PHP早期程序員的傳承像切爾西,進球即可。現代程序員的價值觀像巴薩,我要進球,還得進的有藝術感,拒絕簡單粗暴。
說白了就是,如果簡單完成任務,你會顯得沒價值。
但這個分歧的出現不能怪程序員,也不是程序員愛站隊或是愛貼標籤。
而是環境變了。
以前的程序員,是要承擔項目經理的很大一部分職能的,他從談判開始就需要全程參與,甚至是要下到甲方的業務流程里去的。
真沒空研究這個禪那個道。
現在的程序員呢?分工細緻明確,系統嚴謹,穩定,但是並不高效。這對程序員來說並不是什麼好事。
因為作為管理層,維穩都是一樣的。
寫到這裡,我想到了剛剛看完的電影《摔跤吧,爸爸》。
現在大部分程序員被老闆控制,就像裡面的國家隊教練,他考慮的是整體拿幾塊獎牌。
而PHP程序員就像主角爸爸,他考慮的則是怎麼讓女兒拿金牌。
------我的微信,做點自己的小事------
微信號:shuangziruguoai
http://u.wechat.com/EDIypK2wxzThVluB-H8oVEM (二維碼自動識別)
php感覺至少內部還是團結的,js壓根沒人管,都是前端圈內人互相黑
就扯吧你們,我鳥哥騎著飛機正在往過趕
推薦閱讀:
※scala case class 這時候該怎麼用?
※代數數據類型是什麼?
※kotlin和scala兩種語言的對比?
※如何看待TIOBE2016年預測scala將停留在前20內?
※模式匹配是語法糖嗎?