- 325 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 03:17:28 ]
- 次世代Javaスレなのに5.0で導入された機能の話ばっかりでつまらんので、
投下してみる。 JavaにContinuation(継続)機構は必要か? blogs.sun.com/roller/page/gbracha?entry=will_continuations_continue 俺はあんまり良く知らないんだけど、SchemeとかRubyにはContinuationという 機能がある。これは言うなれば、メソッドを呼び出す時に「おまえ、自分の処理 が終わったらこれを呼べよな」とクロージャを渡してしまう感じだろうか。 もちろんクロージャは(ちょっと前に話題に出てたけど)その時のスタック状態 さえも保持してるので(スコープから外れても、クロージャ内ではまだローカル 変数にアクセスできる、とか)、一種のlongjumpとして働くってことですな。 (というか、そこまでしか分からんかった....) リターン値を見てから処理を決めて....という処理が不要になって、プログラムは シーケンシャルにどんどん突き進めるという利点と、呼び出し元じゃなくても一気に 復帰できる上に、その時のスタック状態まで復元してしまうという、いわば「スタック フレームごとあとで使うから保存しちゃえ」という強力な機能なんだってな。 なんだかContinuation-based Web Serverとかいうものもあるらしい。 で、この機能がJVM(JavaじゃなくてJVMだよ)に必要かどうかという議論。 リンク先ブログの人は、「ウェブアプリはAJAXとかで遷移の少ない方向へ移って いってる過渡期で、移行が完了したらContinuation-based Web Serverの利点は 過渡期の遺物になっちゃう可能性があるし、JVMの大改造が必要だしセキュリティ モデルに影響を与えるからイラネ」といってる模様。 いろんなサイト見て、Continuationは便利そうだが、正直分かりにくいし使いどころ が難しい気がするので、俺もイラネ、という感じだな。
|

|