比尔盖茨公认的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是一家”!

随机推荐

  1. js系列(9)js的运用(一)

        本节开始介绍javascript在html页面中的运用.     (1)link样式表的动态绑定:(http://files.cnblogs.com/files/MenAngel/text04 ...

  2. Linux系统下安装rz/sz命令及使用说明(转载)

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...

  3. php入门单引号与双引号区别

    [1]单引号和双引号在处理变量的时候做法: 括在双引号内的变量会解释出值,但是括在单引号内则不做处理,直接输出: <?php $var = 'my name is huige'; echo &q ...

  4. js 中的cookie

    根据智能社31cookie基础与应用总结, cookie的特性: 1.同一个网站,共用一套cookie,实际上是根据域名来区分的. 如t.sina.com.cn ,和weibo.com这两个都是新浪微 ...

  5. 【二分图】 poj 1466

    #include <iostream> #include <memory.h> #include <cstdio> using namespace std; int ...

  6. 如何在markdown中插入表情

    Markdown是很好用的呀,个人灰常的喜欢,也是灰常漂亮的,但是如何在写文章的时候插入表情呢,下面给出一部分代码

  7. C控制语句:循环

    #include<stdio.h>int main(void){long num;long sum = 0L;int status; printf("Please enter a ...

  8. C# 使用SmtpClient发送Email

    使用Winfrom写的报错信息发送邮件通知. 以下主要代码 /// <summary> /// 发送邮件核心代码 /// </summary> /// <param na ...

  9. 零基础学习python_列表和元组(10-13课)

    一时兴起今天又回过头来补一下列表和元组,先来说说列表哈,列表其实是python最经常用到的数据类型了,不仅经常用还很强大呢,这个跟C语言里面的数组是类似的,列表当然也可以增删改查,不过我可没打算用之前 ...

  10. R链接hive/oracle/mysql

    Linux:R连接hive用的Rhive 1,重要 1,sudo R CMD javareconf 2,sudo R 3, 1+1 是否为2 3.1,>install.packages(&quo ...