参看
http://blog.csdn.net/jacklondon/archive/2007/01/08/1476685.aspx很多人都想知道 Sun JDK bug 分析数据,因为每一个开发工具/开发语言都有自己的长处和缺点,如果我们能够使用 Java 的长处,避开 Java 的缺点,则我们有可能写出好的程序,否则,我们不可能写出好的程序。这是一个浅显的道理,每一个程序员、系统分析员、项目经理、技术经理,都应该知道这个道理。  这篇文章的分析数据都来源于 Sun 网站上的公开数据。
  JDK 1.4.2 的 bug 数据来自: http://java.sun.com/j2se/1.4.2/fixedbugs/fixedbugs.html 。
  JDK 5.0 的 bug 数据来自: http://java.sun.com/j2se/1.5.0/fixedbugs/fixedbugs.html 。
  
  更早版本的,比如 JDK 1.3,已经从 Sun 网站上被删除了。没有办法再进行分析了。  JDK 1.4.2 的 bug 数据饼图如下:  可以看出,前六位占据了超过半数的 bug:
java/classes_awt    13.7%
java/classes_swing   12.6%
java/classes_2D     11.5%
java/classes_net    6.3%
java/classes_sound   4.1%
java/classes_util    3.7%
java/javadoc       3.7%
java/classes_nio    3.3%
javawebstart/other   3.3%
java/compiler      3.0%
  JDK 5.0 的 bug 数据饼图如下:  可以看出,前六位同样占据了超过半数的 bug:
java/classes_swing    22.5%
java/classes_2D      9.5%
java/classes_awt     7.6%
java/classes_lang     4.6%
java/compiler       4.1%
java/classes_sound    3.3%
java/classes_util_i18n  2.5%
java/classes_util     2.5%
java/javadoc       2.4%
java/classes_net     2.2%  在这两个版本中,前三位都是 Swing、AWT、2D,这说明了在图形界面(专业术语为 GUI)设计中,Sun 的软件工程师的水平仍差强人意,这可以解释。Sun 所开发的软件产品中,主要面向小型机服务器市场。这些市场对于软件的界面要求不高,基本上都是传统的 Unix service 程序。也许 Sun 的强项并不在 GUI 方面。GUI bug 在两个版本的百分比分别是 37.8 和 39.6%,都超过三分之一。
  
  相比较其他流行的开发语言,比如 .Net,或者即使是十年前的老版本 Visual Studio,或者 Borland 的 Delphi/CBuilder 中, GUI bug 所占的分量也没有这么高。  这说明了尽管 Sun 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 Sun 都在新版本的新特点中提到 Java Swing/AWT/2D,我们仍然应该避免使用 Java Swing/AWT/2D。很多第一线的程序员都能明确了解使用 Java GUI 编程是一个非常糟糕的想法,但是在中国国内,还是有很多系统设计师和项目经理有这个糟糕的想法。  JDK 1.4.2 中排名第四的是 java/classes_net,在 JDK 5.0 中则是第十名。考虑到 JDK 1.4.2 相对于以前的版本,增加或者增强了 IPv6、HTTP Digest Authentication、Unconnected/Unbound Socket Support、Connected UDP Socket Support、FTP Protocol Handler、JNDI DNS SP Support in InetAddress、URLEncoder and URLDecoder Improvements、TCP Out-of-Band Data、Full V5 (RFC 1928) & V4 TCP support。由于这是一个比较大的动作, bug 比较多也属于正常范围。  两个版本中,java/classes_sound 都出现在前十,并且排名都比较中前,这说明了 Sun 在多媒体方面的技术也不尽如人意。  让我们失望的是,java/classes_util 在 JDK 1.4.2 和 5.0 中都出现在前十中。这个包的类库使用得比较普遍,每个项目经理或者产品经理都应该派专人去查一查,自己的软件中是否在 java/classes_util 的使用上,有没有避开以上 bug。  在 JDK 1.4.2 中 bug 出现在前十名的 java/classes_nio 没有出现在 JDK 5.0 中,这是一个好消息。终于有一个 Java 包可以放心使用了。  比较让我们哭笑不得是,在两个版本的前十名 bug 中,java/javadoc 和 java/compiler 都出现了。这个怎么说呢,实在是很不应该。java/javadoc 有 bug 好像对于国内的 Java 软件开发来说没有太大的影响,因为重视使用 javadoc 的并不多。至于 java/compiler ,因为 Java 编译器是 C 写的,大概是编译器很难写吧,所以会难免有些 bug。但是编译器是基本上每个 Java 程序员都用的,而且 Sun 的 Java compiler 似乎也是所有 Java compiler 中使用者最多的,Sun 需要继续努力。  JDK 5.0 中,java/compiler bug 所占百分比比 JDK 1.4.2 中提高了好几个名次,很不好的一个趋势。Sun 现在将 Java 开源,希望有助于提高这一部分的软件质量。  以上的 bug 分析,希望对大家有所帮助。

