パスワードを忘れた? アカウント作成
9198 story

(オープン)ソースコードを検索! 59

ストーリー by mhatta
何事もリサイクルが大事 部門より

esus1曰く、"japan.linux.comの記事「Koders.com:(オープン)ソースコードの高速検索」で、Kodersというソースコード検索サイトの紹介と、Koders.comの創始者であり主任アーキテクトであるDarren Rushのインタビューが掲載されています。このKoders、基本は検索エンジンですがkoders.comは検索サイトとして運営されています。 検索方法は至って簡単で、キーワードを入力し検索対象のプログラミング言語とソースコードライセンスを選択するだけです。

タレコミ人が利用してみたところ、キーワードに日本語をサポートしていることを発見したのですが、インデックスされたソースコードが少ないのかキーワードがまずいのか結果は良くありません。 検索対象のソースコードはオープンソースで、Web上で自己プロモートをしていて、匿名アクセスを認めるプロジェクトのものがインデックスされているようです。日々増え続けるプロジェクトをインデックスに含める準備は整っているとのことで、サイトにはフィードバックのフォームが設けられています。 期待されるツールであることは間違いありません。開発者のみなさんどうぞお試しあれ。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • んーと (スコア:4, おもしろおかしい)

    by minz (3213) on 2004年11月12日 20時11分 (#651574) ホームページ 日記
    いくらくらい金がかかったかわからんΣプロジェクトを
    サイト一発で実現しましたかそうですか
    --
    みんつ
    • by G7 (3009) on 2004年11月13日 0時25分 (#651665)
      つまり、
      わざとらしい(?)意図と前提付けに基づいて
      ソフトをケーカク生産するという筋書きよりも、
      既に出来たものを(今時のCPUによる)それなりに強力な検索で
      探しまくるほうが、強い、と。

      そういう意味では、FREEソフト全体とInternet全体が
      Σに勝利したわけですね。
      スラド民の一人として嬉しく思います。

      #強制でないことが望ましいのでG7。日の丸もね。
      親コメント
  • by Anonymous Coward on 2004年11月12日 2時08分 (#651305)
    これを見て真っ先に思い出したのが
    未踏ソフトウェア創造事業の「世界規模ソースコード検索エンジン」です。
    http://namazu.org/~satoru/pub/mito2004i/

    こっちはまだ一般にサービスとして公開などはされていないはずですが
    比較するとどうなんでしょうね。
  • by Anonymous Coward on 2004年11月12日 3時39分 (#651320)
    タレコミ人が利用してみたところ、キーワードに日本語をサポートしていることを発見したのですが、インデックスされたソースコードが少ないのかキーワードがまずいのか結果は良くありません。
    ソースコードの中身を検索するものですから、日本語をキーワードにして探すのは得策ではないよ。タレコミ人さんの例でいえば、"ソート" ではなく "sort" で探さないとだめでしょう。適切なコメントが書かれている事を期待するのは難しいから、実質的な検索対象はクラス名や関数名やインクルードファイル名でしょう。

    「おまじない」とか「ねんのため」の英語表現(どんなだろう?)で検索したり、f*ck とか a**hole とか、汚い罵り文句で検索すると面白いかも。
    • せっかくだから適当な変数の名前 [srad.jp]もチェックしてみたいところ。

      # ニュースで見かけたときはFIXME [koders.com]とかifdef DEBUG [koders.com]を真っ先に検索に掛けたりしました。
      親コメント
    • 頭の中がプログラムのこと考えながら呼んでたから

      > f*ck とか

      fsck になりました。

      なんで「汚い罵り文句」なの? って思った。
      親コメント
    • > ソースコードの中身を検索するものですから、日本語をキーワードにして探すのは得策ではないよ。
      > タレコミ人さんの例でいえば、"ソート" ではなく "sort" で探さないとだめでしょう。
      わかっちゃいたけどツッコミどころの無いタレコミ文もそれはそれでつまらなかったりするので。。。と言い訳してみる(w

      作者の検索 [koders.com]なんか刺激的?(「コメントを当てにした検索は…」ってツッコミはなしで。)
      親コメント
    • by Anonymous Coward
      日本語は分かち書きをしないから、単語抽出がうまくいってないんじゃないかなあ。中国語もそうだけど。
      • 自分のマシンでは、Namazu とそのほかのGREP系のツールしか使ったことが無いのですが、今全文検索の手法といえばやっぱり単語抽出でインデックス作成、ってのが主流なんですか?

        n-Gram とかはどうなってんだろうな~とか。

        #無知をさらけ出したいのでID
        --
        屍体メモ [windy.cx]
        親コメント
        • >n-Gram とかはどうなってんだろうな~とか。

          うろ覚えですが、例えばMitakeSearchがソレをやってるんじゃありませんでしたっけ?

          辞書方式は限度が有ると思っています。
          用語集をロクにメンテしてないプロジェクト(藁)でNamazuを使って、地獄を見ましたんです。
          「業務で使ってる、あの単語が、全然ヒットしないやん!」というお叱りを頻繁に受けるんですが、
          「じゃあ検索させたい単語を挙げてください。そうすれば辞書に追記しときますから」と返答したら、
          相手はダンマリになってしまう、という…。とほほ。

          #しかもNamazuって、ちょうど不味いことに、
          #単語1つづつなら検索できるんだけど、複数の単語の所定の並びを検索できないんだよね。
          #だから個々の単語が辞書に収録されてても、それの並びが出てくる個所を、狙い撃ちで検索できない。
          #2つか3つの一般語の並びから成る業務用語とかが、全滅するんだ。
          #いっぽうで人間は、一般語の並びから成る語を別途登録しないとならないという状況を、感覚的に受け入れにくいみたいで。

          まあデスマなプロジェクトはどうでもいいんですが、
          外向きの検索エンジンで、どんな単語を検索語とするか判ったものじゃないという状況では、
          同じように辞書方式は破綻しやすいと思います。

          N-Gram(どういうのか知らないけど)とか
          SuffixArray(かな?)とか、
          ああいう非辞書な方式のほうが、将来が有ると思ってます。
          親コメント
      • by Anonymous Coward on 2004年11月12日 14時39分 (#651475)
        例えば、「日本語」で検索 [koders.com]すると1.2.1-changes.php [koders.com] がヒットしますが、このファイル中に含まれている「オーディオ」で検索 [koders.com]してもヒットしません。

        ところが、「オーディオをひとつのプロジェクトからもうひとつののプロジェクトに貼り付けするときに」で検索 [koders.com]すると上記ファイルがヒットします。

        親コメント
        • つまり (スコア:1, 参考になる)

          by Anonymous Coward on 2004年11月12日 18時37分 (#651549)
          「オーディオ」をひとつの単語とみなすことができず、
          デリミタから次のデリミタまでの間の
          「オーディオをひとつのプロジェクトからもうひとつのの
          プロジェクトに貼り付けするときに」
          をひとつの単語とみなしてしまっている。

          したがって、kodersのインデクサは日本語のような
          分かち書きしない言語には対応していないと推測される、
          ということですな。

          親コメント
          • by G7 (3009) on 2004年11月13日 15時23分 (#651983)
            >分かち書きしない言語には対応していないと推測される、

            たしか、日本語プログラム言語「ひまわり」(だったと記憶していますが)は、
            分かち書きしない「より自然な」日本語チックな文法に
            傾倒しようとしてらっしゃるらしいですね。

            個人的にはあまり好きでない方向性だと思っています。
            ツールへの負担が大きすぎるから。
            負担ってゆーか、(計算機の命である)確実性すら下がっちゃいませんかね。
            最もインテリジェントで柔軟な人間ですら稀に単語の境界を読み違えて困るというのに、
            計算機にそれをさせようなんて、無謀じゃないのか?と。
            それよか、
            むしろ人間は多少のスペースが入ろうが入るまいが支障なく読み書きできるんだから、
            人間のほうが多少譲歩すりゃいいのに。

            #やっぱりドリトルのほうが美しいと思うのでG7

            閑話休題。
            んでもって、今回また一つ、分かち書き無しに対応してない有力ツール(だよね)が出た、と。

            ただまあ、さっきも書いたように、コメントとかは特別扱いしてくれると嬉しいんですけどね。
            それこそ日本語とかにも。

            あと、単語分割を前提としない検索方式を採用してくれると、もっと話は簡単だったかと。
            #SuffixArrayくらいしか思いつかないのでG7。
            #SAを運用するには、元のファイルの4倍ないし8倍のディスクを用意する「だけ」(定数倍って奴ね)でOKなのでしたよね。
            親コメント
            • by dorifer (514) on 2004年11月25日 12時03分 (#657373) 日記
              >あと、単語分割を前提としない検索方式を採用してくれると、もっと話は簡単だったかと。
              >#SuffixArrayくらいしか思いつかないのでG7。

              SuffixArrayは、このファイルのどこにソレがあるのかを高速検出するための
              手法であって、ここで求められているのは、どのファイルにソレがあるのかを
              検出する手法であるたべさ。
              --
              IN EARTH AND SKIE AND SEA STRANGE THYNGES THER BE.
              親コメント
  • by manba256 (10135) on 2004年11月12日 2時09分 (#651306) 日記
    namazuの高林哲さんが今年度の未踏 [ipa.go.jp]でこういうのやってたけど、これとどう違うのかな。 目的は同じように見えるけど、未踏ってことは検索方法がより優れているとか??
    --
    ------------------------- Excess and Obsolete
    • SPARS Project (スコア:1, 参考になる)

      by Anonymous Coward on 2004年11月12日 4時42分 (#651326)
      阪大でもやってるようです.
      http://sel.ics.es.osaka-u.ac.jp/SPARS/index.html.ja
      Javaのソースしか検索できないようですが.
      親コメント
  • by Li on (9067) on 2004年11月12日 1時58分 (#651302) 日記
    Cじゃなくて?なんで?
    • by yanagi (6075) on 2004年11月12日 2時12分 (#651308) ホームページ 日記
      別にKDEなわけじゃなさそうだけど、
      KDE環境で動くものは頭文字をKにするから
      その辺りのノリなんじゃない?

      Darren RushでKDE関係をコダったけど
      彼のソースは出てこなかった.
      --
      やなぎ
      字面じゃなく論旨を読もう。モデレートはそれからだ
      親コメント
    • by setu (6905) on 2004年11月12日 2時46分 (#651311) ホームページ 日記
      単純に coders.com が使われていたからでは?
      (で、他に適当なのを探したけど空いているのも見付からなかったとか)
      親コメント
    • by kogekoge (20427) on 2004年11月12日 3時38分 (#651319) 日記
      とりあえず私の知っている範囲では、
      ・コードのことをドイツ語で Kode と書く。
      ・er をつけて男性名詞を作ることができる。
      ・s をつけて複数名詞にすることができる。

      ドイツ語として Koders というのがありなのかどうかはわからんです。
      # この手の K を見つけると、全部ドイツ語に見える…… orz
      親コメント
      • 読み方はコーデルス?コデルス?辺り?
        • どうでもいいことなので喜んで検討してみる。

          最近のドイツ語は、er なんかを英語読むことも多いらしいです。
          er の読み方の例としては、super がズーパー、Finger がフィンガーとか。
          Kode はコートかコーデと読むようなことを辞書に書いてあるので、
          コーテースかコーデースとなるのかも。

          そもそも Koders がドイツ語としてありかどうかはやっぱり不明。
          Koderen の方がなぜかドイツ語っぽく見える。いや、俺にそう見えるだけなんだけど。
          親コメント
    • by harupunte (10435) on 2004年11月12日 12時30分 (#651432) 日記
      ぐぐるときにべんりだから。
      親コメント
    • by Anonymous Coward
      ドイツ語?
  • by Anonymous Coward on 2004年11月12日 12時57分 (#651447)
    最多ヒットは何でしょうか?
    ってことで、調べてみました。思いつくままにいろんな語を入力して、ヒット数が多かったものを紹介。
    • the 475400
    • for 453052
    • return 422468
    • copyright 372611
    • void 353842
    • int 319404
    • class 304325
    • else 276270
    • include 271924
    • copy 255743
    • static 222073
    • free 211715
    • char 176848
    • while 169630
    • end 158318
    結局、プログラム言語の予約語よりも、コメント中の英文のほうがひっかかってくるのかも。だから、for についても英文中の前置詞が多いのかもね。
    • by mishima (737) on 2004年11月12日 13時51分 (#651457) ホームページ 日記
      みんなの名前の付け方が気になったのでちょっと調べてみた。

        ■ this 454,949
        ■ self 28,452
      まぁコメント中の英単語としても this の方が出現頻度が多いだろうからなぁ…

        ■ base-class 22,862
        ■ super-class 1,631
      意外。C++ のコード量が多いのか?というより俺が意図したような
      検索ができていないだけの気がするなぁ。

        ■ remove 68,209
        ■ delete 75,625
      僅差ですね。俺も関数名決めるときにどっちにしようか悩みます。

        ■ pred succ 124
        ■ last next 36,342
      double-linked list 作るときによく使いますが、pred,succ 組の惨敗。
      last,next は perl の制御構文にも含まれてるからか。

        ■ load save 32,187
        ■ load store 7,703
      みなさんロード・ストアとか言いませんかそうですか。

        ■ temp 25,004 / curr 3,920 / temp curr 671
        ■ tmp 31,041 / cur 12,370 / tmp cur 2,687
      3 文字チームの圧勝。ただ、みんな temp だけは割と使うらしい。
      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
      • by G7 (3009) on 2004年11月13日 15時03分 (#651974)
        >みんなの名前の付け方が気になったのでちょっと調べてみた。
        > ■ this 454,949
        > ■ self 28,452
        >まぁコメント中の英単語としても this の方が出現頻度が多いだろうからなぁ…

        thisとselfは、多くの場合、
        名前のつけ方というより、言語選択の結果だったりしないかな?
        thisはJavaとC++「の予約語」が稼ぎ頭みたいな。

        うーん。これって、コメントの中と外とを別々に検索できることが
        大事なのでしょうね。

        てゆーか、言語種を限定した運用をするメリットといえば、
        コメントをコメントだと認識することくらいしか、思い浮かばないです。
        そうしないなら、単なる全文検索エンジンにソースを放り込むだけで充分な気がする。
        つまりは、sourceforgeとかのソースをgoogleが検索できれば、それで済むんじゃないかな?と。

        #Web経由のCVSの中のソースを「直リンク」する習慣が、我々(^^;に有れば、それでいいのかな?
        親コメント
    • ストップワードがあるようです。if, of, in, a, to は検索できませんでした。

      親コメント
    • とりあえずコメントは検索から除外するという選択もできるように
      してほしいところですね。要望出しとくか。
      親コメント

      • Oliver 862
      • Bulldog 2
      • Otafuku 0

      Oliver圧勝。
      親コメント
  • by tokushima (155) on 2004年11月12日 15時20分 (#651486)
    すべてか一つしか選択できないというのは使いづらいですねぇ。

    プルダウンに現れないものはまだ一つも登録されていないということなんでしょうか。
    BSDが一つもないってどうなんだ?
    --
    It's not who is right, it's who is left.
  • by Anonymous Coward on 2004年11月12日 2時57分 (#651314)
    Sourceforgeやbitkeeperと同じですか。
  • by Anonymous Coward on 2004年11月12日 3時22分 (#651317)
    Do you want to enable copy and paste?

    というダイアログが出てくるのがむかつく。
    • Re:クリックすると (スコア:2, おもしろおかしい)

      by Anonymous Coward on 2004年11月12日 6時49分 (#651331)
      「本当にコピペしていいの? ライセンスは確認したかい?」

      って意味と受け取れば、すばらしい機能かと思いました。
      親コメント
  • by Anonymous Coward on 2004年11月12日 4時54分 (#651327)
    まずはこれでしょ。 hello world [koders.com]
  • by Anonymous Coward on 2004年11月12日 8時36分 (#651337)
    PASCALがない…
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...