從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

Java的確是穩妥的選擇,很多大廠都在擁抱Java也是很有道理的。

主要兩個原因吧,Java自身生態比較完善,解決各種場景下解決方案都比較成熟,小到單體應用,大到服務拆分,微服務都有成熟的,經過業界考驗的方案。

語言本身雖然不是純粹面向對象,但是面向對象的精髓都是有的,並且語言容易使用,工具鏈很好的支持大規模重構,這使得它在大規模合作場景下很穩,不容易自己出錯,也不容易合作小夥伴用錯。Java從語言形態上讓她的代碼是有底線的,而php、python就不是,如果程序員沒底線,代碼也沒底線,可以讓它非常難以維護和在合作場景下使用。

還有一點就是好招人,餓了麼這邊有Python,Java,Python招聘一個高手很難很難,大多數都是會簡單用用,做做數據分析之類的水平,但是真的到高併發要求嚴格的生產環境,很多人寫的代碼根本不及格。但是招聘到Java高手就容易的多,阿里是業界最大的Java高手培訓基地,業務幾乎全是Java。別小瞧好招人這一點,公司業務擴大的時候,就發現優勢非常大,一個朋友創業早期圖快,也是自己最熟悉選了 ruby,現在公司擴大想招人根本招不到自己累的要死。

不過哪種語言成為高手都值錢,畢竟小眾語言崗位少,但是會的人也少;大眾語言會的人多,崗位也多

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

2018年8月了,JAVA已非吳下阿蒙。

底層上面,最大的GC問題已經被G1GC無腦解決了,雖然scaling up以後還需要調試,但是已經不是無解的問題了。 react也擁抱了,springboot2開始的微服務也成型了。加上前後端分離,直升機基金會壯大,在非科學計算領域的商用領域已經足夠了。淘汰了太過於笨重的框架和spring的XML地獄以後,基本上已經恢復了快速,輕量,全開源的主要優點,得以從快速部署開始,到大型商用都一應俱全,加上多年在市面上累積下來的人才,可以說是非常穩妥的選擇。

java有兩個版本,1.4.2和1.8是兩個翻天覆地的里程碑。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

不要被表面的數字和道聽途說所迷惑,還是有很多公司用PHP的,比如微博與鏈家,很多用PHP的公司,只是不愛張揚而已啦。

有公司棄用PHP,並不是PHP差,而是不錯的PHP開發者比較少。Java的市場份額確實大,但如果PHP沒有機會,那啥Node、RoR、Django更沒機會了,全是Java一統天下了。編程最忌諱“吃著碗裡的盯著鍋裡的”,朝秦暮楚還不如咬定青山不放鬆,堅持自己的技術方向。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

喜歡php的人大多都是圖個程序員自己爽,開發效率高,這沒錯。初期的業務簡單的公司的確能從此獲利。但是長期以往,功能複雜,依賴繁瑣,迭代過多之後就爛了,沒法做了。開發效率曲線是下滑的。

PHP的優勢在於快速開發,靈活,對於團隊的要求上限很高。後期業務量大,的時候。迭代幾次就出問題了。而且下限太低了,一兩個實習生能毀掉整個項目。

java的缺點在於代碼量大,第一版的開發效率低。但是本身的思想,理論,框架,架構。都能導致後期的維護迭代效率有質的飛躍。特別是現在互聯網項目越來越複雜,相互模塊服務間的相互依賴非常繁雜,這個時候java的優勢就很明顯了。

敏捷開發,設計模式,強類型語言,微服務架構。java一直都在致力於工業化方向。並且開發效率也就相對慢點而已,維護,併發都挺舒服的。更重要的是,架構上搞好,整個團隊容錯率極高,基本不擔心有實習生亂搞。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

特別是互聯網項目來說,接觸過國內外的APP很容易有一種感覺就是,國內的APP喜歡一個app多功能發展,而國外的app則喜歡單一功能單一業務做到極致。這也是國內喜好java,國外喜好php的原因。很多矇頭亂撞的人一看國外都用php,就盲目國外崇拜了。然後用著php開發爽,用其他語言就覺得累贅了。

但是java的工業特性真的特別適合國內的互聯網項目,瘋狂的加功能,改需求,迭代。因此在初版本上選擇PHP是沒問題的,但是隨著擴張,轉用其他語言也是必然選擇。並不是說java絕對優勢於PHP,而是建立於中國互聯網戰場和業務,發展階段做出的選擇。慢慢提升自己,等你思考到一定程度上,經驗足夠的時候,你就會考慮一些其他的問題了。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

Java寫代碼有個毛病就是囉嗦!一點點業務邏輯,非要囉裡囉嗦寫上幾十行代碼不可。給人的感覺就是工地上頂著烈日搬磚的小工,老苦逼了,完全沒有任何的成就感。換PHP,可能三行五行就完了。寫起來可爽快了,這裡調一下,完成!那裡調一下,完成!讓人飄飄然有點自己就是正在創造非死不可的小扎的感覺。

一個月後產品過來了,咱們能不能做個自動識別用戶心情的功能?不對!停!別打我!這次是簡單調整幾個規則,因為業務部門提出來規則這樣調整更加合理。吧啦吧啦。

你還能怎麼說,自然是答應他咯。嗯嗯,等一下啊,我看看代碼先。

Java版本:嗯,簡單,我現在就改。改了幾十行囉裡囉嗦代碼裡面的某幾行,三分鐘搞定收工。

PHP版本:嗯。嗯???臥槽,這個要怎麼改?你先回去,我得好好看下代碼。半天后。臥槽,這個地方我寫的嗎?這麼NB的代碼居然是我寫的?暗地裡得意一下,然後重新寫過整個業務邏輯,並且悄悄地加了註解,以免下次看不懂自己寫的代碼鬧笑話。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?

大公司裡稍老點的php代碼都是屎,java還基本可控。

php語言本身對程序員的限制太小,太過於靈活,這是個很致命的問題。因為不能要求所有人都是linus、鳥哥。在工業環境下,一個項目的代碼質量取決於最低水平的程序員,限制多多的Java是目前最好的選擇,沒有之一。python 比 php 更靈活,基本不可能在多人項目中使用,除非能保證最低程序員的水平。至於最靈活隨意的 lisp ,看看有幾個人在用就知道了。

從職業玩家角度看,越來越多公司棄用 PHP 使用 Java是怎麼回事?


分享到:


相關文章: