关于.NET VS JavaEE平台争论的沉思录

  最近关于.NET和java平台之间的争论似乎又热起来了,就我关注的两个社区,先是老赵的《为啥老赵不喜欢Java*语言*》。引发了博客园的大讨论,最近csdn又有人发博.Net与J2EE的快餐型比较,引发了空前的大讨论。从论调来说感觉对java不利。虽然csdn得那个篇博文深度不够,但确实引发了
大量了讨论,虽然很
多人都说,这个话题没啥好讨论的,既然引发了大讨论,自认有其内在原因在驱动,所谓空穴来风。。。。

  关于两个平台的
优劣已经讨论的够多了,我在这里就不多说了,我在这里提个现实的问题供大家思考:

  国内外用.NET做的大型系统确实java的要比.NET的要多,这是客观的事实,我们研究.NET的专家们有没有反思过,为什么?

  我大致总结了
几点或许可能的原因,请.NET的同仁评判(.NET比java好的地方就不多说了:)

  1)是因为linux unix系列的操作系统更加稳定安全?通常java的程序都是部署在unix家族的服务器上

  unix系列的服务器(大,中,小型机)发展这么多年,确实口碑很多好,有sun,ibm,hp等大公司全力推动,甚至垄断。基于unix的HPC服务器也是很多年就有了,而微软的HPC也就这两年的事,还没有怎么有大型的应用,据说有些HPC已经部署在华尔街的投行了,据说亚洲最快的服务器“魔方”也是用的微软的HPC。希望微软的HPC一路走好。

  但unix是需要大把银子的,动辄几百上千万的,不过能用的起的机构也不在乎这点钱。。。。

  至于说linux,稳定性或者安全性比最新版的Windows server高,我认为未必,关键看用的人的水平。。。。

  2)java跨平台?

  我个人认为这里理由在大多数公司都是不成立的,一个系统一但选定了一个平台,再换平台的可能性微乎其微

  3)linux操作系统免费?

  这个在某些情况下确实,但Windows server却是也不贵,只有在很大规模部署的时候,才能显示出成本优势来

  4) java的开源项目多? SSH,Jboss,Seam,tomcat,OpenJMS, ActiveMQ,HDIV,......

  这个做.NET的同仁不得不承认,但现在.NET上没有一个被广泛使用的开源MVC框架,虽然我
觉得WebForm也不错,但是看了ROR,Grails这些框架后,还是觉得ASP.NET还有很多东西需要完善,需要追赶。祝愿ASP.NET MVC2.0可以全面赶超......

  消息系统,.NET似乎只有MSMQ一个,据说ActiveMQ也出.NET版了,但谁在用呢?

  至于ORM,.NET确实也有NH,iBatis.NET等产品,但最新的版本总是java得优先出来,.NET的版本都是感觉是没妈的孩子,话又说回来,真正把HN,iBatis.NET的用的好的有
多少呢?但是Linq to Sql出来的时候大家那个热情啊,微软出品,一定要好好研究,要不然就落伍了,兄弟们,睁开眼吧,我们要向java学习,要自己创造,不要什么都等微软做好了,才去研究。.NET圈内好像有个不成文的约定,所有的技术或组件,优先使用微软提供,微软只要有,那就是
最好的,就一定要用。我个人觉得这不利于.NET平台的大发展。。。

  5)java起步早,有些系统已经用java在做了,同时
精通java的人才多?

  这是我个人的感觉,算是一个因素,从我招人的经历来看,java的高级人才确实比.NET好招,难道国内.NET的高级人才这么抢手。。。。,或许吧,恭喜大家了。

  希望做.NET的哥们,都尽快成长起来,成功一方高手!!

  6) java的商业化工作做得好?

  个人感觉,SUM,IBM,ORACLE。。。等公司
借助其平台产品和品牌的优势,在一些mission critical的系统上投入了很大的公关,如电信,银行,金融,能源等。

  微软在这么方面起步比较晚,产品线还在OA,Exchange上,他的HPC,SQL Server,包括分布式组件WCF,WF等企业产品线需要大力提高。

 

  以上是我个人的观点,这里主要想总结一下java比.NET的可能优势,或者说.NET那些地方还需要追赶,有些东西的发展不是我们能左右的,但希望我们能认清形势,尽量弥补,也许不久的一天,事情已经不是今天这个样子了。

时间: 2024-09-29 06:10:18

关于.NET VS JavaEE平台争论的沉思录的相关文章

艾伟_转载:关于.NET VS JavaEE平台争论的沉思录

