日々のくだらない話題について


by jinotaro
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Google発の新言語「Go」を試してみる

Googleが「Go」という新しい言語を発表した。速度はC/C++を、作りやすさ・安全さはPythonを、というコンセプトらしい。確かにホームページを見るとガベージコレクションに対応しているなど、なかなか面白そうである。また標準で用意されているパッケージ見てるとイテレータ関連、正規表現、インタプリタ、リフレクションなど使いやすそうなものが一通り揃っていそうだ(データベース関連は無いみたいだけど)。実行速度もCで書いたものより3割ほど遅いだけということで、GC付きの言語としては優秀だと思う。ということで、早速CentOS5.4にインストールして実行してみる。

インストールに当たっては以下のページを参考にさせていただいた。多謝。

The Go Programming Languageのインストール説明
ito.tetsunosuke/notebook: Google Goをインストールする(CentOS)
izaru blog: 新プログラミング言語「Go」をCentOSにインストールしてみた

以下の実行はrootユーザ以外の一般ユーザで行います。

1.環境変数を追加する。

 $ vi ~/.bashrc
  ==========
  export GOROOT=$HOME/go
  export GOOS=linux
  export GOARCH=386
  export PATH=$HOME/bin:$PATH
  ==========

 環境変数を反映させる。
  $. ~/.bashrc

2.ディレクトトリを作る。

 $ mkdir -p ~/bin ~/go

3.Mercurialインストール
 自分の環境ではsudoの設定をまだしていないので、ここだけrootになる。
 sudoでもいけるはず。

 # su
 # yum -y install python-setuptools
 # easy_install mercurial
 # exit

4.Goを取得する
 $ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

5.Goをインストール
 $ cd go/src
 $ ./all.bash

6.お題のサンプルを実行
 golangにあるサンプルプログラムを実行してみる。
 x64のときはコンパイラが"6g"でリンカが"6l"のようだが、x86のときは"8g/8l"のようである。
 同様にデフォルトの出力ファイルも6.outではなく8.outになるようなので、そのように実行する。

 まずプログラムを入力。
  $ vi hello.go
   ===========
   package main
   import "fmt"
   func main() {
    fmt.Printf("hello, world\n")
   }
   ===========
 コンパイル。
  $ 8g hello.go
 次にリンク。
  $ 8l hello.8
 最後に実行!
  $ ./8.out
  hello, world

ということで、とりあえず実行は完了。
後日ベンチマークになるソフトくらいは作ってみたいと思う。
[PR]
by jinotaro | 2009-11-12 10:49 | pc