ダイナミックバインディング
↑前回のつづき
動的束縛というプログラミング用語がある。
アプリは単体ですべての機能が実装されているわけではない。外部の機能を呼び出す部分があって、実行時に結合して動作が決まる。OSのバージョンによってアプリの挙動が変わったりするのはこれのせいだ。
常識的にはファイルを開こうとすればファイル選択ダイアログが開く。アプリはそれを期待しているし、OSもその期待に応えてくれる。しかし、技術的には何が起きてもおかしくはない。
マインスイーパーが起動するかもしれない。「テッテレー」という効果音が鳴るだけかもしれない。信用に関わるのでグーグルもアップルもマイクロソフトもそんなことはしないだろうが、あらゆる事象は起こり得る。
実行するまで束縛されない。
アプリが起動する前ならファイルを開く操作には無限の可能性がある。
かといって起動しなければ保存容量の無駄遣いになる。無限の可能性もそれ自体は何の役にも立たない。実行されて、束縛されて、ファイル選択ダイアログを開くことしかできない運命が確定して、ようやく道具としての価値が生まれる。
僕が自由を求めるのは束縛されたいからだ。
望まない束縛ではなく、望ましい束縛を得るために自由である必要がある。
↓次回につづく