Java闭包提案比较 JCA意见书发布

Java闭包的C3S提案作者Howard Lovatt,为四份著名的提案(C3S、FCM、CICE和BGGA)编写了一份详细的比较。同时,FCM的作者们发布了一份新的建立于FCM基础上的关于Java控制抽象的意见书。Ricky Clarkson认为CICE是不足的,而且怀疑Google的内部策略正影响着它。

Lovatt遍历了四份提案,并以十一个特性比较了它们:

  1. 创建一个内部类/闭包实体时的短语法
  2. 访问内部类的this指针与方法
  3. 多于一个方法存在于内部类/闭包实体
  4. 定义于类的方法的实现
  5. 类型推断
  6. 方法、构造函数、属性的字面表达
  7. 短语法(特别用于控制结构语句与短方法)
  8. 局部变量的赋值,无需final声明
  9. 数量可变的异常
  10. 方法/函数的类型(使用更短的语法)
  11. 非局部跳转、returnbreakcontinue

他文章的目的是从提案中分开内部类/闭包的部分与其他额外的部分。在这篇比较的最后,Stephen Colebourne、Stefan Schulz和Ricky Clarkson建立了一份基于FCM的关于Java控制抽象的意见书(他们澄清说那不是一份意见书而且还没最终完成)。需要JCA参与的原因是有一些地方还不适合。比如存在一个API,在使用上与内置的关键字非常相像。

最后,Ricky Clarkson怀疑Google的内部策略正影响着CICE提案的进一步发展。JCP对向它提交议案的组织有着限制,特别是当公司的雇员是JCP的成员时,Clarkson建议Josh Bloch,Google在JCP的联系人,既然他提交了CICE的提案,就应该在创建JSR时回避。CICE的另一位作者Bob Lee回应Clarkson说这是个不公平的建议,而且现在不用急急忙忙的闭包加入到Java中。

译者简介:肖桦是InfoQ中文站的志愿者翻译。他的网名为“江南白衣”,Java领域专家,开源JavaEE项目SpringSide发起人,现任广州电信研究院亿迅科技有限公司任设计中心设计主管。加入InfoQ中文站志愿者翻译队伍,请邮件至[email protected]

你可能感兴趣的:(Java闭包提案比较 JCA意见书发布)