BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Rob Thornton 关注 0 他的粉丝 ,译者 肖桦 关注 1 他的粉丝 发布于 2007年4月16日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Java闭包的C3S提案作者Howard Lovatt,为四份著名的提案(C3SFCMCICEBGGA)编写了一份详细的比较。同时,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中文站志愿者翻译队伍,请邮件至china-editorial@infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

第一印象 by fishx net

cice看起来倒是最自然的
fcm、c3s的语法看起来好诡异
bgga的语法太臃肿了

Re: 第一印象 by guo memphis

我到觉得bgga的语法更自然一些,CICE的好像太繁琐了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT