~ シンプル構造で高速、Googleの新プログラミング言語「Go」 ~
技術革新のテンポの早いコンピュータ業界ですが、C言語が生まれて30年以上経つけれど、
そのプログラミング形式・構造は大きくは変化していません。
しかし、一方でC/C++の複雑性を排除したJavaやC#が登場したり、最近ではPythonや、Ruby
などのスクリプト言語が人気となるなど、新たな技術進展方向性が模索されつつあります。
そんななか、Googleの開発チームが新たに開発・提案したプログラミング言語が「Go」です。
Goのオフィシャルサイトによれば、文法体系はシンプルで、ガベージコレクションが用意され
ているほか、並列実行を考慮して軽量・軽快なプロセス間の通信を行う手段が提供されている
ので、簡易なプログラミングにもかかわらず、大規模処理が可能なシステムが構築ができると
のことです。
Goは、シンプルで高速動作、安全、そして並列処理が可能な点が特徴として挙げられている。
全体としてはC言語風の記述形式ながら、それとは異なる文法体系を持っています。
そして、ポインタが利用可能なものの、バッファ・オーバーフローの原因となる複雑多義なポイ
ンタ演算を排除しています。
また処理が高速なだけではなく、文法や依存関係をシンプル化したことにより、プログラム文
法解析のコンピュータ処理が容易になり、コンパイルが今までになく高速になっています。
その他にも多数の関連ライブラリを含んだコードを、コンパイラ「gccgo」を使って高速に処理する
などの特徴があります。そして、1台の作業マシンでコンパイルをすぐに行えることを目標にして
おり、「コンパイラ処理の待ち時間に一休憩」というのは過去のものになるかもしれないですね。
Go開発の発端は、従来のプログラミング言語に対するフラストレーションの解消がモチベー
ションとなっているということです。
Goは2007年初頭にGoogleの20%プロジェクトを使って開発がスタートし、その年の半ばには、
正式なプロジェクトとして本格的な開発が始まったのですが、Goの最終的目標は、マルチコア
やマルチプロセッサシステムの開発言語として、CやC++などの言語の置き換えとのことです。
対応OSは現時点では残念ながらLinuxとMacですが、x64とx86の2種類のポートがあるほか、
Linux向けにARM版ポートも用意されていて、まずは、そのプログラミング環境を体験してみて
ほしいとのことです。
詳細は下記URL(英文)を参照してください。
http://golang.org/
----------------------------------------