最近关于.NET和java平台之间的争论似乎又热起来了,就我关注的两个社区,先是老赵的<为啥老赵不喜欢Java*语言*>.引发了博客园的大讨论,最近csdn又有人发博.Net与J2EE的快餐型比较,引发了空前的大讨论.从论调来说感觉对java不利.虽然csdn得那个篇博文深度不够,但确实引发了大量了讨论,虽然很多人都说,这个话题没啥好讨论的,既然引发了大讨论,自认有其内在原因在驱动,所谓空穴来风.... 关于两个平台的优劣已经讨论的够多了,我在这里就不多说了,我在这里提个现实的问题供大家思考:

《设计模式沉思录》—第1章1.1节对模式的十大误解

第1章 介绍设计模式沉思录在阅读本书之前,如果读者还没有听说过一本名叫<设计模式>(Design Patterns: Elements of Reusable Object-Oriented Software [GoF95])的书,那么现在正好可以去找一本来读.如果读者听说过该书,甚或自己还有一本但却从来没有实际研读过,那么现在也正好应该好好研读一下. 如果你仍然在继续往下阅读,那么我会假设你不是上述两种人.这意味着你对模式有大致的了解,特别是对23个设计模式有一定的了解.你至少需要具备这样的

迪克森沉思录之做Global SAP项目的弊端

迪克森沉思录之做Global SAP项目的弊端 笔者在过去的十年里,参与过好几个大型跨国企业在国内工厂的SAP推广实施项目,这种项目就是将总部设计好的全球模板推广到其海外工厂,使得其诸多海外工厂能按照同一个模式在其GLOBAL唯一的服务器上运行其日常业务,实现全球总部对于海外工厂的统一掌控与管理.   参与这种项目的好处,笔者在之前的诸多文章里已经分析过,这里不再赘述.笔者在这里就参与这种项目的诸多弊端,结合个人的项目实践与思考,予以阐述和分析.   弊端之一:顾问的咨询价值的发挥受到掣肘,不能

【好书试读】交互设计沉思录——顶尖设计专家Jon Kolko的经验与心得

开始试读:https://yqfile.alicdn.com/b12816b6bb15db27d068501ec382db3f.pdf 天猫购买链接:交互设计沉思录--顶尖设计专家Jon Kolko的经验与心得 本书由交互设计领域的思想领袖Jon Kolko所著,是交互设计领域的里程碑之作.本书完美地将当代设计理论和研究成果融入交互设计实践中,将对交互设计的阐释和分析推向了新的高度. 本书重点阐释了对交互设计领域的最新理解和洞察,以及人与科技之间的联系.作者通过引人入胜的内容实现对设计师的教化,

c++-C++沉思录第九章编译问题

问题描述 C++沉思录第九章编译问题 main1.cpp:20: 错误:no match 为'operator<<'在'std::cout << p'中 解决方案 C++沉思录第九章的练习 解决方案二: iostream头文件包含正确了吗 解决方案三: #include #include "picture.h" main 文件 解决方案四: #include #include "picture.h" main 文件 解决方案五: #inclu

《设计模式沉思录》—第2章2.1节基础

第2章 运用模式进行设计设计模式沉思录如果想体验一下运用模式的感觉,那么最好的方法就是运用它们.对我来说,最大的挑战在于找到一个所有人都能够理解的示例.人们对自己的问题最感兴趣,如果某些人对某个示例越感兴趣,这个示例往往就越具体.问题在于,这样的示例所涉及的问题往往太过晦涩,对于没有相关领域背景的人来说难以理解. 层级文件系统(hierarchical file system)是每个计算机用户都熟悉的东西,就让我们来看看该如何设计它.我们不会关心诸如I/O缓冲和磁盘扇区管理之类的底层实现问题,我

《设计模式沉思录》目录—导读

版权声明设计模式沉思录Authorized translation from the English language edition, entitled Pattern Hatching: Design Patterns Applied, 9780201432930 by John Vlissides, published by Pearson Education, Inc., publishing as Addison-Wesley Professional. Copyright 1998

单片机沉思录——再谈static

静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值.     静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见.用法1:函数内部声明的static变量,可作为对象间的一种通信机制     如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量.这个对象将只在执行线程第一次到达它的定义使初始化.用法2:局部静态对象     对于局部静态对象,构造函数是在控制线程第一

单片机沉思录——static

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c.  char a = 'A';  void msg()  {     printf("Hello\n");  } 下面是main.c的内容 int main(void) {