比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代。
2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁。
2013年他与微软做了最后的道别。
2013年以后,我才真正看到了微软的变化。尤其是它的“云优先,移动优先”的战略,这才是符合新时代潮流的大势。
今天,既然我们重点是来讨论Java与.NET领域的,那关于微软的是是非非且放置脑后。我说.NET看起来更新很快,目前只是在弥补曾经犯下的错。
那.NET之前究竟错在哪里。.NET既然是微软实现跨平台与Java竞争的利器,那么它在Java兴起多少年之后,才渐渐的崭露头角。可谓后起之秀,它在吸取了C、C++和Java等语言的优点后,加入一些.NET自己的设计理念,形成了一个多语言、多平台的.NET Framework框架。如果一定要拿.NET和Java做对比的话,我认为,至少要从两个方面来看。
第一、设计理念:
1>Java不言而喻,了解Java历史的人,都应该清楚。致力于打造一款可以一处编写、到处运行的开发利器。像它的名字一样,使你在开发的过程中,领略到咖啡质地的苦味和醇厚的香气,其中的酸苦香甜总是
耐人寻味。它作为中间语言,总要依赖于JVM,这也是无可厚非的。Sun的光辉已经不复存在,Oracle的步伐略显迟钝。Andriod的兴起,给Java注入了新的活力,使其在世界编程语言榜上独站鳌头。
2>.NET与Java的很大不同之处,在于,.NET是一个致力于打造一个多语言多平台的软件框架。.NET设想能把不同语言、不同习惯的开发者,都聚集起来,使他们能共同参与到一个项目里来,于是,就会有了C++、
C#、VB、F#等语言的开发者,用其所长,共同来完成一件事情,岂不壮哉。是软件领域,首次超越了语言的界限,进入软件开发领域的“国际化”。.NET与Windows与生俱来的先天优势,借助于Windows全球的市场
占有率,很快的推广开来。道家言“福之祸所依”,正是.NET这种先天优势,使.NET与Windows相生相克。为什么这么说呢,因为.NET依赖Windows而生存,Windows须借助.NET强大的功能来赢得市场份额,或者说是
稳定PC市场。.NET要发展壮大,必须脱离Windows而独在,可在2013年之前,处于市场战略考虑,.NET不得不臣服于Windows,受其平台束缚。这犹如森林的猛虎,被猎人(MS)绑住了四脚,眼看前方的羊群,即使它有再锋利的爪牙,再怎么的饥饿难耐,也只能为自己的目前的处境,哀婉叹息,望穿了山林。我说.NET Core是弥补曾经犯下的错,这也不为过,.NET的跨平台,曾经常被人们拿来炒作,这是.NET的痛,现在用.NET Core来医治这个伤口。
.NET框架组成:(Winform、WPF、Silverlight、WCF、WebForm、ASP.NET(MVC、WebApi))
3>Java也好,.NET也罢,其作为中间语言,都需要依赖于某种框架。Java有JVM,.NET有.NET Framework。都是面向对象的语言。Java可以实现的,.NET照样可以移植过来。
第二、市场概况
1、成熟度:很多大的企业都是运用Java语言来进行产品研发的。很多开源的项目,都是Java来编写的。原因有很多。Java毕竟比.NET早兴起了很多年。它们有许多优秀的案例和成熟的框架。
市场氛围:在中国,有种怪现象,很多开发者,对微软是存在或多或少的偏见的,可能是因为微软总是喜欢问他们要钱,中国人最不喜欢谈“钱”字哈。是存在利益冲突的。这样一群人,只要听说微软的什么什么,第一个想到
的不是先去了解,而是极力的斥责反对,还鼓动身边的人,不要听微软瞎摆豁。难道都忘了,不了解就没有发言权这句话了吗?我曾在一篇博客的评论中,斥责评论中的一些人,他们每天都用着微软的东西,嘴里却总数落着微软的
不是,这岂不是自己在打自己的脸嘛。我觉得,我们应该客观的看待事情,不要带有感性的色彩,最后误人误己,何苦呢?
2、安卓的兴起:随着Andriod的兴起,国内,又一批类似DN这样的IT培训机构,又借此,以IT人才匮乏为由,大肆吹嘘,夸大其市场就业率。高昂的培训费用,使多少盲目从事的新人,在面临一次又一次的失业中,悔不当初。
3、另外,linux的风行,给之前封闭的.NET家族不少冲击。阿里曾称:“我们的所有服务和平台都运行于Linux。”。听起来,多么高大上啊。京东的技术架构、淘宝这十年等这些经验,都在警告.NET,你不拥抱linux,我们就放弃你。
.NET的开源,振奋了整个.NET领域。有一群,或者很多群,开发者正积极参与.NET的开源事业中,他们勇于创新和实践,将.NET领域的最新技术,应用与实践。或许,已经有很多公司已经在默默使用微软这些技术了。
《StackOverflow的最新架构:.NET技术+25台服务器怎样支撑世界第53大网站》,它的成功,更加鼓舞了.NET开发者的信心。微软对Docker技术的支持,正象征着微软这头沉睡的狮子,依然觉醒了,它依然威武雄壮。
每一个开发者,都应该有自己的信仰,这也是IT文化的一种传承吧。那有人会问,Java开发者的信仰来自哪里?Java开发者的信仰,自然是Java语言自身。我认为,它来源于对Java语言的自信,它有广阔的前景市场,有丰富的框架资源,有令人满意的待遇收入。
.NET开发者自然也有自己的信仰,那就是.NET平台。相信.NET的觉醒,会使更多的企业和开发者,投入到.NET的怀抱。
既然从事Java和.NET的人,都是有信仰的,那我们又何况用自己的信仰去嘲笑另一种信仰呢?中国几千年了,道教和佛教,依然和平相处着。春秋时,诸子百家争鸣,也未尝听说有互相攻击的事件发生,他们可以通过自己的信仰学识,
向当政者,阐述自己学派的主张。我们也可以通过我们的信仰,在不同的领域共存,很有可能,会在未来某个时间,Java和.NET会一较高下。平台有了,接下来,要看的,就是我们这些来自Java .NET不同学派的学子们,如何在中国这片
锦绣山河中,各领风骚,崭露头角了!
所以,在以后的生活里、社区里、博客里、论坛里,我不希望听到有“.NET不行”、“我们都用Java”、“以后要换成Java”、“大公司都用Java”、“我要转行学Java”等这样的话了。
最后,想说的是,Java和.NET,亦师亦友,抛开学派的偏见,以合作的精神,共同去完成一件事情,岂不快哉!也顺应了这个时代的发展,创造更多的价值!也恳请,企业同仁们,不要受少数偏执派的影响,勇于去接受新生的事物,“海纳百川,有容乃大。沟壑千里,无欲则刚。”。在这里,我倡导,“天下IT是一家”!