Neuzilla官方微信公众号:搜 架构师联盟 或 neuzilla
我是.NET铁杆粉丝,所以如果你要在评论里跟我撕逼.NET怎么怎么烂,Java、C++、PHP、JavaScript怎么怎么好,我奉陪。我这人没什么优点,就是说话直入主题,然后骂到你爽为止,当然咯我不是纯流氓,我是有文化的流氓,呵呵。
为什么我喜欢.NET
我用.NET十年了,说实话C#这个语言我很喜欢,比C++不知道人性化多少,当然前提是不考虑性能的情况下,C++的性能比.NET好上10倍左右,这是官方MSDN里提到的,所以不用质疑。但问题是Java也好不到哪去,慢的跟狗屎一样,只能说半斤八两。倒是JavaScript的V8引擎异军突起,你看Node.js最近多火呀,当然V8也是用C++写成的,性能赞也不足为奇。
.NET的设计理念是会一种语言即可,但程序会被编译成同一种代码(MSIL),然后运行在同一个虚拟机上(CLR)。其实不得不说微软的有些理念还是很不错的,虽然理想很丰满,现实很骨感。虽然微软经常干虎头蛇尾的事,但.NET是个例外,至少目前来看,.NET的语言层面的推广和维护做的还是很不错的,近期微软对于开源及Linux系统上Mono的支持力度还是很不错的,并且已经开源了CLR,我们可以预见不久的将来很多高级的定制CLR会诞生,微软正在仿效当年Sun的模式来推广.NET。
.NET中最棒的语言自然是C#,这个没有之一,因为C#融合了C++的所有优秀特性,同时也增加了新的东西,如LINQ、Lamda表达式、匿名委托等。有很多特性即使是Java,目前也未实现。而且C#比C++多了两个+,哈哈(这是个笑话)。
微软有全球最好的集成开发环境(IDE),没有之一,这也是我喜欢.NET的关键因素。当然有些脑残程序员会昧着良心说,这种傻瓜IDE是给不懂程序的人用的,我只能说你要羡慕嫉妒恨我是没办法的,Eclipse这种鸟玩意定制IDE是不错,要说体验我还真觉得不咋地,启动慢的要命,各种啃爹界面设计。只可惜Visual Studio目前还没有开源,等开源了就没Eclipse什么事了,哪凉快哪呆着去!
另外么,有些脑残.NET黑会说.NET那帮人只会拖控件,我可以明确的告诉你,我现在基本用notepad写css, html, js,即使用Visual Studio有没有智能感知对我来说没太大区别,更不要说什么toolbox拖住控件了,这是说明你不懂呢?还是说明你不懂呢?你这种门外汉也好意思来评论.NET,闲得蛋疼大概!
中国.NET生态系统现状
其实中国.NET程序员最痛苦的一件事情恐怕是找工作,据非官方猎头数据,微软.NET程序员的需求量在去年减少了一半以上,大量企业已经转向或正在转向非微软技术,比如Java、Python等,当然有一部分原因可能是一些企业需要更稳定的操作系统平台,比如Ubuntu或CentOS,Java在跨平台方面确实是有优势的,这点我不否认;Python开发web有点类似于当年的PHP,再加上各种类库齐全(特别是大数据这块),正在逐渐成为一些程序员的主要吃饭语言。
.NET在中国究竟怎么了?是水土不服还是怎么回事?其实吧,我的经验告诉我,与其说.NET本身有问题,不如从人的身上找找原因。基本上我的很多朋友也在转其他语言,理由很简单,因为很多公司不用.NET,那为什么不用呢?因为领导觉得.NET不行,所以要换,问题来了,为什么是“觉得.NET不行"?有数据能说话吗?还是拍脑袋的?领导说,.NET大型网站成功案例太少,行吧,这确实是个问题!但是这能说明.NET不行吗?还是做的人水平不行?!如果完全没有案例,那确实是.NET本身的问题,但如果有网站用.NET跑的很溜(比如stackoverflow),然后你说.NET不行,那你说这是谁的问题?是.NET还是人?大家心里有数。目前.NET阵营的情况是紧缺资深架构师,这个问题不解决,再牛的语言也是白搭,因为一群菜鸟在领导着一些大型项目,而且参考案例少,导致他们都不知道该怎么搭建自己的架构。相对而言,Java你即使是菜鸟架构师,随便找个案例一样画葫芦总会把,就这么回事。当然Java也有画错的时候,比如12306那个做的烂呀,你们不是说Java很棒吗?我笑笑。
重建的时机好不好?
一个平台的生态系统重建绝非一朝一夕,必须大家配合,特别是微软这位大哥的配合。在过去的10年里,.NET其实有过机会,但是微软没有把握好,当然现在重建并不晚,特别是微软完善了全平台产品布局,随着win10的推出,微软将有可能统治各种设备领域,这在过去是很难想象的。
特别是单片机设备、小型手持设备领域,微软比以往任何时候都要强大,再加上bing的市场份额已经接近20%,以及新CEO的上台,2015对于微软也许是转折的一年。
如何重建中国.NET生态系统
.NET生态系统的重建其实可以参考当年Java的模式,以及Apache基金会的模式,即以开源带动整个社区的活跃性,并且通过个中合作渠道,拉高合作伙伴的商业化热情。
其实Java为什么会这么火,很大程度上要感谢开源社区,其实很多公司选择Java的一个重要原因是因为他们觉得Java的开源组件很多,其实同一个功能选择也很多,而且又是免费+开源的,何乐而不为,大不了让苦逼的程序员去理解源代码然后定制。这一点确实是.NET的软肋,但是我们正在改变这一切,我有资格这么说,因为单单我的团队就贡献了3个非常有用的框架(NPOI, Toxy和Nepy),这些框架分别对应于java的POI、Tika以及Stanford NLP(NER部分)。我朋友也有其他的.NET开源组件在维护,我是想说,通过大家的努力,.NET开源领域正在被丰富,而且逐渐你会发现你需要的开源库.NET其实都有了,只是可能没有Java这么丰富,这需要时间和人的投入,以及社区的信任才会得到发展。
微软说实话,在过去的日子里很不给力,基本上.NET社区一直处于”散养“状态。如今随着微软开源运动的推进,这一切正在改变,微软正在主导社区创新,并帮助整个.NET技术社区成长,这个非常有意思。去年呢,.NET基金会也成立了,虽然这帮人到现在还在“打酱油”(谁说只有中国出酱油男),我已经发邮件给几个微软资深PM了,他们已经明确表示接下来会有改观,基金会还新聘了一个市场总监,专门负责推广事宜,既然他们都明确表态了,我相信会有不同。让时间来证明一切。
重新拉拢合作伙伴也是微软应该做的事情,其实在过去,微软中国区合作伙伴比散养好不了多少,无非是你买个白金支持包,我帮你定制一些东西,比如当年魅族的WinCE定制操作系统。但一旦微软说不能做,那帮合作伙伴基本就只能选择放弃,所以微软的MCS部门(微软客户咨询部门)和技术支持部门还是很关键的。但如今,很多东西正在被开源,比如Driver SDK,一旦厂商有了这些,他们就有了主动权,可以有效改变目前的散养格局。其实哪天微软想开了,把Windows开源了,那么微软可能会成为全球市值最高的软件公司。其实开源了又如何,有多少人真的会去改?反而有利于漏洞的发现和修复,你让他去定制好了,比如中国花了多少钱打造所谓的自主知识产权的军用操作系统——麒麟,说白了就是拿Linux改的,而且关键没改好,一堆问题,很多东西都不知道怎么改,只是改了FreeBSD的通讯加密部分,就说整个操作系统是自主知识产权了,我也算服了。你们就算骗经费也稍微搞点高大上的东西行吗?受不了这帮人,特别是某倪姓院士,脑残中的典范!
.NET社区的振兴需要大家的努力,说的大点关系到整个微软系开发的发展问题,说的小一点,社区振兴了,你找工作会好找很多,而且待遇会越来越好!我觉得Java、Python语言的高薪资只是暂时的,任何语言都有兴衰,Java自从被Oracle收购后一蹶不振;Python刚刚兴起,正值壮年,关键看谁能熬到最后。你看当年PHP多火呀,再看看现在,找个PHP的资深程序员很难,基本都转了。没事记得在你老板那里吹吹风,说说.NET最近的变化,微软的变化,人是善变的,你说一次他无动于衷,但是说十次就很难说了,但你不需要刻意去改变什么,老板也是人,是人就有跟随心理,一切顺其自然,让时间来证明一切。
关于Neuzilla
Neuzilla致力于打造.NET核心竞争力,引导并帮助.NET社区健康发展。请点击这里在Linkedin上关注Neuzilla。
也可通过扫下面的二维码关注Neuzilla官方微信公众号
来源:https://www.cnblogs.com/neuzilla/p/recreate-dotnet-ecosystem-neuzilla.html