为什么那么多公司不用 .NET,而选择 PHP、JSP,是 .NET 有什么缺点吗?

为什么那么多公司不用 .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

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页