InfoQ

News

Javaのクロージャに迫る

作者 Geoffrey Wiseman, 翻訳者 編集部 投稿日 2007年8月30日 午前1時52分

コミュニティ
Java
トピック
タグ
Closures,
Java SE,
JavaOne 2007

Neal Gafter氏は最近Jazoon'07にてJavaのクロージャと名付けたプレゼンテーションを行った。・・・また言語の進化(プレゼンテーションmp3オーディオ同時プレゼン/オーディオ)に関するプレゼンもまた行われた。

そのプレゼンは難解なものではなくクロージャへの比較的に全体的な入門知識、目的、現在あるソリューションの問題等に関するもので入りやすい会話型のスタ イルで行われた。もし以前に難解な技術書を読むのを放棄した経験があればこれはクロージャに入門し、それを理解するのに最適な道である。

Gafter氏はThe Perl Reviewに掲載されていたMark Jason Dominusの記事からの引用文を用いてプレゼンを始めた。

今リカージョンを使わないで言語開発をしようとする人が笑われているように、また30年後にはクロージャなしで言語を開発しようとする人間もそうなるだろう。

Neal Gafter氏はクロージャの目的が現在開発者達が匿名の内部クラスで行っている同様のことをクロージャでもう少し簡単に成し遂げさせることであると語っている。API、コントロールAPIの統合、機能、集合作動等をもっと簡単に強固に行うということだ。

APIをコントロール可能にすることによって、Gafter氏は自分のコードを追加する指定のセクションを使った、APIの使用方法をドキュメントが説明するところのボイラープレートコードを減少させたいと考えている。開発者達は単純にJavaにAPI形態を表現する簡潔で明確な道がないので、頻繁にカットアンドペーストしているのだ。

Neal Gafter氏はこのアプローチの問題点を指摘しながら匿名のクラスを使用しどのようにJava SE 5をそれぞれのループに実装するのか考えてみた。

これらの全ての例はあなた達が問題解決法を知っている部分を示しています。頭の中にもう既にソリューションがあるのです。それはとても明確なことです。Javaのプログラミング言語を表現するのが困難になりそこであなたは言語と鍵を握るコンパイラと格闘することになるのです。

そこで彼はSwingイベントリスナー達に対してクロージャ提案の文章論と意味論について述べ、例にロックを伴うコントロールAPIからオペレーションの集合までを盛り込んで説明した。

このプレゼンはJavaのクロージャが大切で不可欠であると感じている参加者からとても好評であったが、しかし他の人々は納得がいかなかったようだ。 Fabrizio Gianneschi氏はこのプレゼンを見た理由を次のように述べている。”私はクロージャには反対しています。彼の以前のスピーチは聞いていないのです がJava Championのメーリングリスト上の彼の考えに共感しているので今回クロージャが実用的であることを証明してほしいのです。”

この件に関する更なる詳細はJavaのクロージャのウェブサイトで入手できる。またInfoQでクロージャに関する記事に注目してほしい。

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。