アプリケーションフレームワークとノーフリーランチ定理

「システムの要件に合わないフレームワークを無理やり使わされて使って失敗する」のは、
ノーフリーランチ定理によるのではないだろうか?

「あらゆる問題で性能の良い汎用最適化戦略は理論上不可能であり、ある戦略が他の戦略より性能がよいのは、現に解こうとしている特定の問題に対して特殊化(専門化)されている場合のみである」

ちょっとでもフレームワークの流儀や対象範囲から外れたことをやろうとすると、
とてつもなく手間がかかるか、全く出来ないかのどちらかで、
適切でないフレームワークを使うくらいなら、個別にスクラッチで書いた方がよっぽどマシという状況が起こりうる。


なぜこういったことが起きるかというと、
フレームワークが特定の分野や範囲に限定してのみ、
その能力を最大限に発揮するからであり、
ノーフリーランチ定理で言うところの
高度に特殊化されたアルゴリズムに相当するからなのではないだろうか。


そのため、フレームワークが対象としている範囲外に対しては、
非常に効率が悪くスクラッチで書くよりも効率が落ちてしまう。


だから使おうとしているフレームワークが要件に合っているかどうか事前に調査すること、フレームワークの特性を理解していることは大事なのだ。