為什麼那麼多公司不用 .NET,而選擇 PHP、JSP,是 .NET 有什麼缺點嗎?

鼬花園發表於2017-08-04

為什麼那麼多公司不用 .NET,而選擇 PHP、JSP,是 .NET 有什麼缺點嗎?

蘇莉安
程式設計師 話題的優秀回答者
375 人贊同了該回答
看了一大圈,只有@翁偉一個答案是靠譜的。.net在網際網路圈使用率低是事實,而且原因基本和技術本身優劣無關,就是生態環境和人才的問題。
單從語言特性上講,C#早就把風格近似的Java遠遠拋在了身後(我從03年開始兩者交替用,C#進步極其明顯),與各種現代程式語言比一圈的話都絕對不輸。相反,很多看低.net的人其實對它並不瞭解,拿出來說的很多缺點根本就是七八年甚至十幾年前的成見,都不值一駁。
問題就出在人才結構上。據我所瞭解,國內政府、傳統企業、銀行、工廠等.net應用最廣泛的領域中,存在大量水平低劣、不思進取、恨不得只會拖拽控制元件和百度搜程式碼就自稱程式設計師的人。他們對計算機原本就沒興趣,程式設計的目標是儘快不再程式設計,想在三年內轉管理或售前,可惜失敗了。高不成低不就,又幹不了別的,只好迷茫地繼續不思進取,編寫bug叢生的程式碼。
這種人想跳到工資較高的網際網路圈都困難。除了加班強度之外,根本就跟不上需要快速學習新知識、新語言和框架的節奏,自己還恨不得學一次吃一輩子呢。
我在十幾年的工作生涯裡這種人見得太多了。有的2013年仍然在維護Windows Server 2003;有的時至今日都只熟悉 .net Framework 1.1那一套,連反射和泛型都不知道怎麼用;演算法更是像聽天書一樣,不提二叉樹、有向圖了,拿氣泡排序都能掃倒一大片。一點都不誇張。

至於為什麼只有.net而不是其他語言變成了這樣?無他,門檻太低而已。Java只比它難一點,就濾掉了一大堆垃圾程式設計師。而且.net是能在Windows下部署的,要知道這些人根本連linux命令列都懶得學,能省一點是一點……
其實過去幾年的App熱潮導致大批零基礎培訓三五個月就上崗的iOS和安卓「程式設計師」湧入業界,那個程式碼質量之慘不忍睹,跟早年這批.net程式設計師剛入行時有一拼。但他們之所以有人肯要是因為沒有代替品。而.net在Web端要跟一百多種伺服器語言競爭,這幫人的下場可想而知。也只有在慢節奏、靠市場關係不靠技術吃飯的企業有活路了。

當然,並不是所有.net程式設計師都水平低下到這程度,有很多也是有熱情、肯學習的,但越往上升發現方向越窄,很多就乾脆去了微軟。如果不去的話,發現可去的地方越來越少,既然都是要學習,學別的語言也沒問題啊,就這麼換到別的平臺去了。
整個.net生態圈(特指國內)的情況是,高水平的大神不少,越往下,良品率越以驚人的速度下降。如果你打算打造一支開發.net的團隊,那不好意思了,可能會招到一個不錯的Leader,但招底下幹活的人時,篩選成本一下子就變成了其他語言平臺的好幾倍。時間和人力都是錢啊。

這種惡劣環境不知道什麼時候會有轉機。我倒覺得.net core現在正處於一個很好的節點上:根據微軟的東西第三個版本才能用的原則,配合VS2017的.net core已經足夠可用和完善了,既能發揮出C#的優秀特性、又有開放的平臺。最重要的是,如果有人正在研究它的話,說明肯定是個有足夠熱情和動力吸收新知識的程式設計師啊,比很多傍著熱門平臺吃老本的強多了。
編輯於 2017-03-14

相關文章