解决方案 »

  1.   

    晕,楼主你跟原作者一样傻啊,正好分析颠倒了,注意人家这是被修改的bug数目,不是发现的bug数目!这个数目越多、占的比例越大越说明这部份的质量改进大,不是越差了,我真是替你害羞,连看都不看清楚就转过来,看看原文底下几个人的评论吧:#  gtlang78 发表于2007-01-08 01:39:25  IP: 221.219.96.*
    楼主,这些是fixed的bug的数据,也就是被改正的bug,这和现存没有改正的bug的比例是两回事儿。要我说这里面awt、swing所占的比例比较大正好说明sun在1.4和1.5版本里更重视GUI部分了,投入了更大的精力,所以这部分的质量比其他部分提高的更快、更多。1.6版本我感觉也是这样,所以我对java的GUI反而更有信心了。另外jdk里的java编译器也是用java语言本身来写的,不是用C写的。#  deng2001 发表于2007-01-08 10:25:32  IP: 222.84.32.*
    怀疑楼主系M$的托。#  lbfhappy 发表于2007-01-08 10:58:23  IP:
    我也是同样怀疑#  lbfhappy 发表于2007-01-08 10:58:48  IP:
    JAVA已经很不错了,修补了这么多的BUG
      

  2.   

    to rehte,
    晕晕!
    如果 java.lang 中 bug 比 Swing bug 多,最后的 fixed bug 中, Swing bug 会是最多么?
    多用用脑子吧。
      

  3.   

    Swing 是 Sun 和 Netscape 合作的成果。Netscape 原有的浏览器使用 C 写成,与 Sun 合作搞出 Swing 后用 Swing 把浏览器重写了一把,最终失败,成为 IT 史上经典的失败案例(案例名称:不要全部重写已有的能够运行的代码,哪怕它看上去不够优雅)。
    JDK 5.0 的有可能没有 fix 完,JDK 1.4.2 于 2003-06 推出的,bug 应该都 fix 差不多了,不存在 Sun 只 fix Swing bug 不 fix 其他部分 bug 的说法。总体来说,Java 中这么多 package,只有 Swing bug 比较多,应该是很好的。使用 Java 做 Web 开发的人占据相当多数,这些人不受 Swing bug 影响,我觉得这对 Sun 是一个利好的消息,毕竟很多人都认为 Java 适合 Web 形式的企业应用开发,以上 bug 分析并没有对这些人造成任何影响。
      

  4.   

    jacklondon:
    java.lang是Java的语言包,是最早开发的,是系统核心,当然要最稳定了。Swing bug在jdk1.2~jdk1.3中公认的bug最多,当然1.4、1.5修正的bug也当然多了,但是注意是jdk1.2~jdk1.3中swing的bug最多,你要看的是当前版本swing的bug数目,而不是当前版本被修正的bug数目。你没有目前遗留bug确切数据怎么知道当前bug数目很多。
    简单说来1.4和1.5修正的bug数目多说明的是以前版本Swing的bug多,而不是当前版本的Swing的bug多!拜托动动脑筋,不要想反了。
    至于你说的Sun和Netscape合作的失败只能说明当时的Swing的确不行,没有人否定这一点,连Sun都说自己在jdk.1.1~jdk1.4的Swing不好,这没有什么好遮拦,问题是以这种方式暗示现在的swing不行,就让人怀疑你是不是和M$有一腿了。
      

  5.   

    to rehte,
    是否你一定要我说你和 Sun 有一腿你才肯满意?以下这句话只是一个比喻:
    “如果 java.lang 中 bug 比 Swing bug 多,最后的 fixed bug 中, Swing bug 会是最多么?”也许换成这样一句话你还能够理解:
    “如果 JDK 中 Swing bug 不是最多,那么至少另有某个部分 bug 超过 Swing. 假设 ComponentX1,ComponentX2 数量超过 Swing, 按照 Sun 公布的最后的 fixed bug 中,Swing bug 数量最多,那么 ComponentX1 bug 到哪里去了? Sun 把它们放在一边,不去 fix 了么?这可能么?最新版本的 JDK bug 目前还没有完全暴露出来,我们分析 bug 只能拿以前版本的,这有什么错?
    从以前几个版本看来, Swing bug 最多,由此推断当前 JDK 6.0 版本中,Swing bug 也是最多的,这也是合理推断。rehte 说 Swing 优秀,怎么个优秀法?只要从 bug 数据上得到的结论是相反的!!!!
      

  6.   

    楼主应该听过这个故事吧: 两个欧洲人到非洲去推销皮鞋。第一个推销员看到非洲人都打赤脚,于是很失望:“这些人都打赤脚,怎么会要我的鞋呢?” 另一个推销员看到非洲人都打赤脚,惊喜万分:“这些人都没有皮鞋穿,这皮鞋市场大得很呢。”要我说咱们观点不同就和这个故事一样,只是因为大家看问题的角度不同罢了。您是悲观主义者,看到sun改了一堆swing的bug,于是觉得Swing很垃圾,bug很多。这也有道理。我5年前刚开始学swing的时候也让swing的蜗牛速度和一堆bug折磨得够呛。不过我是个乐观主义者,我觉得Swing里的bug就算再多也是有数的,改一个就少一个,所以1.4到1.6之间修正了这么多swing的bug我感到很高兴,这说明swing的质量在迅速的提高,这对我这个每天要用swing干活儿的人来说无论如何是件好事。至于说Swing是不是"优秀", 老实说我不太关心,我只知道Swing可以满足我们项目的要求,并且新版本Swing里的bug问题不像您"推断"出来的那么严重,Swing的性能和Bug的问题已经很少给我造成麻烦了,这就足够了。
      

  7.   

    to gtlang78,
    从软件开发管理的角度上讲,如果 Swing 在某个版本的 bug 数量比前一版本下降了,才能说质量有提高。
    现在从趋势图上,看到的却是 Swing bug 数量在上升,我看不出您所说的“这说明swing的质量在迅速的提高”从何谈起。
    有项目管理的人都知道,如果某个模块 bug 连续几个月都多,只能说明这个模块不稳定。绝对不能以哪个模块 bug fix 多,就说该模块稳定!
      

  8.   

    to gtlang78, 
    你说的也有道理。我正在写另外一篇文章,分析 JDK 各个部分的 bug rate(不知道中文应该怎么翻译,实际意思是每千行纯代码中包含的 bug 数量)。这样比较就更有意义了。
    我个人的看法,JDK 的 GUI 代码质量不可能会很好。整个 JDK 中,Sun 与别人合作开发的好像只有 Swing。在 Swing 之前,Sun 独立开发的 AWT/Applet 已经被证明是糟糕得一塌糊涂,也从侧面说明,GUI 方面 Sun 并不擅长。
    如果 Sun 真的很精通 GUI, 第一,AWT 不会这么失败;第二,Swing 也不用需要 Netscape 帮忙来开发。
      

  9.   

    用SWT吧,IBM做的速度快又比较稳定。
      

  10.   

    jacklondon:
    我支持Java,支持Swing,并不能说明我支持如Sun这样的某个公司啊,IBM,Sun,BEA,Borland这些公司都是支持Java的,难道我不成都和它们有一腿?我支持的是自由世界,不是独裁世界,这是和支持M$的人的唯一区别。
    你的观点都落后到了石器时代了,还好意思说,不明白的多学学,多问问,没有人会嘲笑你,事实求是只会获得人们的尊重,而不是耻笑。
    我不明白你对Swing的知识有多少,但是我却明白你对Java和swing的观点却落后不知道多少年。我尊重你的选择,毕竟人人都有选择的权利,但是不了解或者不懂就来发针对Java和Swing的FUD,明显居心叵测,让人不仅怀疑你和M$有一腿。
    我承认我和Java有一腿。
      

  11.   

    我支持gtlang78的观点,客观正确看待java,而不是一味的给java挑刺。如果你不喜欢java和Swing,我也不会花时间求你用Swing,毕竟这个世界提倡多样性。
    Peace
      

  12.   

    相反你不断的说Sun这个不行,那个不善长,不断的打击Sun,诋毁人家,让我觉得你是不是它的竞争对手公司派来的枪手?对于我们这些Java开发者来说,一边用着人家的IP,一边没有任何建设性的诋毁人家,是不公正的。如果你要真的希望Java好,提一些有用的建设性的意见,不要只在那儿发泄自己的牢骚,不要只在那儿给Java散发FUD,毕竟Java是大家的,需要大家来建设。
      

  13.   

    to rehte,
    是你反复没有根据说我是 MS 有一腿,我才说你和 Sun 有一腿的。如果要说无聊的话,那也是你最先无聊。
    你难道没有发现你的观点都是没有任何证据的大放厥词?至少我这里谈 JDK Bug 有现成的数据,并且是 Sun 公布的数据!!
      

  14.   

    jacklondon:
    我的证据就是你的文章和评论,我想证明的观点是:
    1.你在发针对Java和Swing的FUD:
    “尽管 Sun 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 Sun 都在新版本的新特点中提到 Java Swing/AWT/2D,我们仍然应该避免使用 Java Swing/AWT/2D。很多第一线的程序员都能明确了解使用 Java GUI 编程是一个非常糟糕的想法,但是在中国国内,还是有很多系统设计师和项目经理有这个糟糕的想法。”2.你在不断的打击和诋毁某公司:
    “xxx的软件工程师的水平仍差强人意......
    xxx的强项并不在 GUI 方面......
    尽管 xxx 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 xxx 都在新版本的新特点中提到 Java Swing/AWT/2D......
    这说明了 xxx 在多媒体方面的技术也不尽如人意......
    在 Swing 之前xxx 独立开发的 AWT/Applet 已经被证明是糟糕得一塌糊涂,也从侧面说明,GUI 方面 xxx 并不擅长......
    如果 xxx 真的很精通 GUI, 第一,AWT 不会这么失败;第二,Swing 也不用需要 yyy 帮忙来开发......”
    给人的印象很像是枪手。再说你的水平没有高到权威专家的水平,说某某公司不行,某某公司的软件工程师不如你,某某公司的某项技术糟糕的一塌糊涂,某某公司的某项技术是失败的、还需要其他公司帮忙,没有其他某公司的帮忙它根本就没法完成。我的观点是你本人怎么样,并不是某项技术怎么样,所以不需要找JDK的数据。我的建议是:
    1.你要真的希望Java好,提一些有用的建设性的意见。而不是只在那儿给Java散发FUD。
    2.杜绝在你的所谓分析评论加入太多公司本身的评论,尤其是主观武断的评论。这就像人身攻击一样,你可以不同意别人的观点,没有必要对人家进行人身攻击。
      

  15.   

    to rehte,
    我本人怎样和你老人家没有任何关系!!JDK 的 bug 不能分析么?谁说的?
    "Effective Java" 中介绍到了 JDK 中哪个地方设计上有问题,"J2EE without EJB" 中也提到 EJB 中的设计错误,"Bitter Java","Bitter EJB" 等书中都在批评 Sun 的设计失误。批评是为了提高,你懂么?
      

  16.   

    jacklondon(jacklondon):
    “我本人怎样和你老人家没有任何关系!!”
    难道xxx公司怎么样和你就有关系?当然可以分析,但你由此推出的一些主观性的结论却是让人很在意,在你看来,分析jdk是次要,关键是要证明java不行了,Swing完全糟糕透顶,xxx公司是邪恶之源、糟糕透顶。"Effective Java" 中介绍到了 JDK 中哪个地方设计上有问题,"J2EE without EJB" 中也提到 EJB 中的设计错误,"Bitter Java","Bitter EJB",如果这些书只是说这个地方设计有问题,那个地方有设计失误,批评Sun的设计失误都无可非议,可我很怀疑作者会说下面这些话:xxx的软件工程师的水平仍差强人意......
    xxx的强项并不在 GUI 方面......
    尽管 xxx 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 xxx 都在新版本的新特点中提到 Java Swing/AWT/2D......
    这说明了 xxx 在多媒体方面的技术也不尽如人意......
    在 Swing 之前xxx 独立开发的 AWT/Applet 已经被证明是糟糕得一塌糊涂,也从侧面说明,GUI 方面 xxx 并不擅长......
    如果 xxx 真的很精通 GUI, 第一,AWT 不会这么失败;第二,Swing 也不用需要 yyy 帮忙来开发......
      

  17.   

    批评之后没有建设性建议,反而由此因此主观性的FUD和对某些公司、某些人的攻击,嘿嘿,很难看得出是为了别人提高,倒更像是某种市场策略,针对某种竞争技术或公司散发FUD,引起人们对于该技术的Fear, uncertainty and doubt
      

  18.   

    rehte,
    拉倒吧。没有看见你说几句有道理的话。
      

  19.   

    jacklondon(jacklondon):
    有没有道理,各人有个人的想法。
    我不会期望你认为我说的话有道理,就像你也不会期望我认为你说的话有道理一样。公道自在人心。
      

  20.   

    爱用不用,你都没花钱。要是那些用java软件的人多给sun点钱 ,你看它bug多不多
      

  21.   

    非常支持:   回复人:rehte() ( 三级(初级)) 信誉:100非常鄙视:  楼主。这些内容,本来就是被提出并且修复的BUG,你却反着说是一直存在的BUG,
    并且还说“只能放心用io_net这个包”。你就是在诋毁JDK。并且当其他用
    JAVA的人是傻子。另外,你说SUN的AWT设计一直很糟糕。表明你现在还弄不清楚JAVA的优势。
    哪个公司的GUI设计的好?你会不会说是微软?好,咱们把MS的GUI放在LINUX
    下面,看看能有什么界面?MS的东西再好,脱离了WINDOWS,连机器都启动不
    了。要说比MS的更好的GUI,是大名鼎鼎的APPLE  OS。但是它同样脱离了APPLE
    也启动不了。而SUN的GUI呢? 无论是AWT还是SWING,只要在实现了JVM的平台
    上,就可以正常运行!  这个角度来看,你说哪个好?哪个差?  每个东西都有自己优势和不足。特别是两个特性不同的东西(一个针对WINDOWS,
    一个跨平台),你不要用MS的优势去比较JAVA的弱势,更不要抓住JAVA的一个
    缺点就说JAVA不能用了。 世界上,哪个东西是完美的? 能给我们创造价值就
    好了。  :)  我的很不成熟的看法,请楼主多多批评!~
      

  22.   

    不要做动不动就鄙视某某人的人Swing还是很酷的,swt不是标准阿
      

  23.   

    rehte() 说java是用java写的。
      

  24.   

    fixed的bug能说明什么问题?在我看来,就是java会越来越好,随着java源代码的开源,fixed的bug有可能更多,但这是好事。而你却在误导观众,还好一楼就有人指出你的问题,否则在CSDN这个环境下肯定有一大堆上来附和叫好谢谢楼主之类的回帖。另外,需要指出你的分析方法太片面了,惟比例、或惟数量都是不完全的,而你抓住一个比例不放就得出一堆结论,这bug级的分析是不是太容易了些?类似的分析由一个不懂技术的记者来作可能会更常见。ps: AWT、swing我都用过,去从来没有被bug困扰过。
      

  25.   

    新加了 JDK 代码质量分析
    http://blog.csdn.net/jacklondon/archive/2007/01/30/1498101.aspx
    可以直接访问。很奇怪,它没有显示在我的 blog 首页中。看来 csdn 也有一些 bug 了。
      

  26.   

    好贴
    感谢jacklondon(jacklondon)
    rehte() 
    gtlang78
    精彩辩论
      

  27.   

    这是说jdk1.4和1.5的。怎么说到swing上面去了。
    只要sun公司还能发展的下去那么swing 就还是有生存的空间
    比如大家都装过ORACLE吧。。它的安装界面不就是SWING的么?
    就算BUG在多。但是在以后都会慢慢补充上的啊。所以呢?强烈鄙视lz
      

  28.   

    支持rehte() 
    鄙视楼主以及那些什么也不懂就会乱跟风的XX~不多说了,飘过~
      

  29.   

    我感觉微软的补丁和bug也不少,难道他们一堆一堆的改bug,按照lz的观点lz也应该写个分析什么的挣点口水。
      

  30.   

    微软的东西不好分析。
    微软在 .Net 之前的时代,Visual Studio 的版本发布周期很长,有可能一两年之间只做 bug fix, 没有加入新功能,这样代码质量当然会很高。
    Java 每个版本都在同时作两件事情:bug fix, 和增加新功能,出现较多 bug 也是比较自然的。
    当然微软的做法在软件业界是比较另类的。其他公司,比如 Oracle, Borland, Adobe 之类,都不会在连续几年中,只发布 bug fix 版本,不增加新功能。因为那样做,市场压力很大,只有新功能才能带来好的销售业绩。Borland 之所以在较短时间内,推出多个 Delphi 版本,也是基于这样的考虑。
    微软的做法也有潜在的牛气:我即使连续几年没有新的功能加进来,也不会被市场逐步淘汰。其他公司谁敢这么做?这太冒险了。
      

  31.   

    我对JAVA的理解是  只要我接受并使用了他那他就没什么不好,不好是由于自己并没有足够的能力去完善。毕竟现在多数开发语言都采用了开源的方式,所以不好用的可以自己改。到自己想要什么 就能有什么才叫你真的尺透了 这门语言,这时候才可以叫权威人士,否则在这门语言里只能叫coder
      

  32.   

    to xunmi12,
    也没有你想得那么高深。我等小老百姓,发一点牢骚,谈一点个人见解,没有什么大不了。
    赞同不赞同,都不是什么大事。
      

  33.   

    话题衍生下,我以前做Delphi的,用Delphi和vb这些工具来GUI的开发是十分的方便的,我想每个工具都有自己的优缺点,java也是如此,以前没有接触过java,只是听得最多的是java在做大项目上有很成熟的解决方案,而Delphi虽然很快,很方便,可是却只能用来做小项目,我想,就好比人一样,什么都会,但是每个人都有自己最突出的地方,java的bug和bug的修复有资料显示了不知道MS VS的bug有没有谁具体统计过呢
      

  34.   

    楼主实在sbility.
    要评测到底工程师水平如何,
    要看他们做的事情的难度,和别的语言的对比,怎么可能这么比?
    你让一个人算圆周率,出错了,
    让另一个sb算1+1=2,对了,
    难道说前面那个不如后面那个?
      

  35.   

    to masse,
    不可知论者,大多数是什么都不做的人,不希望你是这样的人。
    比如说,我分析了一通,你要说我分析的不对,可以摆事实,讲道理,说服别人。如果只是说,怎么能这么说、怎么能这么做,有何意义?
    况且,我分析这个你说不对,那分析什么才对?你又曾经分析了什么对的东西?拿出来大家瞧瞧也好。
      

  36.   

    jacklondon:   不做就不能评价吗?所谓"没有调查就没有发言权"在以前适用,在今天就成为某些人自以为是的幌子了.
       照你这么说,没进过nba赛场的人就不要看nba了.没踢过世界杯的就别说某人踢得sb了?   基本逻辑就有问题,有什么可值得争辩的?   我的基本前提是地球是圆的,你基于这个前提做一些分析或者评价,我们可以讨论一下.背离这个前提的sb言论我没有必要浪费力气解释和争辩.
       所谓说服,只能针对某些有基本常识的人. 就好像跟一个基督徒宣扬无神论,我没这个必要,对吧?   
      

  37.   

    jacklondon:
         
         一些基本的逻辑:
        你说sun的**工程师差强人意.我不知道你是相对sun同公司其它组的人而言,还是相对ibs,ms等公司的程序员而言?
        如果要对比,都有前提,先调查一下做gui和做其它方面的难度对比,代码量对比.也就是我上面举的那个例子.两个不同的问题,你只提结果,不管前提,得出的结论必然是sb的.
        如果你要分析,最好还给出其它公司的一些数据.才能得出工程师差强人意这样的结论..    当然,最sb的是你居然拿fixed bugs的百分比来做对比.让读者不知所云.
        比如:1.4.2有1万个bug,1.5有100个bug.依然可能得出上面的百分比数据.难道就说"不是好趋势"?     一句话,文章的基本前提都有问题,我不该浪费大家的时间来讨论这个无意义的话题.    期待你下次写一篇稍微有一点点说服力的bug分析.
      

  38.   

    to jacklondon:
        刚刚才看了上面的回复(上午没看,因为觉得没啥意义,纯粹浪费时间),很高兴看到你打算分析bug  rate了.这个才是有科学常识的.另外,不要动不动就说工程师"差强人意"之类的.
        sun本来就在做一些业界领头的工作,没有人做过的,必然做出来有问题,这些是有客观因素的,不能动不动就用那样的词,否则只会让人生厌.评测和分析应该是客观的.你这种态度写的东西不会有太多人看.即便看了也不会当回事,更别提你所说的"帮助"了.
        总的来说,你这篇文章,无论从分析方法还是结论上我都是不认可的,不是说漏洞多,而是根本不科学.
      

  39.   

    to masse,
    分析 bug 只能拿过去公布的 bug 来分析,这是软件质量管理的基本常识,这里的思路是,report 出来的 bug 一定会被 fix 的,不被 fix 要么是因为太难了,搞不定,要么是懒得去 fix,要么是公布的数据本身就有问题。就 Sun 这种大公司而言,这几个原因当然都不会发生。Bug 统计/分析只做在哪个版本上 fix 了多少,没有公司会提供在哪个版本上出现了多少 bug。虽然听上去不爽,但这是目前软件行业的惯例,Microsoft, IBM, Sun, Oracle 都不例外。
      

  40.   

    满足需求是最关键的1。java开发速度快,比C/C++要快不少,但不如.net2。java通用库很多,。net很少。java的开源工具很多。唯一的麻烦是如何取舍问题。
    3。目前,我没有发现(应该是我写的代码少)java的bug
    4.结论是,java是非常优秀的,.net不也是参照了许多java实现的么?
      

  41.   

    fix的bug越多,那么仍然存在于软件中未被发现的bug也就越多,这应该是基本原理吧?在这一点上,支持楼主。
      

  42.   

    bigc2000 说话都没有说到点子上。
    java开发速度快----没有人承认 Java 在 GUI 开发速度比 VB, Delphi 快, 没有人承认 Java 在 Web 开发比 ASP/PHP 快。Sun 和 IBM 能出什么开发工具来,动不动就宣传成 Java 中的 VB,正如中国某些城市号称中国的曼哈顿,实际是远远不如。比C/C++要快不少倒是真的,那又如何?这点不能作为 “java是非常优秀的”的证据之一。毕竟 Java 比上面几个出来都晚,开发速度还比不上人家,说不过去。
    java通用库很多----只能说免费的很多。如果商用的和免费加起来,Java 未必会比 C/VB 多。
    目前,我没有发现(应该是我写的代码少)java的bug-----这里提到的 bug 是 Sun 公布出来的,又不是谁自个儿瞎编的。
    正如很多人说 Eclipse 比 JBuilder, .Net 开发工具好,但明白的人都知道,Eclipse 打败 JBuilder 仅仅因为 Eclipse 是免费的。不能因为 Eclipse 现在用的人多就一定要说 Eclipse 比JBuilder 好。同理,不能因为 java 通用库很多就说 Java 很优秀。
      

  43.   

    插个小知识,辨友:rehte提到的FUD,我刚才查查,意思如下:FUD
      恐惧,不确定,怀疑
      
     收藏词条 
      完善词条 
      词条报错 
     
     
    英文全称:Fear Uncertainty Doubt
     
    所属分类:社科总论  哲学
     
    词条简介:FUD就是恐惧(Fear)、不确定(Uncertainty)、怀疑(Doubt)的缩写,是行业垄断巨头对付比弱小竞争对手时使用的竞争手段之一。通过直接吓唬对手及胆敢与对手合作的公司,同时利用各种手段动摇竞争对手客户的信心,使其产生先动摇,进而怀疑的心理,从而挤掉质量和技术优于自己的产品,难以有效形成市场力量,确保独家垄断。使得用户无法得到最佳的产品和服务,整个行业的创新也被阻碍。公司越强大,效果越佳。 
     
    谢谢rehte
      

  44.   

    能学到东西就不错了
    至少明白了jdk的不足和优势
    晚辈谢谢楼主有谢谢所有的水友
      

  45.   

    不知道有没有人搞 .Net bug 分析?应该可以和这里的数据作对比。
    我觉得兄弟们,说这个好那个好,都不擅长使用数据说话,凭感觉,缺乏说服力。动不动就有人往你头上扣帽子,“你是XXX的帮凶”,有必要这样么?
      

  46.   

    楼主怎么不抓住window成千上万的安全漏洞去藐视一下ms的工程师?
      

  47.   

    可以尝试到一个新的技术社区回答www.nlld.net
      

  48.   

    to楼主:有谁能保证做出来的东西没有BUG吗?
    既然不能保证,能不断地改正BUG难道错了?
    一个软件的BUG能改得完吧?
    不断地添加新功能的过程中也会出现新的BUG吧?
      

  49.   

    改正一下to楼主:有谁能保证做出来的东西没有BUG吗?
    既然不能保证,能不断地改正BUG难道错了?
    一个软件的BUG能改得完吗?
    不断地添加新功能的过程中也会出现新的BUG吧?
      

  50.   

    lz不想用swing就别用了。
    也不用诽谤swing吧,说的那么糟糕。
    lz那么喜欢ms就用mfc吧,没人会阻止你。
    从lz的这些语言中可以看出lz的技术实力很一般。
      

  51.   

    我觉得上边很多的朋友思路不准确,说到fix的bug数,哪个有MS系统fix的多?难道说MS的系统就非常稳定了?从bug周期角度看,真正成熟的模块应该是fix BUG量持续下降并保持稳定的时候,以SWING为例,也许正如有些朋友说的,改了这么多应该是更稳定,但只是应该,还可能说明他正处于bug爆发期呢,不惯怎么说这么多的bugFix量,会使SWING这个模块的可信度很低的,真正的项目是应该避开它的,你不能把项目的成败建立在一个不稳定的技术上。什么时候SWING的bugFix量明显下来了,才说明它真正稳定了。
      

  52.   

    to qq7338367(深秋小雨:让一切归于简单 快乐在指尖绽放),
    “有谁能保证做出来的东西没有BUG吗?
    既然不能保证,能不断地改正BUG难道错了?
    一个软件的BUG能改得完吗?
    不断地添加新功能的过程中也会出现新的BUG吧?”
    你这些话很对,但我不知道你为什么要放在这里说,而且还是用疑问句。
    Bug 分析是一种总结。打个比方来说,别人在总结二战中某个局部战争的得失的时候,您老冒出一句“世上谁不犯错?犯错后做事继续犯错不很正常?”,这样是不是很莫名其妙?
      

  53.   

    jikfei(风之体),
    当律师是很好的建议。下辈子吧,这辈子已经上了“挨踢”的贼船,怕是下不了啦。
    律师好像比搞“挨踢”赚钱多啊!