UNIXの共同開発者Ken Thompson氏をはじめとするGoogleのソフトウェアの先導者たちは、「Go」と呼ばれる実験的なプログラミング言語プロジェクトによって、コンピュータの処理性能とプログラマーの能力の両方を高めることが可能だと考えている。
Googleは米国時間11月10日、Goから秘密のベールを取り去った。これまでに構築したものを発表し、この新しいオープンソースプロジェクトへの参加を呼びかけた。
コンピューティング業界は絶えず、新たに最初から始めることと、既存のテクノロジを進化させることの間でせめぎ合っている。Goチームは、現在のハードウェア設計とプログラミング技術の限界から、前者のやり方を選んだ。
首席ソフトウェアエンジニアの1人でGoの開発に携わっているRob Pike氏は、次のように語る。「われわれはこうした問題のいくつかに不満を感じ、問題に対処する唯一の方法は言語だと判断した。われわれはシステムソフトウェアの人間であり、われわれ自身の生活を改善する言語が欲しいと考えた」
現時点でGoogleのGoプロジェクトを構成しているのは、プログラミング言語と、プログラマーが書いたものをコンピュータ上で動作可能なソフトウェアに変換するコンパイラ、Goプログラムに多くの組み込み機能を提供するランタイムパッケージだ。Goに最も近いものはCおよびC++だが、Pike氏によると、Goは最新の機能を採り入れ、ウェブブラウザ内でも使用できるといった汎用性を備えているという。
新しいプログラミング言語を開発することと、それを業界で強い影響力を持つものにすることとの間には、大きな隔たりがある。Javaで成功を収めたSun Microsystemsは、Fortranの後継になることを目指したFortressではそれほど成功しなかった。
しかしGoには、ほかの多くの言語にはない、いくつかの利点がある。
第1に、このプロジェクトがGoogleで行われているということだ。Googleには、同社の膨大な数のサーバと無数の社内プログラマーからより多くを得るために役立つものを作るという、強い動機がある。Googleでの実験には、他社の実際の製品の多くと比べても商業的妥当性が高いものがあり、Goは既に、20%プロジェクトの1つから、正式なサポートを受けるプロジェクトに昇格している。
「Goをいつまでも実験段階にしておくつもりはない。これで実際に使われるものを作りたいと心底思っている」(Pike氏)
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス