Pike氏は、プログラムの動作時の速度に関して、「目標はCとC++にできるだけ近づけることだ」としている。速度はかなり近づいており、プログラムの動作は現在、約20〜30%遅いだけだという。
Goのウェブサイト自体もGoで作られているが、Googleの野望はもっと大きい。このソフトウェアはサーバソフトウェアを作ることを目的としており、Googleの「Gmail」は適した例の1つだが、Googleは、現在はJavaScriptが処理しているようなウェブブラウザ上で動作するソフトウェアなど、ほかのケースにもGoは適しているだろうと考えている。
Pike氏は「JavaScriptと比べたら、Goは少なくとも1桁は良い」と言う。Googleは自社独自のブラウザChromeを作っており、その目的の1つはJavaScriptとウェブパフォーマンスを高速化することだ。また、Googleは既に「Native Client」や「Google Gears」などのテクノロジを統合しようとしている。
ウェブに関連したGoの優れた機能はほかにもある。サーバと、PCや携帯電話などサービスを利用するクライアントデバイスとの間でタスクを分散できることだ。このため、サービスはクライアント側の処理能力の違いに、より容易に対応できるとPike氏は言う。
Goはまた、現時点における大きな課題の1つ、マルチコアプロセッサに対応できるよう開発されている。多くのプログラムは逐次的に動作し、タスクを1度に1段階ずつ進めるが、マルチコアプロセッサは多数のタスクを並行して処理することに優れている。
Goはこの問題を解決する特効薬ではないが、役に立つとPike氏は楽観的だ。同氏は「試しにやってみるだけの支えがわれわれにはあると思う」と言う。
Pike氏によれば、Goは具体的には、Communicating Sequential Processes(CSP)という1960年代にさかのぼるテクノロジを使っているという。これは、一連の連携するプログラム間のインタラクションを処理するものだ。CSPは、OccomやErlangなどのプログラミング言語に採用されているが、一般にシステムプログラミングには応用されていなかった。
「マルチコアプログラミングの問題をわれわれが解決したとは思っていない。だが、特定の種類の問題でマルチコアアーキテクチャを活用できる環境が構築できたと考えている」(Pike氏)
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
パナソニックのV2H蓄電システムで創る
エコなのに快適な未来の住宅環境
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
OMO戦略や小売DXの実現へ
顧客満足度を高めるデータ活用5つの打ち手