BT

Javaクロージャーのプロポーザルを比較する~JCAのポジションペーパーが公開

| 作者: Rob Thornton フォローする 0 人のフォロワー , 翻訳者 松本 清一 フォローする 0 人のフォロワー 投稿日 2007年9月2日. 推定読書時間: 2 分 |

Javaのクロージャーに関する提案書であるC3Sを書いたHoward Lovatt氏が、よく知られた4つの提案(C3S, FCM, CICE, and BGGA)の比較をした。同時期に、FCM提案書の作成者が、FCM上での制御文の抽象化に関する新たなポジションペーパー公開した。Ricky Clarkson氏は、CICEは不十分なもので、それには、Googleでの内部的な政策が影響しているのではないかと考えている。

Lovatt氏は、4つの提案書を見て、11の観点に関してそれぞれを比較している。

  1. 内部クラスやクロージャーのインスタンスを作成する際のシンタックスの短さ
  2. 内部クラスのメソッドや自身へのアクセス方法
  3. 内部クラスのインスタンスでの複数のメソッドのオーバーライド
  4. クラスに定義されたメソッドの実装
  5. インターフェースの型
  6. メソッド、コンストラクタ、フィールドの書式
  7. 短いシンタックス(特に、制御文や短いメソッド)
  8. ローカル変数の割り当てと、final変数が不要であること
  9. 例外の種類
  10. メソッド/関数の型(シンタックスの短さを含む)
  11. return、break、continueによるNon-local transfer

彼がこれを書いた目的は、上記以外にも提案されるかもしれないものを含めた提案について、内部クラスとクロージャーの部分を分類することである。この比較に続いて、Stephen Colebourne氏、Stefan Schulz氏、Ricky Clarkson氏らは、Javaの制御文の抽象化に関するポジションペーパー(まだ完成していないので提案段階でないことは明確ですが)とともにFCMを作成した。彼らによって、JCAの必要性を感じさせる。なぜなら、クロージャーが、予約語として使用されAPIが存在するといった、いわゆる適用段階にないからである。

最後に、Ricky Clarkson氏は、Googleの政策がBGGAの提案に影響を与えているのではないかと思っている。
JCPにコントリビュートできる人には制限がある。具体的には、雇用主がメンバーであるとメンバーになれないのである。Clarkson氏は、Josh Bloch氏のJCPとのコンタクトをとったが、既にCICEに提案しているので、JSR作成には興味が無いのかもしれないと言っている。CICE提案の共同者の一人であるBob Lee氏は、これはアンフェアな提案であり、急にJavaにクロージャーが組み込まれることはないと言っている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT