BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Go 1 - Google Go 言語初のメジャーリリース

Go 1 - Google Go 言語初のメジャーリリース

ブックマーク

原文(投稿日:2012/03/29)へのリンク

Go が初のメジャーリリースに到達した。Google では今回のリリースを,今後数年間の安定バージョンと位置付けている。YouTube ではコアインフラストラクチャに Go を採用している。

2009 年 11 月に発表された Google Go 言語が,最初のメジャーリリースである Go バージョン1,別名 Go 1 に到達した。仕様と安定性に関する2年間の取り組みの結果として Google は,Go が実用の域に達しとことに合わせて,Go 1 で記述されたプログラムは今後数年間にわたって,将来的なポイントリリース後も変更の必要なくコンパイルおよび実行可能である,と発表した。ただし互換性はソースコードレベルで維持されるため,ポイントリリース間で再コンパイルが必要な場合はある。さらに Go 2 のようなメジャーリリースで,セキュリティ上の理由などによる仕様変更が必要となった場合には,ソースコードレベルの互換性も破棄される可能性がある。"Go 1 and the Future of Go Programs” には,将来的に発生し得る Go の互換性問題とその回避方法が説明されている。今回のリリース以前に記述されたプログラムは go fix ツールを使用することで,自動的に Go 1 で実行可能なものに変換することができる。

新たな追加もいくつかある。Unicode 文字 – 別名 rune 型error 型とパッケージtime パッケージなどだ。詳細は リリースノート に説明されている。

Go 1プログラムは現在,Linux,FreeBSD,Mac OS X および Windows 上で動作する。標準ディストリビューションには x86,AMD-64,ARM CPU 用のコンパイラが付属する。PowerPC 用のコンパイラ も開発中だ。

App Engine SDK 1.6.4 は,32 bit および 64 bit の Linux と Mac OS X プラットフォーム上での動作をサポートするようにアップデートされた。Google は社内で Go を使用していたが,最近までその詳細を公表していなかった。Google のエンジニアである Andrew Gerrand 氏は,YouTube において Go を "コアインフラストラクチャに使用していて,このサービスだけで1日あたり 10 億以上のリクエストを処理している" と公表した。さらに,MySQL のスケーリングを支援する Google プロジェクトである Vitess も Go で記述されている。

Canonica ではバックエンドインフラストラクチャに,Atlassian ではプロビジョニングとテストサーバの監視に,それぞれ Go を使用している。また,オープンソースの一貫性分散データストアである Doozer は Go で記述されていて,Heroku 上で動作する。Go のユーザは 他にも あるが,その採用はほとんど進んでいない。今月には Tiobe’s Top 50 Language でも選外となるなど,言語としての将来性に大きな疑問が持たれている。

Go は C や C++ のようなネイティブ言語の置き換えを意図したコンパイル形式の静的言語で,シンプルな構文と高い実行速度,クロスプラットフォームサポートなどを特徴とする。Tour of Go では,その基本機能を対話形式で確認することができる。

Google ではさらに別の言語として,JavaScript の置き換えを意図した動的言語の Dart も提案している。Go と同じく Dart も多くの支持を得るには至らず,最終的には Google が唯一のユーザになるのではないか,とも思われている。

この記事に星をつける

おすすめ度
スタイル

BT