The Go Blog
Go version 1 がリリースされました
本日、Go プログラミング言語の開発において大きな節目を迎えました。私たちは Go version 1、略して Go 1 を発表します。これは、信頼性の高い製品、プロジェクト、出版物を作成するための安定した基盤を提供する言語と一連のコアライブラリを定義するものです。
Go 1 は、サポートされているバイナリディストリビューションで利用できる Go の最初のリリースです。Linux、FreeBSD、Mac OS X、そして Windows 用も利用可能であることを、大変嬉しく思います。
Go 1 の主な動機は、ユーザーにとっての安定性です。Go 1 プログラムを作成する人々は、それらのプログラムが、多くの環境で、数年単位で、変更なくコンパイルされ実行され続けると確信できます。同様に、Go 1 について本を書く著者も、彼らの例と説明が、今日そして将来の読者にとって役立つものであると確信できます。
前方互換性も安定性の一部です。Go 1 でコンパイルされるコードは、Go version 1.1、1.2 などのアップデートやバグ修正が発行されても、ごく一部の例外を除き、そのバージョンの寿命が尽きるまでコンパイルされ実行され続けるはずです。Go 1 互換性ドキュメントで、互換性ガイドラインを詳しく説明しています。
Go 1 は、主要な再設計ではなく、Go が現在どのように使用されているかを表したものです。その計画において、私たちは問題と矛盾の解消、および移植性の向上に焦点を当てました。これまで、私たちが設計し試作したが、後方互換性がないためにリリースしなかった Go の多くの変更がありました。Go 1 はこれらの変更を組み込んでおり、言語とライブラリに大きな改善をもたらしますが、古いプログラムには非互換性を導入することもあります。幸いなことに、go fix ツールを使えば、プログラムを Go 1 標準に準拠させるために必要な作業の多くを自動化できます。
Go 1 では、言語(Unicode 文字とエラーの新しい型など)および標準ライブラリ(新しいtime パッケージやstrconv パッケージでの名称変更など)に変更が導入されています。また、パッケージ階層が再編成され、例えばrpc パッケージなどのネットワーキング機能が net のサブディレクトリに移動されるなど、関連する項目がまとめられました。変更点の完全なリストは、Go 1 リリースノートに記載されています。このドキュメントは、以前のバージョンの Go からコードを移行するプログラマーにとって不可欠なリファレンスです。
私たちはまた、Go コードの取得、ビルド、インストール、保守を行うための新しいgo コマンドを中心に Go ツールスイートを再構築しました。go コマンドは、Go プログラムのソース自体からビルド手順を導き出すため、Go コードを作成するための Makefiles の必要性を排除します。ビルドスクリプトはもう必要ありません!
最後に、Go 1 のリリースは、Google App Engine SDK の新しいリリースを誘発します。App Engine ライブラリにも同様の改訂と安定化のプロセスが適用され、開発者が App Engine 用に何年も実行されるプログラムを構築するための基盤が提供されます。
Go 1 は、Go コアチームとオープンソースコミュニティからの多くの貢献者による多大な努力の結果です。これを実現するために協力してくださったすべての方々に感謝いたします。
Go プログラマーになるのにこれほど良い時期はありません。始めるために必要なものはすべてgolang.orgにあります。
次の記事:Google I/O 2012 からの Go ビデオ
前の記事:Go コミュニティを知る
ブログインデックス