質問: 手書きのアセンブリは消えますか? 先週、コンパイラの最適化がどんどん良くなっているので、手書きのアセンブリが不要になる時期があるのではないかと思っていました。コンパイラが手書きのアセンブリに匹敵するコードを生成するのに十分スマートではない特別なフィールドはまだありますか?
回答: まず第一に、エドモンドヒラリー卿がエベレストに登る人々について話しているのと同じように、「そこにあるから」とアセンブリを書いている人がいると思います。その存在そのものが彼らにとっての挑戦であり、彼らは、結果に対する実際的な必要性(または使用さえ)があるかどうかにかかわらず、その挑戦を受け入れます。とは言っても、私自身の考えは、すべてのコードのpercentageを縮小するためにアセンブリ言語が使用されていますが、プログラミング全体ではまだ十分な成長があり、絶対的な意味で、アセンブリコーディングはまだ成長しています。たとえば、ms-dosの大部分はアセンブリ言語で記述されています。議論のために、それがall手書きのアセンブリ言語であると仮定しましょう。端数を出すために、約100キロバイトの出力コード(おそらく5万行のソースコードのようなもの)を生成した手書きのアセンブリ言語を意味しているとしましょう。最後に聞いたところによると、microsoftは、windowsの1パーセントの約1/10がアセンブリ言語で記述されていると主張しました。 windowsは現在約1億5,000万行のコードですが、その.1パーセントは合計150,000行です。また、windowsはおそらくコンパイラの使用に適したmostである領域を表しています。これは、主に大量のメモリと一般に大量のリソースを備えた高速マシンを対象としています。機能はmuchリソースの使用を最小限にするよりも重要です。小さな組み込みシステム(1つの明白な例について)は、手書きのアセンブリコードをmuch程度まで間違いなく支持しています。典型的な電子レンジのコードは、ファイルシステム、アンチエイリアスフォントのレンダリング、ネットワーク上の多数のマシンの管理などのために、コードの巨大なチャンクをほとんど必要としません。