余白

https://blog.lacolaco.net/ に移転しました

フレームワークへの過大評価

「このフレームワークでは○○ができない」、そういった評価は(ソフトウェアの)フレームワークという概念一般に対する「過大な」評価である。

フレームワークが使用されるとき、その使用者に何事かを禁じうるということは、そのフレームワークによってのみ何事かが可能になるのと同じ程度に、おおよそありえない。なぜならば、あるソフトウェアが何を実行しうるのか(Capability)を決定しているのはそのソフトウェアを実行する環境(ランタイム)であり、ソフトウェアはその品目の中から必要なものを機能として選び取っているにすぎないからである。

フレームワークとは、この「選び取る」という実装者の行為に対する(友好的な)制約ではあるが、フレームワーク自身もまた同じランタイムで実行されるソフトウェアの一部となる以上は、その他の部分に対する支配的なものとなることはできない。せいぜいその制約による難易の勾配が、「選ぶべきもの」を選びやすくし、同時に「選ばざるべきもの」を選びにくくするだけのことである。

フレームワークがそのように何事かを不可能にすると考える人びとにとっては、ランタイムがソフトウェアに最初から与えていた機能でさえも、フレームワークによって可能になったものだと考えるだろう。だがこれは、可能と不可能のあいだにあるもの、難易のグラデーションを知らないというだけの話ではないだろうか。