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已经可以按照自己的方式来发展。
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的类中。