Googleは2009年11月10日(米国時間)、オープンソースのプログラミング言語「Go」を発表しました。
Go言語は、Linux、Mac、Native Clientで動作する開発言語で、Android携帯上でも動作します。
まだ発表されたばかりなのでこれからの動向が注目されています。

特徴はGoogleによると・・

  •  シンプルな言語である。
  •  コンパイル・実行速度が早い。
  •  安全性が高い。
  •  同期処理が容易に行える。
  •  なにより楽しい。
  •  オープンソースである。

これらについてもう少し掘り下げてみてみましょう。 

シンプルな言語である

以下がおなじみのHelloWorldのコードです。

package main

import "fmt"

func main() {
  fmt.Printf("Hello, 世界\n")
}

確かにシンプルではありますが、いたって普通です。
他の言語とあまり違いがありませんが、裏を返せばこれ以上簡素化はできないということでしょうか。 

コンパイル・実行速度が早い

Go言語はコンパイル速度が速く、コンパイル済みプログラムの実行速度もC言語やC++に迫る速さです。 

安全性が高い

Go言語はタイプセーフかつメモリセーフです。
ポインタの概念はありますが、C言語のようなポインタの演算は出来ません。
ランダムアクセスのためにはslice型が用意されています。 

同期処理の記述が容易

goroutineと名づけられた軽量通信プロセスにより、サーバ処理が書きやすくなっています。
必要であれば千個ものgoroutineを一度に動かすことも可能です。 

楽しい

Go言語はビルドが早くて、かつ洗練された構文、ガーベージコレクション、多種多様なメソッド、リフレクション機能を持ちます。
一見、動的言語のようですが実行速度と安全性は静的言語そのものです。何より使って楽しい言語です。 

オープンソースである

Go言語は オープンソースプロジェクトで、BSDライセンスで提供されています。

 

 Go言語について簡単に紹介をしましたが、今後Go言語はどうなるのでしょうか。
まだ有用な情報・資料が不足していますし、なによりまだWindows上では動作しないのが普及の足かせとなりそうです。