Java vs .NET,我该选择什么?

时间:2022-03-20 22:14:06

写下这个标题后,一阵心酸。

出道太晚了,时代的车轮在高速前行,我却远远地看着,追之不及,惟叹息耳。

  唉,年华已逝,逝者如斯啊。如果我还是一个学生,该有多好,可以*选择,甚至多选。

学习.NET已两个星期了。然而当周一接到福建那边招标文件的时候,我突然莫名地懊恼了整整一天。招标文件要求UNIX系统、J2EE架构、Oracle数据库的。

我很愤怒。为什么?.NET真的只适合于中小型系统?是否干脆就象多数人认为的那样,只是做网站用的?几条高速公路的管理软件,数据量这么小,却象大型企业级应用一样……

直觉告诉我,结合了C#的.NET足够强大。C#本来就相当于改良的Java语言,.NET框架提供的便利当然远比J2EE要强,开发效率也无出其右。Java是组件式设计,.NET的组件式设计意图更为明显,Java强调复用,.NET同样强调复用。为什么大家不用.NET?

带着失望与颓废的情绪,我在CSDN上搜到了一篇贴子,很牛的一个Java开发人员,做了五年Java,开发了很多大的系统,现在却逐渐向.NET靠拢。跟篇贴子很长,感觉凡是做Java并深层次地接触过.NET的人,对Java的低效都很有感触。凡是做Java但没用过.NET的人,多半持怀疑态度。归纳如下:

1)Java开源,是其优点,也是其缺点,太多的选择不仅让新手、也让老手无从下手;

2)缺少灵活的调试器,配置相当麻烦,一个Java配置老手一定比不上一个.NET配置新手的速度更快;

3)理论太多,没有象.NET那样鲜明的路线,用户今年要求这种框架,明年看到那种框架不错,又要求那种框架,结果改来改去,不胜其烦;

4)跨平台更象一个摆设,没有哪个客户会去想随便更换平台的;

5)开发效率低,周期长,成本高。随便哪个软件,只要用Java一写,成本铁定翻番;

可叹的是,大家用Java的理由居然是:

1)*逼我们用Java。*部门一般都要求上Linux或Unix系统(尽管我不认为这些系统是真的架构胜过Windows而较少受攻击,实际上,黑客更多是将对微软的不满发泄在了Windows上。),不用Java,用啥?

2)客户指定用Java。就象这个系统一样,他们听惯了时髦的名词,仿佛不上Java项目不能体现企业精神。

也许我是有点偏激了,可是几十篇跟贴中,那么多做Java的,居然没有几个举得出更多的技术上的道理。常见的原因是:我爱Java是因为讨厌微软的*;我爱Java是因为它我用它时有更多程序员的感觉。

然而时代不同了。随着SOA面向服务架构的出现,以及中间件、平台概念的大众化,今后的程序员将走两级分化的路子:顶层的是架构师,中间的是平台厂商,底层是软件蓝领。软件的本质是满足需求,我做程序是因为别人要用程序,不是因为我喜欢某种感觉。

软件是思想,就让我继续走微软路线吧。谁让它简单、易用呢?

也许有机会到一个使用Java的环境中,我会学习Java的。毕竟开源操作系统、*软件正做着主导历史舞台的准备。

12月12日接福建招标文有感)