Skip to main content

Get full access to 効率的なGo ―データ指向によるGoアプリケーションの性能最適化 and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

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.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now