- PR -

JDK7でクロージャを導入するらしい

1
投票結果総投票数:70
イラネ 13 18.57%
微妙 22 31.43%
わくわく 10 14.29%
クロージャって何? 25 35.71%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-25 03:28
たまには雑談ネタですいませんが・・・

http://journal.mycom.co.jp/articles/2006/08/23/java7closuer/
ついにJavaにもクロージャが導入されるのでは?と話題になっています。
XMLリテラルも導入するらしいですし、JDK5での言語拡張も合わせて、
どんどん昔のJavaとはかけ離れていきますね。

また勉強かぁ・・・

皆さんは、クロージャの導入についてどう思っているのでしょう?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-25 13:00
おっ!良いですねー、クロージャ。Rubyとかの余波を受けて
期が熟しての提案というのも面白いですね。関数ポインタな
んて言う、私にとっては懐かしいワードも久々に出てきた出てきた。
匿名クラスとかstaticで作ったユーティリティメソッド
毎に定義できるといった理解でいいのではないでしょうかね。
でも、第三者が保守する可能性の高いお仕事系の現場では、
しっかり使って良いという風になるに、相当時間が掛かり
そうですけどね。読み下す人と説明する人の言語仕様の
理解度が今よりも高くないといけなくなっちゃうでしょうからね。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-25 13:29
Cではコールバックが当然だったし、JavaScriptでも便利に使っていますが、どうも「Javaに…」と聞いて、違和感を感じてしまっています。
根本的に「Javaはシンプル」と思っているからでしょうかね。

sort()にクラスまるごと渡したりするのは、確かにアレだとは思っていたけど。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-08-25 17:17
引用:

mioさんの書き込み (2006-08-25 13:29) より:
Cではコールバックが当然だったし、JavaScriptでも便利に使っていますが、どうも「Javaに…」と聞いて、違和感を感じてしまっています。



私も同じ感想です。

Closure的な書き方ができると便利なのに…。って思うこともありますが、
最近のJavaは言語拡張の頻発でシンプルさを失いかけている気もします。

なので、「微妙」に投票しておきました。

ところで、ローカル関数を使う場合のスタックフレームはどうなるのでしょう?
匿名クラスの場合は、外側のローカル変数へのアクセスをfinalなものに
限定することで中途半端に逃げてましたが。やっぱり同じなんですかね?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-08-25 18:38
いちいち匿名クラスでコールバックされるよりかは、
クロージャでやりたいと思うことも多々ありましたが、
結局は匿名クラスでいいんじゃないかと思います。

どういう実装なんでしょうか。
逆コンパイルの結果が楽しみです。

ところで、エスケープ解析がJDK6から登場しますが、
クロージャの導入によってエスケープ解析が難しくなりそうですが、
この辺もどういう実装になるか楽しみです。
1

スキルアップ/キャリアアップ(JOB@IT)