純粋な最適化の技術を、私たちは失ってしまったのだろうか?

初期のエンジニアたちは、極めて限られた制約の中で作業していました。アポロ誘導コンピュータのRAMはわずか2KBでした。あらゆるビットが重要であり、あらゆるCPUサイクルが不可欠だったのです。

今日、私たちにはギガバイト単位のメモリがあります。問題が起きれば、ハードウェアを追加することで解決しようとしがちです。コードが遅かったり重かったりすれば、RAMを増やします。こうした習慣が、純粋な最適化というスキルを失わせているのです。

制約について考えることで、より優れたソフトウェアを書くことができます。

Pythonで大きなテキストファイルを処理する方法を見てみましょう。

一般的な方法: 多くの開発者は、ファイル全体を一度にメモリに読み込みます。

最適化された方法: ファイルを1行ずつ処理します。

この違いは、エンジニアリングの哲学に関わるものです。

リソースを追加することは一時的な解決策に過ぎません。それは脆弱なソフトウェアを生み出します。制約を設計の原動力にすることで、堅牢なソフトウェアが生まれるのです。

最適化とは、単に速度を上げることだけではありません。リソースを意識することなのです。

コードを書くとき、自問してみてください:

より優れたソフトウェアは、規律から生まれます。

出典: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9