1章ソフトウェア効率性が重要
ソフトウェア技術者の主な仕事は、保守可能で有用なソフトウェアをコスト効率よく開発することです。
Jon Louis Bentley [1] , Writing Efficient Programs (Prentice Hall, 1982)
40年経った今でも、ジョンの言う開発の定義はかなり正確です。 エンジニアの究極の目標は、製品寿命の間、ユーザーのニーズを維持できる有用な製品を作ることです。 しかし残念ながら、現在ではすべての開発者がソフトウェアコストの重要性を認識しているわけではありません。 真実は残酷なもので、開発プロセスにコストがかかると言うのは、過小評価かもしれません。 たとえば、Rockstar Gamesが人気ゲーム「グランド・セフト・オートV」を開発するのに5年の歳月と250人のエンジニアを要し、その費用は 1億3750万ドルと推定されて います。 また、Appleは、実用的で商品化されたOSを作るために、2001年にmacOSを 初めてリリースするまでに5億ドル をはるかに超える資金を費やさなければなりませんでした。
ソフトウェア開発には高いコストがかかるため、最重要事項に努力を集中させることが非常に重要です。 たとえば、コードの複雑さを客観的に削減できないコードのリファクタリングに何週間も費やしたり、ほとんど実行されない関数を深く局所最適化するなど、不要な行為でエンジニアリングの時間とエネルギーを無駄にしないことが理想的です。 そのため、業界では効率的な開発プロセスを追求するために、絶えず新しいパターンを発明しています。 ...
Get 効率的なGo ―データ指向によるGoアプリケーションの性能最適化 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.