Krugle
Koders
CodeSearch

Google、「Code Search」をお披露目

次の記事

PowersetはGoogleに迫るか?

codesearch_logo_sm.gifGoogleは「Code Search」を今日(米国時間10/5)スタート。これは、一般公開されているコードを収集しインデックス化することで実現した「ソースコードの検索エンジン」。「新しいこのコード検索エンジンはクロールによって見つけられるどんなコードも検索可能」とGoogleは言う。しかし、私が試みたところ、私自身のサーバーでホストしているコードを見つけられなかった。しかし、このような点は必ず改善されるだろう。他のライバルサイトであるKrugleやKodersに比べて、Googleのコードインデックスはかなり幅広い。例えば、Google Code Searchはopenssl.orgといったオープンソースサイトにあるzipやtarballファイルの内容もインデックスする。一方、その他のサイトはsourceforgeとそれ以外の複数の集中レポジトリからの結果を表示するようだ。

Google Code Searchで最初に気づくのは、検索の際に検索フィールドに正規表現(regular expression)を入力して利用できるということ。それに、豊富なサーチオプションがあり、検索条件を更に絞り込むことができる。Google Code Searchのホームページには、うまくまとめられた「利用に関する手引き」が用意されている。

Google Code Searchを「Krugle」と「Koders」両方と比較検討するためテストをしてみた。テスト用の検索は、“md5 in C”。CでのMD5ハッシュアルゴリズムのインプリメンテーションを見つけるのが目的だ。Googleでは、サーチクエリーでインプリメンテーション言語を特定可能。一方、Krugle、Koders双方共、ドロップダウンメニューからの言語選択が必要だった。KrugleとKodersは、他言語によるインプリメンテーションを結果に含んでいたことからみて、検索結果の言語によるフィルターもあまりうまく機能していないようだ。ここでの問題は、ユーザーが見つけたいと思っているのがシンプルなmd5のインプリメンテーションだというのを検索エンジンは知らないこと。だから、検索エンジンは文字列(ストリング)が合致する結果を自インデックスから表示し、ある結果はとてもお粗末なものになる(例えば、MD5ライブラリーを呼び出す関数など)。3検索エンジン中から、私は、出来の良い純粋なMD5インプリメンテーションは見つけられなかった。見つけられたのは”md5″をストリングに含む多数のヘッダファイルと関数だけだった。

これら全ての検索エンジンは、デベロッパーがコード検索に利用する手っ取り早いサービスになるには道のりは遠い。とりわけ、大半のデベロッパーが普通の検索エンジンを利用して、目的の結果を見つけるのに明敏なスキルがあることを考えるとなおさらだ。”drop-down menu in ajax”というようなフレーズで検索すると、使い物になるような検索結果は何もないだろう。だから、“コード内で、どの特定のストリングを探したいのか分からない”といったデベロッパーにとって検索は難航するだろう。今までの実績からいって、Googleこそがこれらの課題を解決するサービスを提供するのにふさわしいであろう。Googleのメイン検索エンジンとソースコードデータを組み合わせることで、よりよい検索結果につなげられる(例えば、MSDN からのコードサンプルをむしろ簡単にインデックスするのは想像できる)。このことは、更なる技術革新が必要な同分野のスタートアップ企業にとっては悪いニュースのよう。しかし、ここしばらく、新サービスでホームランがなかったGoogleにとっては良い知らせだ。

[原文へ]