序文
実用的なソフトウェア開発の世界へようこそ。ここでは、エンジニアは野心的な性能目標に臆することはありません。 また要求の変化や予期せぬ効率性の問題にもストレスなく対応し、データに基づいて戦術的かつ効果的にコードを最適化し、しかもコードベースはシンプルで読みやすく、保守や拡張がしやすい状態を維持しています。 しかし、ちょっと待ってください。このようなことは可能なのでしょうか。
可能なのです。そして、本書でその方法をお教えしましょう! 良い知らせとしては、もしあなたがこの本を買ったのなら、すでにその半分のところまで来ているということです。 悪い知らせは、必要な知識だけを抽出したつもりですが、それでもなお11章もあることです。 この点で、本書『効率的なGo』は、手軽なチュートリアルではないことが特徴だと思います。 そのかわり、効率的でありながら実用的なソフトウェアを書くための完全なガイドであり、私がキャリアを始めたときに知っていればよかったと思うすべての話題に触れています。
この本では、私の大好きなプログラミング言語であるGoと、それを最適化する方法について、間違いなく多くのことを学べます。 しかし、本書のタイトルに惑わされないでください。 最適化の考え方やオブザーバビリティパターンを示すためにGoを例題言語として使っていますが、本書の11章のうち8章は言語に中立的に書かれています。 Java、C#、Scala、Python、C++、Rust、Haskellなど、他の言語で書かれたソフトウェアを改善するために、同じテクニックを使えます。
最後に、もしあなたが低レベルの最適化手法の完全なリストを期待していたなら、この本は適切ではありません。 第一に、最適化はうまく一般化できません。誰かがループをアンロールしたり、構造体フィールドにポインターを使ったりして、より良い効率を達成したからといって、私たちが同じことをしても役に立つとは限りません! ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access