a systems programming language - expressive, concurrent, garbage-collected |
Googleは5月13日(米国時間)、プログラミング言語Goの最新版となる「Go 1.1」を公開した。Goは2012年3月に初の1.0がリリースされた新しいプログラミング言語。基本的なシンタックスはC言語と同じ記述方法を採用しつつも、C言語で問題になりがちな部分や、開発の記述上効率が悪いと言われる部分を言語仕様として抜本的に見直し、C言語レベルの低レベルな操作をより安全に、より簡単に記述できるようになっているところに特徴がある。
Go 1.0がリリースされてから1年間の間は、主にバグ修正を目的とした「ポイントリリース」と呼ばれるリリースのみが実施されてきた。Go 1.1はポイントリリースとは異なり、新機能の追加や機能改善が実施されたバージョンになっている 。特に注目されるのがパフォーマンスの向上。Go 1.1ではコンパイラ、リンカー、ガベージコレクタ、ルーチンスケジューラ、マップ、標準ライブラリなどに最適化が施されており実行時のパフォーマンスが向上している。
またGo 1.1ではメモリ同期エラーによる競合状況を検出する機能が追加されたことで、並列処理プログラミングが以前よりもより安全に実施できるようになっている。Goはもともと並列処理のプログラミングを言語仕様のレベルで向上させることも目的のひとつとしている。