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

论:开发者信仰之“天下IT是一家“(Java .NET篇)的更多相关文章

  1. 北京一家JAVA开发公司面试题(留给后人)

    1.jsp有哪些内置对象?作用分别是什么? 2.描述一下servlet的生命周期和基本架构. 3.多线程有几种实现方法,都是什么? 同步有几种实现方法,都是什么? 4.作用域public   priv ...

  2. Chrome开发者工具不完全指南(二、进阶篇)

    上篇向大家介绍完了基础功能篇,这次分享的是Chrome开发工具中最有用的面板Sources.  Sources面板几乎是我最常用到的Chrome功能面板,也是在我看来决解一般问题的主要功能面板.通常只 ...

  3. Chrome开发者工具不完全指南(五、移动篇)

    前面介绍了Chrome开发者工具的大部分内容工具,现在介绍最后两块功能Audits和Console面板.一.Audits Audits面板会针对目前网页提出若干条优化的建议,这些建议分为两大类,一类是 ...

  4. Chrome开发者工具不完全指南(六、插件篇)

    本篇是Chrome开发者工具的结尾篇,最后为大家介绍几款功能强大的插件.在chrome商店里面有很多插件,没事建议大家去逛逛.不过需要FQ,所以诸位请自备神器.一.皮肤插件 首先是大家期盼已久,翘首以 ...

  5. 开发者应该避免使用的6个Java功能(转)

    本文作者是一名拥有多年Java开发经验的程序员,他从经验中得出,并不是所有的Java SE功能/API都值得程序员去使用,比如本文列举的这6个,大家在使用前得慎重对待.以下是对原文的摘译. 多年的Ja ...

  6. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  7. 【开发者笔记】插入排序过程呈现之java内置GUI表示

    先给代码,再给过程视频: package com.dyi.wyb.sort; import java.awt.Color; import java.awt.Graphics; import java. ...

  8. 【开发者笔记】冒泡排序过程呈现之java内置GUI表示

    自己玩玩写写,排序的过程多么有趣,特别是把看着电脑吧一堆乱七八糟的数据排成有序组合的时候,看起来贼舒服,特别是强迫症患者.好了,话不多说上代码,也算是自己记录一下吧,没有什么技术含量但个人感觉比较有趣 ...

  9. 【开发者笔记】归并排序过程呈现之java内置GUI表示

    在网上看到一个视频将各种排序用视频表示出来,配上音乐,挺好玩的样子,就算是不会编程的人看到也会觉得很舒服,碰巧我也正在写归并算法,于是就用java的GUI实现一个. 归并排序的时间复杂度是T(n)=O ...

随机推荐

  1. SQL SERVER 2012 只能识别20个CPU的问题

    背景 最近在给客户优化时时候发现客户的虚拟机环境分配了32C 但是只能识别20个,物理机64C,64G内存,本来没什么,CPU利用率在40%左右,但是优化后同时增加了 CPU和内存的分配,CPU32增 ...

  2. Android 在xml中配置 float 和 integer 值

    一.float的配置方法 andriod 默认不支持float型的设置,在values 下的新建floats.xml 文件,在内部添加如下代码: <resources> <item ...

  3. ubuntu下使用nethogs监控网络流量

    NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...

  4. css 样式大全

    字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: obl ...

  5. 第一篇、C_高精度加法

    简介: C语言中,整型占4字节,现在要计算两个100(假设)位以内的数想加,如果只是用整型去存储,明显就会越界.那么,我们有什么好的方法去完成这一操作呢? 1.用数组实现 数组中可以可以存储一定长度的 ...

  6. HDOJ -- 4632 区间DP

    Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65535 K (Java/ ...

  7. 网站集成QQ登录功能(转)

    最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一 ...

  8. ASP.NET没有魔法——ASP.NET MVC IoC

    之前的文章介绍了MVC如何通过ControllerFactory及ControllerActivator创建Controller,而Controller又是如何通过ControllerBase这个模板 ...

  9. UWP取出图片主色调

    一切都要从风车动漫的新详情页说起... 当我最初拿到风车动漫新详情页的UI设计概念图时,新详情页中有两点: 1.图片的高斯模糊 2.取出图片的主色调(主要用于tag和相关动漫的标题背景) 大概就是要这 ...

  10. iOS开发基础之开发证书的说明和发布

    1.首先通过钥匙串访问--证书助理--从证书颁发机构请求证书--填写证书信息(邮箱,常用名称,存储到磁盘)--存储为(自定义名称.certSigningReuqest,简称CSR文件,只是为了提交到苹 ...