写在.NET 15周年之际——致那些仍然爱着.NET的中国程序员们

我曾经是一名VB、PHP、ASP程序员,大概12年前吧,那时候我还在大学里,.NET刚诞生3年不到,还不是很流行。2005年我开始接触.NET 1.1,从那时起我就开始迷上.NET的核心语言C#。有人开玩笑说C#是C++++,其实没错啊,他确实是C++的加强版。

.NET其实有一段鲜为人知的历史,感谢微软早期华裔员工陈榕先生在3个月前与我分享这段历史,当然能在上海见到陈榕先生绝对是缘分,也是我的荣幸,可能大家不知道,陈榕曾参与IL Remoting和DCOM的开发和设计工作,他甚至创造了真正的国产操作系统Elastos以及C++ with Metadata(C++版的.NET框架)。

.NET的历史

1999年在微软42号楼一群人开会讨论是否要做一个能够与Java相抗衡的语言,它应该是一个加入了元数据(metadata)的高级语言,这门语言的目标就是实现SaaS,要知道在那个时代SaaS是非常先进的东西,几乎没有什么人知道。经过大家不懈的努力,2003年2月终于诞生了.NET Framework 1.0以及.NET CLR。其实.NET有个Codename: Project 42,因为他就是在42号楼诞生的项目,Java就是.NET的假想敌。

.NET从1.0到如今4.5,走过了15个年头,总体而言,.NET已经成为非常成熟的语言平台,在全球有数不清的案例,虽然语言排名上仍然无法与Java直接抗衡,但一直在追赶Java的脚步,随着时间的推移,差距正在逐步缩小。

.NET中国市场现状

在全球市场,.NET语言C#的排名一直在往上升,与其形成鲜明对比的是.NET中国区的沦陷!真的是沦陷!大量.NET项目正在或者已经被转成Java项目,这是非常令人担心的事情。

然而微软中国不但没有任何行动,还放任这种趋势继续,他们天天在给社区讲开源,却不管.NET市场的死活。他们似乎并不在意.NET程序员们是否能找到工作,因为这不是他们的绩效考核内容,这也是我一直恨的一点——微软中国的不作为。

谁该对.NET市场问题承担主要责任

首先我要批一下微软中国Dev eXperience部门(简称DX组),因为他们才是真正负责推广.NET的部门,他们对.NET在中国区的失败承担主要责任。DX组有大量的技术步道师(Technical Evangelist),步道师这个词来源于圣经,也可翻译为传教士。他们的任务就是推广微软相关技术,但很遗憾的是他们在.NET方面的步道非常失败,如今在微软中国的各种活动中已经几乎看不到.NET的身影,这是非常令人遗憾和尴尬的事情。照理说这么多的公司和合作伙伴转Java,他们应该是要介入的,但很遗憾,他们从不认为这是他们的事,或者说他们不在意,因为这不是他们的KPI。

其次我这里要点一个人的名Peter Hu,他是Visual Studio的中国市场部经理,也是现在云应用开发工具市场经理,其实他在过去一直是负责Visual Studio推广的,但请问Visual Studio现在在中国用的怎么样大家心里清楚。前几天我托人跟他提了办Visual Studio 2017 Launch Party的想法,本以为可以由微软赞助一些经费,我们庆祝下Visual Studio发布,同时庆祝.NET 15周年,理都不理我。我能说什么呢?

就连微软全球C&E总经理Scott Gu跑中国来都明确说Visual Studio Code才适合中国,因为中国企业很少买单TFS和Visual Studio, Visual Studio license的消耗量和全球比起来基本可以忽略。我只能说 教主英明!Scott一直是我非常敬佩的顶级技术人员,他是ASP.NET之父,我们通常喜欢叫他红衣教主,他的思路非常清楚,对市场的洞察能力和理解力超乎常人。

中国区.NET的未来在哪?

我曾经做了好几个.NET领域的开源项目(NPOI, Toxy, Wex等),目标是弥补.NET顶级开源项目的不足,特别是NPOI,下载量已经接近100万!这个组件只要是做.NET业务系统的人几乎都知道。

但说心里话,我的能力很有限,我也很难改变目前的局面,经过深度分析和调查,我最终认为单靠几个开源项目救不了.NET。

.NET的未来在传统行业!为了解决最根本的企业需求问题,我从去年开始布局建筑行业,并在今年开始孵化航空和食品饮料行业。我的观点是只有.NET的企业需求起来了,.NET才有希望!有了需求就会有人去学,这是非常基本的道理。等需求起来了,.NET培训也就火了,才会有人愿意去学.NET。

云计算是.NET的发力点和突破口。随着Azure的不断推广,越来越多的企业开始使用Azure,.NET其实可以充分利用这一点,展开反击攻势,务必让客户认同.NET的价值,不要让写假CTO和架构师们污蔑.NET,放大各种潜在的问题,并且让.NET背各种锅。我一直开玩笑的说,.NET技术就是背锅侠,就连当年myspace倒闭也有人怪.NET,实在无语。

.NET相比其他语言的优势

其实中国开发界正在走入一个误区,大量开发者崇尚开源的东西,包括很多大型公司(比如阿里巴巴、京东等),他们并没有意识到这些东西其实潜在拥有成本非常高,并且一旦出了问题,如果社区没有人及时响应你连一点办法都没有,只能对着它干瞪眼。其实在中国要找到顶级的开发人员是非常困难的,更何况是懂开源的开发人员,其实中国区真正贡献开源代码的人非常少,很多所谓的开源贡献者其实贡献的代码质量并不高,相当一部分是自娱自乐,那只能说是一个爱好,但这些项目从开始到结束几乎没有人知道,或者说只有非常少数的人知道。

微软的产品其实整体拥有成本并不高,随着微软云的推广,license授权费用已经不存在,越来越多的企业开始认同微软云的价值,确实微软云在帮助企业省人力和设备成本,最关键的是它还非常稳定,企业省去了雇佣顶级IT运维的费用,何乐而不为!

.NET经过15年的努力,已经超越Java,在并行编程及动态语言编译技术方面已处于领先地位,再加上宇宙最好的IDE——Visual Studio的助攻,一切如虎添翼,开发者没有理由拒绝这么先进的语言和IDE。当然我们可能缺少Java的那些开源项目和可参考的架构,这是.NET在接下来几年需要解决的问题。但还是有一点,开源项目很多时候其实只供参考,并不能帮助企业解决太多问题,企业如果重度依赖开源可维护性其实并不好。

你可能感兴趣的:(.net,web技术)