グーグルの新プログラミング言語「Go」--精鋭チームが切り開く新たな可能性 - (page 3)

文:Stephen Shankland(CNET News) 翻訳校正:川村インターナショナル2009年11月13日 07時30分

 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の記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]