- コンピュータは速くなったが、ソフトウェア開発は速くなっていない
- 依存性の管理はソフトウェア開発の多くを占める、しかしC言語のヘッダーでは高速に依存性を分析しづらい
- JavaやC++のような扱いにくい型システムをもつシステムより、PythonやJavaScriptなど動的片付け言語が使われている
- ガーベジコレクションや並列計算などの基本的なコンセプトのいくつかは一般的な言語で上手くサポートされていません
- マルチコアコンピュータの登場により、心配と混乱が生じた
- 1台のコンピュータで数秒で大規模なGoプログラムをコンパイル可能
- Goは、依存関係の分析を容易にし、Cスタイルのインクルードファイルやライブラリのオーバーヘッドの多くを回避するソフトウェア構築のモデルを提供します。
- Goの型システムには階層がないため、型間の関係を定義するのに時間がかかりません。また、Goには静的型がありますが、言語は一般的なオブジェクト指向言語よりも軽量になります。
- Goは完全にガベージコレクトされ、並列実行と通信を基本的にサポートします。
- その設計により、Goは、マルチコアマシン上のシステムソフトウェアの構築のためのアプローチを提案している。