我曾经是一名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 15周年之际——致那些仍然爱着.NET的中国程序员们相关推荐

  1. ITPUB那些事儿——写在pub十周年之际

    ITPUB那些事儿 --写在pub十周年之际 发现迷恋上了XXX那些事儿,很早就打算写点什么,可海口连续五天五夜的暴雨和可爱的小宝贝不停的吵闹把搞的我心绪不宁:在海口美兰机场候机的时候打算动笔,却被机 ...

  2. 抓住窗口期 成就世界级 —— 29周年之际致全体同仁 wwj 2017.12.6

    [企业与公共组织数字化时代,如何做好产品],重点学习老王精神::::: 抓住窗口期  成就世界级 --在用友创立29周年之际致用友全体同仁 WWJ 2017.12.6

  3. 我在itpub的日子——写在itpub八周年之际

    我在itpub的日子 --写在itpub八周年之际 前言 itpub已经经历了八年的风风雨雨,而我也度过了自己的十年职业生涯,我和itpub的交集却已有了七个春秋:从初出茅庐的职业菜鸟到现在也还是一个 ...

  4. 首次公开!2020年中国程序员薪资调查报告,近一半程序员单身、年薪低于 15 万,别被脉脉和知乎带偏了!...

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  5. 2020中国程序员调查报告:平均年薪15万,45%单身

    根据中国互联网络信息中心(CNNIC)近日发布第 44 次<中国互联网络发展状况统计报告>.截至 2019 年 06 月,中国网民规模为 8.54 亿,较 2018 年底增加 2598 万 ...

  6. 1024程序员节书单,15本顶级精选好书,助你做项级程序员

    1024程序员节 1024程序员节是广大程序员的共同节日.1024是2的十次方,二进制计数的基本计量单位之一.针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程 ...

  7. 致那些自嘲码农的苦逼程序员

    好吧你可以说这是水文. 今天下午和经理聊了一些关于软件行业的话题,这两天晚上都有朋友向我倾诉程序员的茫然和苦楚,我觉得有些想法可以记录下来.时光佐证,其实我好久没写发骚的文字了,就啰嗦啰嗦.我不算一个 ...

  8. 写html前端代码的软件_你能看懂高贵的前端程序员的工作内容?

    高贵的前端程序猿们: 如何在前端开发这种高精尖的技术领域找到心仪的工作?实现在咖啡馆喝喝咖啡敲敲代码就能升职加薪.买房买车.迎娶白富美走上人生巅峰的职业梦想?这篇<进化论:从0到100,前端猿茁 ...

  9. 错过这15个顶级Python库,你就不算Python程序员

    为什么我喜欢Python?对于初学者来说,这是一种简单易学的编程语言,另一个原因:大量开箱即用的三方库,正是23万个由用户提供的软件包使得Python真正强大和流行. 在本文中,我挑选了15个最有用的 ...

最新文章

  1. 线性回归算法原理简介
  2. 扩展sp_MSforeach
  3. Paddle网络结构中的层和模型
  4. CSS完美实现iframe高度自适应(支持跨域)
  5. SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结
  6. Android之shape属性简介和使用
  7. SpringBoot面试题及答案整理
  8. 微信小程序 - 豆瓣同城
  9. 随想录(elf文件)
  10. Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...
  11. 关于Session、Cookie、Token你知道多少?
  12. 鸿蒙系统下载地址_华为鸿蒙系统下载
  13. 商务网站建设与维护【6】
  14. Qt5学习之位置函数
  15. 递增有序顺序表的插入 (20分) 实验目的:1、掌握线性表的基本知识 2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现 已知顺序表L递增有序,将X插入到线性表的适当位置
  16. 搞不定Eclipse TPTP
  17. java敏感词屏蔽器,“敏感词过滤”功能设置
  18. 【华为机试】HJ2 计算某字符出现次数
  19. xampp mysql使用教程_XAMPP 使用教程
  20. 【Python爬虫实战】爬取IU高清大图

热门文章

  1. selenium+aiohttp+aiofiles+ffmpeg → m3u8
  2. css 对话框 水平居中,css 水平居中的几种实现方式
  3. 对于目标文件系统,文件过大无法复制到u盘:
  4. 知识点9--Docker容器的数据卷
  5. 线上护肤品市场分析报告
  6. centos7如何把虚拟网卡名称ifcfg-eno16777736改成ifcfg-eth0(无法重启网卡的终极解决方案)
  7. input file获取文件路径
  8. 新一代数据中心建设理论与实践
  9. 【1】集团蓝信下载地址
  10. Android 10 定位权限问题