11月
14
サイボウズラボの秋元さんも「GoogleのGo言語によるプロジェクトが既にいくつか」のエントリーで触れてますが、「Go」はC言語などと同じで、検索がやっかいです。
とりあえず「google go」で情報を探してますが、Google Appsの「Go Google」キャンペーンなどもあるので、アラートメールなどの精度も低いです。
公式サイトのURLが「golang.org」なので、海外ではgolangと呼ばれるようになるのでしょうか。日本では、B・C言語に倣って「Go言語」になる気もします。
11月
14
現状、Google GoはLinux版とMac版のみのようです。出来れば、Windows版も出して欲しいです。
1. 環境の設定
OSはCentOS5です。ちょっと古いサーバなので、プロセッサはi386。
・Go のソースコードのルートディレクトリを指定
export GOROOT=/usr/local/go
・Go をインストールするOSを設定
export GOOS=linux
・CPUのアーキテクチャ。i366なので386を設定
export GOARCH=386
・Goのバイナリのインストール先を指定
export GOBIN=/usr/local/bin
・envコマンドで設定を確認
# env|grep GO
GOBIN=/usr/local/bin
GOARCH=386
GOROOT=/usr/local/goOSはCentOS5です。ちょっと古いサーバなので、プロセッサはi386。
・Go のソースコードのルートディレクトリを指定
export GOROOT=/usr/local/go
・Go をインストールするOSを設定
export GOOS=linux
・CPUのアーキテクチャ、32ビット系なので386を設定。64ビット系はamd64。
export GOARCH=386
・Goのバイナリのインストール先を指定
export GOBIN=/usr/local/bin
・envコマンドで設定を確認
# env|grep GO
GOBIN=/usr/local/bin
GOARCH=386
GOROOT=/usr/local/go
2.Python用ツールのインストール
Pythonのライブラリをインストールする際に、easy_installというツールを利用するため、python-setuptoolsをサーバにインストールします。
yum install python-setuptools
次に、Pythonで実装されたバージョン管理システムのMercurial をインストールします。
easy_install mercurial
3.Goソースコードのダウンロード
hgコマンドを用いて、goのソースコードをダウンロードします。
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
4.Goのインストール
Go ソースコードのsrcディレクトリ以下に移動
cd $GOROOT/src
コンパイルのコマンドを実行
./all.bash
これが以外に上手くいかない。まずは、bisonが足りないと怒られたので、
bison -y -d cc.y
make: bison: Command not found
make: *** [y.tab.h] Error 127
と怒られてたので、
yum install bison
で、bison をインストール。
rootでコンパイルを実行したところ、以下のエラーがでる。どうやらrootユーザだとコンパイルが上手くいかない。
gopack grc _test/path.a _gotest_.8
make[2]: Leaving directory `/usr/local/go/src/pkg/path’
— FAIL: path.TestWalk
1. error expected, [...]
11月
13
Goの公式ページ(英語)を確認すると、Goの特徴は、
fast – 速い
safe – 安全
concurrent – 平行
fun – 柔軟
open source – タダ
と記載されてます。
開発者の1人でもあるケン・トンプソン氏は、Google Goを
「Pytonのような動的言語の開発スピードと、C・C++のようなコンパイル言語の安全性を組み合わせたもの」
「Goの検証実験では、大きなバイナリでも数秒で処理が完了する」
「コンパイル後の実行速度は、C言語に匹敵する」
「Goの最大の目的は、スピードアップである」
と語っているようです。
一方、別の開発者の1人であるロブ・パイク氏は、
「Goは静的言語の効率と動的言語の分かりやすさを併せ持つ」
「Goはキャストが明示的だり、ポインタ演算は提供しないなど、安全性が高い」
「並行性と通信性に優れている」
「コンパイルが非常に高速である」
と述べています。
要は、高速で安全性が高く非常に便利な言語であるという事ですね。
11月
13
2009年11月10日、Googleが新言語である「Go」をOSSとして公開しました。ライセンスはBSDです。
C++のようにCを拡張して作られた訳ではなく、C言語をより高速に、そしてより便利にした言語仕様のようです。まだ試して無いのですが、近日環境を整えて触ってみます。
「Go」の開発者は、Plan9のロブ・パイク氏、B言語のケン・トンプソン氏、Google Chromのロバート・グリースナー氏など、まさにオールスター状態です。非常にスジの良い言語になりそうな予感がします。
ロブ・パインク氏は53歳、ケン・トンプソン氏はなんと66歳です。一介のプログラマとして、50歳を超えてもなおプログラミングに対する情熱を失わない姿勢に感動します。