a systems programming language - expressive, concurrent, garbage-collected

Goプロジェクトチームは8月19日(米国時間)、「Go 1.5 is released - The Go Blog」において、プログラミング言語Goの最新版となる「Go 1.5」の公開を伝えた。このバージョンは実装が大きく変更されており、まずコンパイラ・ツール・チェーンの実装がCからGoへ、さらにコードベースに残っていたCがGoへ置き換わっている。

ガベージコレクションは再設計され、ガベージコレクションのポーズ時間が劇的に短くなったほか、スケジューラーが改善されたことでデフォルトで設定されているGoルーチンの並列処理数が1から論理CPUの数まで増えている。

Go 1.5ではデベロッパー・ツールも追加されており、パッケージ間で実装の詳細を共有できるインターナルパッケージ("internal" package)機能の追加、プログラムトレースを視覚化する新しい"go tool trace"コマンドの導入、Goパッケージドキュメントを閲覧するための新しい"go doc"の導入などが行われている。

さらに、新たなアーキテクチャへの対応も進んでいる。まず、Apple iPhoneやiPadをターゲットとしたdarwin/armとdarwin/arm64が追加されたほか、実験段階としながらも64ビットのIBM PowerPC ビッグエンディアン/リトルエンディアンを対象としたppc64およびppc64leが導入されている。

なお、言語そのものに対する変更は少なく、唯一の変更点としてはmapにおける型の記述に関して従来よりもシンプルに書けるように変更が加えられている。