开源的意义:
关于开源,我个人觉得有两个提高(勿喷)。
一方面开源提高了生产力,另一方面开源也是信任的一种体现。为什么这么说呢,在当下的互联网时代,开源是一种核心价值观。人与人沟通交流合作之下,降低成本并且提高生产力的必然产物。就目前流行的众筹之类的概念都是与之大同小异。试想一下,全球各地都有开发者、贡献者,这个力量与单独的个人与小团队的力量是不可同日而语的。而另一方面,信任。你可能会奇怪这跟信任能扯上什么关系?试想一个SDK你可以完全看到其实现过程,随时都可以检查其源代码,你有什么理由不去完全信任他?(你硬要说你看不懂那我无话可说0.0)
.Net跨平台
对开发者的意义
如果你对开源有一个深刻的认识,那么仅仅开源两个字就足以给你充足的理由去尝试一个非常不错新东西。但是对于其他一部分开发者来说,.Net核心源代码的开源对他们并没有什么实质意义,因为他们没有能力没有时间也没有兴趣去阅读或修改源代码,毕竟有的时候当兴趣成为了工作之后看待方式就不一样了,非常不幸,我就是其中一人233333。那么对于我们这类人,跨平台又有什么实质性的意义呢?Java有一个机制:一次编译,到处运行。什么意思呢,写一次代码,可以在任意平台上运行,这难道不是每一个开发者梦寐以求的东西吗?这难道不是Java流行的根本原因?各种语言之间的区别并不大,学习一门新的语言其成本也低到可以忽略不计,当然前提你是一名经验的开发者,这对于你来说简直易如反掌。但是对于一个生态环境的代价却是巨大的,每一门语言都有自己的类库,都有自己相对成熟的框架,恰恰就是这些东西拉开了各语言之间的差距与学习成本,相信这些也正是在日新月异的互联网环境下我们都难以承担的代价。
对于微软自身的意义
.Net的开源被不少人认为是微软最后的让步和尝试,而事实上这样的明攻暗守却并不是第一次了,最后无论是微软还是用户都已经从这个先例中获益良多。这里就不在敷述,各位有兴趣请自行搜索SUN公司。在当今互联网时代,传统的单纯靠授权收取费用来盈利已经不再是一个理想的方式了,吃肉喝汤才是正确的思路。苹果IOS的巨大成功就是一个吃肉喝汤的典范。那么如何才能正确的实施吃肉喝汤的战略?构建生态圈。构建生态圈的第一步就是拥抱开发者,正是庞大的开发者基数奠定了这个重要的基石。试想我们开发的application不用大规模的去修改核心代码就能够在Windows、linux、Android、iOS、Mac OS上运行,一门语言既能做当下流行的B/S网站开发又能做传统C/S桌面APP的开发,而且还能兼并移动开发,那么我们又有什么理由不想去投入这门语言的怀抱里呢?微软收购Xamrin与Mono已经展示他的野心,Xamrin在没被收购前价格高的吓人(偷偷告诉你比ios开发者还贵),而收购之后则是免费的,可以预见会有不如开发者加入这个阵营。
说到这里,不得不说微软在近一段织的一个大网“Azure”。天下武功,唯快不破。这里的快,并不是说性能上的优势,而是开发速度。我记得有句话是这么说的“人生苦短,我用python”,python以其开发速度与迭代速度在这个时间就是金钱的时代得到了无数开发者的认同。那么这跟azure又有什么关系呢?因为使用Azure你可以达到同样的效率,哪怕是使用C#(我不是说C#效率低,大神别喷)。Azure的集成度与使用的简易度已经完善到了令人发指的程度,在当今这个云时代还没见有更好的,这里只说界面不谈内容。Aws作为云的开山鼻祖在价格与基础、基础设置以及技术经验上都有巨大的优势,作为IaaS无愧为业界老大,但是在更高级的PaaS层面Azure确实是遥遥领先的。身为一个穷屌丝,我的网站都是部署在阿里云上,而且是学生认证那种23333,而Aws也是一次搭建***神器时发现的一年免费试用才接触到的。目前由于工作需要,有机会接触到Azure的大多数内容,其易用程度令人叹为观止。说句心里话,我真是害怕用多了我自己都成*了。站在巨人肩上,重新造*这种事在我们短暂的人生中还是少做的好。
看到这里微软的战略大局已经差不多清晰起来了:
开源.Net-拥抱开发者-Azure-完整生态圈-吃肉喝汤
而如果我们单一的看其中的任意一环都是毫无意义的,因为任意一环都可以被替代,但如果我们真正的踏入其中并开始使用这些服务时,那就完全是另一个世界了。
小结
作为宇宙最强IDE(没有之一)Visual Studio的使用者,清清楚楚的了解这种快感。能走到这一天也实属幸运,有生之年系列23333。在这里,我们也终于有机会像大部分Java程序员那样有钱了哈哈哈。前些日子了解到,Visual Studio已经发布了Mac版本,真是喜大普奔。这个世界从来都不是一成不变的,能够在linux上运行我的C#项目,这对我来说已经是一种幸运。