如今的.NET社区,特别是国内的.NET社区面临诸多问题,本文将一一例举。
很多人误认为“.NET门槛低”
首先我来解释下门槛到底是什么意思,网上找了个标准解释,门槛是门框下端的横木条、石条或金属条。门槛高低本意是说要进入这个门需要多大力气,引申 意是说进入一个行业、学会一门技能的难度。你可以说.NET是个技能,.NET是个平台,那作为一个技能、一个平台,.NET好学吗?说实话,我一开始觉 得.NET不就是一个几门语言(C#, VB.NET, J#)都能随便用的玩意吗?但越学越发觉很多东西不是那么回事,越学越觉得很多东西其实并不懂,就是这种感觉,所以呢,我觉得门槛并不低。我就没搞懂,为 啥这么多人觉得.NET入门简单了,你们说的入门到底指啥?会写console?会写winForm?会写个排序?我对入门的理解是对大部分需求场景能够 经过少量时间的研究学习后进行处理,基本不需要别人帮助,如果用HR的话来说是熟悉,谈不上精通,但绝对不是了解、知道,那种写个hello world在我看来,连知道都谈不上,这谁不会写?!更何况.NET基本上2年就有一次大更新,当我们还沉浸在.NET 2.0的时候,微软已经出了3.0, 4.0,大量的概念引入,这么多东西你都知道个1、2、3了?我不信。怎么没见中国有几个大牛写出标志性的.NET开源应用呢?当然啦我不想一竿子打死一 批人,有还是有的,但确实比较少,比如Teddy Ma的NBear(当年可是很火的ORM哦~)。
同时我要澄清下,我说.NET门槛不低,不等于我说其他语言门槛低,或者.NET门槛很高,我觉得语言的门槛都差不多,希望大家不要误解,语言这东 西学到后面会发觉不懂的越来越多,这叫越学越觉得自己无知,入门没个5成功力请不要说入门。其实门槛高一点并非坏事,对自己严要求没错,也可以适当提高自 己的竞争力,否则你和那些没入门的有何区别?也请张子阳不要曲解我的意思,更不要走极端说要和JR水平一样,这话实在说的搞笑了点。国外牛人还是很多的, 只是你我都攀不上,好吧,这有点扯远了!
解决方案:重新评估你自己的.NET水平,当然不一定要纠结入门不入门,但一定要清楚自己知道了哪些东西,不知道哪些东西,该学习哪些东西。.NET作为一个平台,绝对是博大精深的。
行业纵身不够,很多行业都被其他语言霸占
这个问题我想大家经常看职位描述(JD)就明白了,基本上.NET的职位要比Java职位少掉一半,很多行业如电商、物流、能源、金融基本都是 Java的天下,那.NET在干嘛呢?真的是少数公司在用,很多公司即使用.NET也是辅助,比如测试代码用.NET写,比如用.NET做前端,后端用 Java或者C++(比如Morgan Stanley用WPF做前端,后端据说是C++)(老赵,关于大摩,你比较有发言权,可以适当介绍下)我群里有兄弟说以前京东是用.NET的,现在改 php了,看样子又是一个失败案例。
解决方案:暂无,这靠我们这种草根程序员基本是不可能改变的,需要巨头来带动需求并进行市场营销,这一点微软一 直做得一般,希望微软能够想办法改变这种局面。当然啦,架构师在公司内部也可以顺理成章的刮起一股.NET风,当然要选择适当的时机,切不可硬上,切忌。 搞不好,.NET没转过去,把客户搞丢了,那就搞大了。我们公司就有个有趣的案例,本来都转Java了,结果我们Team的系统当年Java的版本转了两 次,上去就挂了,结果客户抱怨很严重,说得难听点就是你再转我就跟你合作了,从此以后再没有人敢提转Java,对于转.NET这也是一样的道理,客户至 上。
标志性旗舰网站甚少
当年最火的MySpace倒是真用ASP.NET写的,但很遗憾自从它没落以后就很少听到日访问量千万级的.NET网站应用了,最近的应用中我唯一 能想出来的就是Stackoverflow,这网站大家都懂的,访问量绝对是一线网站水准,全部是.NET代码实现。但这种网站数量实