五千年(敝帚自珍)

主题:【原创】我看:JAVA和.net孰优孰劣?这是个问题。 -- 睡虫

共:💬49 🌺19
全看树展主题 · 分页首页 上页
/ 4
下页 末页
家园 哐啷一声,第二块砖头飞了过来,睡虫又醒了!

嘻嘻,第一块砖头砸得有点偏了,没错鲍鱼和鲈鱼的口味不能比,但可以比比别的,例如蛋白质含量,脂肪比例,胆固醇高低。

JAVA和.net孰优孰劣?愚以为可以定两条标准,其一是相同项目,源码较少的为优,其二是成品性能较佳者为上。

性能的比较,小弟有个想法,给出相同的预算,各自准备好自己的平台,然后用相同的测试工具来测。预算也可以分级别,10万,50万 100万等等。

至于开发速度,取决于太多因素,例如开发前的业务分析,项目管理,程序员素质,测试等等,太难比较了。

不知有无这方面的对比?

家园 懒厨子也是个偏心厨子,呵呵

如果是企业开发,最重要的评价应该是可维护性,可扩展性和平台无关性。性能不一定是最重要的,代码行数更无所谓。俺认为懒厨子明显偏心,不服啊不服!

其实我一直认为中小企业开发,点NET的优势还是明显的。

家园 兄台说得有理

但小弟也有小弟的理由,问题在于如何量化。例如,您说该如何对比可维护性呢?这可维护性很大程度取决于设计,而设计的好坏,又与开发工具无关。

代码行数至少还比较直观,一般而言,相同的设计,同级的程序员,行数较少的,较易维护,虽然,我不认为Java和C#的差别会很大。

至于性能的比较,也是因为可以量化,才提起的。

家园 花一吨。。。

我对你的景仰之情就如黄河之水滔滔不绝啊。。。。

写得真好。连我都大部分看懂了。呵呵。

早把你钓到西西河就好了,我的科普战斗力会因此还提高一点。

家园 你的科普素质历来不差

看懂这个,是小意思

我还记得,你只是被那个“将动未动,未动将动”搞晕了,要不然,理工科就又多一个好学生,呵呵。

家园 休息了两天,今天才回来,答复晚了点,见谅!

提起这个,我首先想到的是两个EJB3.0里的细节:

1)终于可以不写空的回调函数,并在容器外调试

凭借注释机制给EJB加标签,原来困扰程序员的不易部署、难于调试的问题,大大改观。这使得原来大家公认的J2EE中唯一没有兑现“简洁”诺言的EJB风格与其他部分统一。

不过我有点担心最后的标识会不会太庞杂?但无论如何,这一点是很大进步。

2)EJB3.0增强了查询能力

以前的系统,通常用EJB实现增、删、改,查询都用其他方式实现。这次EJB3.0的QL,对查询的复杂性支持提高了一个数量级,而且提供分页功能,其投影(projection)特性允许程序员只取出对自己有用的字段,查询功能不仅比原来的EJB2.x提高,比我们原来自己开发的分页器查询性能,估计也会有很大提高。

投影(projection)特性,hibrnate和JDO都是这么做的。EJB3.0一出来,JDO都要面临被弃置了。呵呵。

家园 这次醒得晚,害老兄久等

我没有这两方面的对比数据。

性能方面,highway的文章已经分析得很精到。对你的问题,我认为:同等预算下,Java不输给.net,甚至还可能超出。

毕竟Java有很多开源项目支撑,节省费用。而到了高端,比如500万预算那种,.net又拿什么来和RS/600,AIX之类的组合比拼呢?

关于代码少的占优,歧义比较多,我不赞成这么比的。

1)实现同一个功能的代码,有些代码短的,会比较难度,不易维护

2)自动生成的代码,计不计入在内?

基于以上两个原因,这个比法我觉得不科学。

