コンピュータサイエンスにおける「間接性のレベルがすべての問題を解決する」という言葉はどういう意味ですか?
8 に答える
一般的には、抽象化のレベルを上げることで、問題を理解/解決しやすくすることができることを意味します。
ただし、抽象化には注意してください。少なくとも私が聞いたとおり、完全な引用は、「間接参照のレベルが多すぎるという問題を除いて、別のレベルの間接参照ですべての問題を解決できます」です。
本から美しいコード:
コンピュータサイエンスのすべての問題は、別のレベルの間接参照によって解決できます」と、1972年に現代のパーソナルコンピュータを構想した科学者であるバトラーランプソンに起因する有名な引用です。
これは、フレーズをデビッドウィーラーに帰するウィキペディアによって矛盾していますが。
ケブリン・ヘニーの帰結は、「...間接的な層が多すぎるという問題を除いて」です。
これは基本的に、問題が簡単に解決できるようになるまで、問題をより小さな問題に分割する必要があることを意味します。
問題をいくつかのレイヤーに分割します。
- 問題を解決するルーチン
- 問題空間を理解するルーチン
- それらは : 小さなステップを実行するルーチン (ファイルをロードし、いくつかのビットをいじり、出力を書き込みます) を呼び出します。
上部のルーチン (問題解決ルーチン) は、問題を解決する実際の手段から間接的/抽象化されているため、後で同じ問題をわずかに異なる方法で解決できるようになります。
非常に重要な概念であり、ここでの答えはほとんどありません。一般に、提示されたすべての問題は、必ずしもコードを直接調整することによって解決できるわけではありませんが、何らかの形で何らかのプロキシ (パターン定義は忘れてください) を適用することによって解決できます。インターセプト &| イベントの計装は非常に過小評価されています。
この引用は、その含意において非常に広いです。理解の鍵は、「問題」という言葉に焦点を当てることです。問題は、プログラミングの問題/バグである可能性があり、ワールドエンティティを同等のコンピューティングコンポーネントに変換し、コンピューティングソリューションに関連するコストがかかる場合があります。自分で何かを開発するコストの問題を解決しようとしているとしましょう。別の専門家に依頼して、時間と費用を大幅に削減してもらうことを検討することをお勧めします。これは間接参照の別の使用法です