言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

イベント処理について思う事。

ふと思うのだけど、イベント処理ってもう少し何とかならんのだろうか?

イベント処理のデバッグでドツボにはまる事がよくある。イベントベースのプログラムは、オブジェクトごとにカプセル化されているという意味ではとても扱いやすいけど、複数のオブジェクトにまたがるような物では途端に見通しが悪くなる。典型的な例はドラッグアンドドロップ。etoys の例で言うと、ビューワーからドラッグしてどこかにドロップすると、ドロップの対象によって何かが出て来るなんて例は、よほど精通していないと追いかけきれない。Xdnd のアプリ間 dnd に至ってはここに書ききれない程ややこしい。

そして輪をかけて腹が立つのがデバッガの役にたたなさ。関数のスタックを辿れるようにイベントチェーンを戻っていければ嬉しいのに、そんな気の利いた機能はどこにも無い。多分、オブジェクトと呼び出しスタックの視点でプログラムを眺めるツール以外に、イベントになったつもりで履歴を辿れるツールがあれば良いのだろうと思う。

その解決法については、アイデアが無い事も無いのだが、もうちょっとしてから書く。