1回顶部 值此Java十年之际,很多网站和社区都对Java开发人员及相关爱好者进行了调查与访问,下面列出十大热点问题调查结果。人们发现,开发者对于Java存在着各种各样的看法。下面列出有代表性的网友观点。 1.你是如何开始用Java编程的? 2回顶部 3.在你现在编写的生产代码中,有多大比例是用Java编写的?你认为在可预见的将来,这个比重是会增加、减少还是保持不变? 几乎所有的被调查者都声称Java是他们进行编码的主要工具,回答为主要工具者超过了70%的比例。在对第二个问题的回答中,这个比例没有降低的迹象。 ● 去年我们对800个基于Java技术的产品通过了认证,我们几乎所有的中间件产品都是基于Java运行时的。 ● 我们仍然看到客户对C和C++的任务认证的应用程序仍然存在大量的需求。我们希望经常能够使用Java,但是Java的VM技术到了应该发展成为能够在这些不同的系统上运行的时候了。 4.在你开发的Java应用中,桌面应用和服务器端应用的比重分别是多少?如果你编写桌面应用,你会选择SWT还是Swing(或者其他GUI框架)?理由是什么? 大部分回答为:“Java存在于服务器端的任何地方。” ● Swing太过于复杂,太不可预知,并且太难学习。SWT要稍微好一些,但通常来说,Java在用户界面方面实在不受欢迎。 ● 我认为SWT的方法非常好,它出于速度和一致性考虑而链接到本地的类库,但是,我不喜欢API,它暴露了太多底层的东西。Swing有良好的API,但是它上面存在着太多的bug,较差的性能和糟糕的布局。 ● 我非常喜欢SWT。它比Swing更加自然,而Swing被描述为粗略近似于自然。 ● 我编写Swing的应用程序,并且使用Java Web Start进行部署。我还不太相信SWT的价值,因为它的跨平台支持有限并且缺乏可靠的MVC设计。 5.在开发Java程序时,你首选的平台、框架、IDE分别是什么? 在这个问题中,由于Windows和Linux这两个占有统治地位的操作平台,使得Eclipse Framework和IDE普及程度很高,这一点表现得特别明显。有网友认为: ● 我选择的操作系统是WinXP Pro。在安装了Cygwin和几个其它的设备后,系统能够对硬件提供很好的支持。 ● 我喜欢J2SE 5。IDE方面,我喜欢JBuilder,IDEA是第二选择。IDEA有更加灵巧的特性,但是我所需要的功能,老的JBuilder都有。 ● 我过去使用emacs来进行开发,调试程序使用println。而现在,我使用NetBeans,并且非常惊讶,它居然能提供如此强大方便的帮助 ● 在紧要关头,我用vi进行开发。 3回顶部 6.在Java的整个发展过程中,你认为JCP和开源社区谁起到的推动作用更大? 开源派: ● 目前来说是开源。JCP在积累实际经验前总是相信标准。EJB,日志,持久性这些都是在JCP中让人感到不满意的地方。JCP正在放弃Java的基础。一些困难的问题正在很容易的被解决,但是相反,一些很简单的问题却变得日益复杂起来。 ● 开源的实现正在引导着开发的过程,而JCP只是在定义标准。 ● 如果是说绝对意义上的改革,我只能说是开源。开源的实现对于需要进行修复的漏洞响应很快。而JCP的进步和工业前进的步伐相比,显然要慢很多。 ● 很多创新都是通过JCP模型而来的。然而,在过去的20年里,我们看到开源模型正在日益增长。 ● 我已经发现了开源的主动性,尤其是Apache让我感触颇深——它是最具创新性和最有用处的。 JCP派: ● JCP对于Java发展的贡献是功不可没的。它为整个Java生态系统提供了一个“物质核心”。很多不符合JCP标准的开源项目展现了各种不同的想法——它们有的很糟,有的则很精彩。它们是提供改革动力的引擎。 7.你认为Sun应该将Java开放源码吗? 肯定派: ● 应该。而Sun不同意这样做的唯一原因是它认为Java是归Sun所有的,并希望Java可以带动Sun的发展。 ● 一方面,开源的思想是很具吸引力的,因为这会使得更多的bug在更短的时间内被解决。另一方面,这也会为Java带来一些分歧和互不兼容的虚拟机。 ● 我们需要一个开源Java的主要原因是保证平台的活力。如果Sun应该做什么的话,显然让Java开源是这个计划的保证。 ● 我想Sun应该。“开源”Java并不需要Sun做任何工作。它主要需要其他人来做一些工作。拥有一个开源的Java是一个必然。我建议Sun能够认识到这个必然并抓住这个机会。 否定派: ● 不。如果是开源的话,我们会看到各种样式的Java。这最终会带来问题,就像我们现在面对各种应用服务器所遇到的问题一样。 ● 不。我不相信一群普通的人的想法可以替代那些关注基本思想的完整性的科学的观点——这些通常是常人不需要关注的东西。 中间派: ● 这个问题无关紧要。Java已经可以按照自己的方式来发展。 4回顶部 8.如果你有权改变Java中的一样东西,你希望改变什么? ● 在底层,Java需要一个更加灵活的键入模型和一整套令编程更加容易的特点。我们不能将所有的事情都依赖类库。 ● Introspection,一个用来检测JavaBean属性的类——这个类太难用太笨拙了。 ● 许可证。 ● 为开发者提供内存管理的工具。 ● 增加对运算符重载的支持。 ● Jar版本是Java急需的东西。我已经记不清多少次我的XML解释器和日志库发生冲突了。 ● Class Object。10年来一直没有变过,应该加入很多东西了。 ● Java平台现在变得太复杂了。我们相信Java社区需要在明确部门分类这方面做一些更好的工作,进而使Java能够继续成长、兴盛和成功。 ● Java绝对需要一个更为健壮的模型系统。现在,我们拥有的全部就是.jar文件;结果是造成了.jar文件“地狱”。现在,描述一个互连的模块系统太困难了。 ● 一个对象在被加载以及Java运行时类型之间的关系是我们仍将面对的错误。你不能在编译期决定你的程序是否是类型安全的。另外,如果你合理地做一些动态的事情,你经常不得不去为一个给定的类猜一个正确的类加载器。 ● Java需要做的其它事情:运算符重载,预编译指令,把声明和实现分离(头文件和源代码文件),唯一的、非原生的机器定义符(出于许可证的问题)。 ● Code-behind pages!!!ASP.NET和code-behind提供了巨大的复用性和灵活性。我希望看到JSP 3.0朝着这个方向努力。 ● 我更喜欢利用Java对象访问操作系统而不是使用JNI。大部分的Win 32/Linux API可以被封装道Java的类中。 9.你认为Java对整个软件社群最大的一个贡献是什么? ● 我们收到的最多的回复是平台无关、Java平台、Java语言本身和由此而创建的社区。 ● 有两件事:一个是它把带有垃圾回收机制的语言推向了广大使用者,另一件是围绕着这种语言建立的智能IDE。 ● Java的确带来了很大的变化,包括它迫使Microsoft重新设计新的产品,例如对Visual Studio的改进以及.NET。利用JavaScript实现的浏览器对Java来说成了NetScape的替代品。服务器端的编程前进了一大步,并可以实现上百万站点的互连。 ● 有很多学生不用再学C++了。 ● 标准API的制定使得可以有很多不同生产商的实现。这就提供了一个对于共同接口进行最好实现的竞争,最后的结果是整个产业通过不断的寻求更高质量的解决方案变得很灵活。 5回顶部 10.展望未来,你认为Java语言还将像过去10年那样占据重要地位吗?还是会被另一种更新、更强大的语言取代? 肯定派: ● Java在工业进化的过程中仍将会扮演极为重要的角色,因为人们将会把关注的焦点放在软件的架构上,例如SOA。 ● 我们实际上可以编写出更多的语言,它们之中有些可以和Java完全不同,但是,它们可以保持一致的应用程序二进制接口(ABI)。这就是为什么Java在很长的一段时间内仍然很重要的原因。 ● Java仍是IT产业中强有力的语言,但是脚本语言在某些特定的领域里将会得到更广泛的应用。 否定派: ● 不会的,语言在技术上的领先性都是暂时的,Java也一样。因此,从某种意义上来说,关注Java的未来会更有趣。 ● 当桌面电脑和笔记本被掌上设备取代的时候,我们将会需要一种更简单、更强大的语言。 ● C#对Java有潜在的威胁。它是更好的语言。 ● Microsoft正在以令人难以置信的速度转向.NET。它可以通过操作系统来拥有客户,在这一点上,它比Java更有优势。 ● 在某些方面,Java虚拟机架构的缺陷会变得非常严重。如果可以提供设计更加优良的虚拟机,那么它将极有可能替代Java平台。 |
鏀惰棌鎴愬姛鏌ョ湅鏀惰棌>>
正在阅读:Java十大热点问题调查揭晓Java十大热点问题调查揭晓
2005-09-09 10:34
出处:
责任编辑:moningfeng