较真一下,要严格的量化比较,就要同样的需求、同样的设计,同一个程序员用Java和.net分别编码,再比较代码结果。这个,有没有可能?从设计就会有不同,就算是同一个程序员,对Java和.net的掌握程度肯定不同,前提不严格,出来的结果就不能算是严格论证。(忽然觉得,这样的试验,有点像经济学的一些研究,无法准确验证。)

概言之,可维护性还是可以度量的,用项目完成后一定时间的维护成本。

这个问题,又是个头疼问题,呵呵。

家园 呵呵,不急的

确实,要客观的比较,是很难的。

但小弟还想再较真一次

您的第一点,似乎可以用Design Pattern来解决,用相同的Pattern来比较,可能足够客观。

第二点,可以用双方的SDK,不算自动生成的代码。自动生成的代码算是用在工具上的工具了。

至于程序员的挑选,异想天开一下,我会这么做,从相同行业里挑,有四年经验以上的,(为什么四年,记得盖茨说过,要是四年之内不能成为一个好的程序员,大概就不会成为一个好的程序员了),IQ相近的。

我个人的看法是,Java和.net是同级的开发工具,要是让我来挑,我会看预算来决定。

其实说到底,一个是钱的问题,一个是人的问题,工具反而是次要的。

越聊越离题了,惭愧

家园 是个好主意,要是有实际预算,就可以开做试验了

还有一个问题,时间问题,对项目也是至关重要的。虽然这一点上,Java明显弱。

家园 今天重新认识了Java的好处

我前段时间有点偏爱C#。

最近因为需要做一个较大的计算,PC上搞不了了,只好登录到SUSE上面去做。可用的语言好像有c++、F77和Java。自然选择Java了,因为我对于这三种语言只会用Java做出一个GUI。

运行Java的时候使用默认的设置出现内存不够而退出。使用

java -Xmx 的设置,在Java1.4.0下不成功,在Java1.5.0下成功了,我竟然可以开到100G以上的内存!比我PC上的硬盘还大。

你们在Linux下用什么Java IDE啊?我现在只会用命令行。

要么就是把在PC上编译好的claa直接拿到SUSE生运行,这也是Java的原始好处。

家园 关于Linux下Java的IDE

我在WINDOWS下LINUX下都用ECLIPSE。

你可以到

http://download.eclipse.org/eclipse/downloads/drops/R-3.1.2-200601181600/index.php

下载。

我觉得这是一个很好的开发调试环境。

关键词(Tags): #ECLIPSE
家园 一朵花。

可惜我不是管理员啊。

什么是记事本对应的程序啊?VI我不会用,用office又牛刀太笨重,我现在只好每次在pc上做好一个东西上传。

家园 LINUX 下的eclipse

装ECLIPSE需要系统员特权吗?好像不要吧?展开后不就是一个JAR文件吗?把CLASSPATH设置好了就可以了吧?

我没有用过SUSE,LINUX我一直都是用REDHAT/ FEDORA的,用GNOME界面。这样的话,你可以用GEDIT,那是和NOTEPAD完全对应的东西。

不过我建议你学几条VI命令。对UNIX/LINUX系统而言,VI的好处就像JAVA一样,只要你会了十几条命令,上哪里都好用。我一直不是VI高手,但是足够用了。最有用的无非就是插入,删除,拷贝,翻页这些玩意,背十几条命令就够了。从我刚开始学学计算机那会儿的68000系统,以后用过的AT&T,SUN,TOSHIBA,HP, IBM等等,那三板斧无往而不利!

有了VI, 就像士兵有了步枪一样,有了起码的装备。如果装了ECLIPSE,那就是有了机枪了,火力凶猛阿!

关键词(Tags): #LINUX#下的JAVA开发环境
家园 多谢多谢,我以为需要安装呢,这就去试试看。

今天看了一下vi的用法,基本上还可以用了。

送花一朵。

家园 找到一篇文章,可能对你有用

http://www.cs.umanitoba.ca/~eclipse/1-Install.pdf

不过是老版本的,但是是用SUSE的。

我估计你要有问题的话,多半是在LIBRARY PATH, CLASS PATH等的设置上

全看树展主题 · 分页首页 上页
/ 4
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河