Oracle 和 Java 技术 经过数月的诉讼之后,Oracle 现在已经是 Java 未来的掌控者。我们向与会者提问:“这种新的控制权有什么最重要的意义?” “在 Oracle 的带领下希望看到什么变化,还是保持不变?” 大多数人,如 Rick Hightower,并不期望技术方面能有多大改变。“Oracle 并不会让 Java 开发人员的境遇变得困难” ,他说。 一些与会者表达了对 JCP 的顾虑,并希望它能继续,或者在 Oracle 下能变为更加可靠。“我希望 Oracle 能消除 Apache 一直反对的领域应用限制,并打破 JCP 对 Java 7 JSR 的限制”, Alex Miller 这样说。 Steve Perry 补充说:“我希望 Oracle 做出的保留 JCP 并增加其共享性的承诺并不是天方夜谈。公司参与的开销是否会越来越大?个人参与是否可行?” 谈到 IDE,Mik Kersten 表示在同等情况下会首选 JDeveloper,“因为 Eclipse 在 Java 特性、可扩展性和可能集成方面都处于领先。” “我希望我们可以看到 Oracle 意识到 Eclipse 对于 Java 取得成功的重要性”,他说。 “长远来看,我想知道 Oracle 是否会让 Java 更加接近企业,以及是否会将 Java 应用于云,这会是非常有趣的事情”,Chris Mackie 说,“我认为强大的云理念对于社区非常有益,但不知道 Oracle 是否注重这一因素。” “利用云还会减少硬件改变的麻烦,这使 Oracle 作为硬件公司(即 Solaris)的角色变为更加有趣”,Andrew Glover 说。 在讨论对于 Java 技术最为重要的方面的问题时 — 公司所有权易主还是开源替代方案出现 — 与会者开始分化了。 “对我来说,Java 的发展动力与其所有权没有关系”,Glover 说。但是,Dan Allen 说,“这确实会关系到负责 Java 的公司。” “我们现在有许多人都对管理方向持有不同的意见,而这只能改变 Java 和 JCP(通过 Oracle 的控制权)的发展”,Alex Miller 说,“我认为 Oracle 会将 Sun 产品合并在一起,并创建更多的价值。” 显而易见的是,Oracle 以盈利为中心的商业模型会改变 Java 文化的一些方面。 “许多 Java 开发人员会发现很多免费服务从此消失”,Ted Neward 表示,“坦白来说,我认为这种改变是一个很遥远的过程。” Java 7:闭包和并发性 经过 3 年多的努力,Java 7 已经确定于 2010 年末发行。我们问到闭包是否仍然值得争论,以及 JDK 7 是否足以应对并发性方面的挑战。 一些人质疑 Java 7 与基本应用程序开发的相关性。“我仍然遇到客户机在 Java 1.3 上卡住的问题,因为需要商业公司提供应用服务器”,Andrew Glover 说,“由于这些现实让 Java 7 的采用在某些领域变得遥不可及。” Java 4 和 Java 5 引入了一些激动人心的特性, Steve Perry 说,“但对于 Java 7 就有所不同了。但是,使用稳定的已有技术则更能发挥自己作为顾问的作用。” 一些最有趣的并发工作正独立于 Java 7 进行,Glover 说,比如一些开源工作,基于 Java 的框架 Kilim 和函数语言如 Scala。 “JSR 203 是 NIO 中非常有用的增强。JSR 166 有一些很好的并发更新,并且我仍然希望 JSR 310 继续发扬光大。” Alex Miller 说。 Miller 还看到 JVM 中新增了一些好功能,他表示,“一些围绕 invokedynamic 的工作正在进行之中,可能会是一些热门的新型垃圾收集器 G1。” 就闭包而言,Miller 说,他们仍然值得争论,并且我很高兴它们能重回阵营。 其中,闭包将 “为各种 JVM 语言之间的通信提供一种公共的标准字节码格式”,Neal Ford 说,“现在,Scala 使用与 JRuby、Clojure 和 Groovy 不同的内部表示;它们都有自己的字节格式。” 建立一种内部格式可以让所有基于 Java 的语言解析相同的内部表示,他说。 “Groovy 的成功表示人们希望闭包出现在 Java 中”,Dan Allen 说。他还对 Java 中缺少属性和直接字段/方法引用表示失望,他说这样会导致浪费和/或传递类型安全性。 “许多语言信息会在编译时丢失,而它们本来可为框架开发人员提供很大的用处”,Allen 说。“一个例子是方法参数的名称以及各种通用类型信息,它们已经从 Java 移动到字节码中。” “虽然注释极为出色,但它们仅是需要支持的元数据最表面的一层”,他说。 但是,“Java 语言设计者应该在版本 7 时释放 Java”,Ford 说,“Java 语言将成为 JVM 的汇编语言:允许低级访问,因为您所编写的是低级库,以及允许维护。” 甚至在平台前端,Miller 说,“Java 就其本身而言当前并不适合革命性改变 — 它仍然会顺变趋势和用户的期望。而企业正希望如此。” |