パスワードを忘れた? アカウント作成
7768875 story
プログラミング

プログラマの多くは開発者コミュニティから 50 % 以上の情報を集める 35

ストーリー by reo
リファレンス不要論とかではない 部門より

taraiok 曰く、

2010 年 9 月の時点で、MSDN ライブラリはマイクロソフト関連の技術および製品マニュアルを約 1600 万トピックほど提供しているという。こうしたドキュメンテーションの作成にはかなりの労力とコストが必要になる。とくに API に関するドキュメンテーションの作成はまとめるのに苦労するとされている (doi: 10.1109/MS.2009.193) 。しかも、こうして労力をかけて作成された文書類は実際に利用される機会がかなり少ないとされている (doi: 10.1109/MS.2003.1241364) 。

ninlabs research が Android 開発者 1316 日分の閲覧履歴を調査したところ、開発者コミュニティである Stack Overflow が 9234 回であったのに対し、Android 用の公式ドキュメントへのアクセスは 2547 回であったことが分かった。結論としては、開発者の必要な情報の約 50 % は Stack Overflow から取得できるうえ、公式サイトよりも必要な情報が手に入るとしている。また、Web 検索からは公式資料よりも 2 倍 ~ 10 倍ほど Stack Overflow へのアクセスの方が多かったとしている (ninlabs research の記事本家 /. 記事より) 。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • だと実際の利用を前提としたソースとかの方が確かに便利だとは思う。
    もちろん公式のAPIに沿ったものを必要なのでケースバイケースだとは思いますけど。

    個人的には言語の壁は大きいので、公式が英語のみとかだと情報量が少なくても日本語のものを探してしまうというのはたまにある。

    # いろいろ彷徨ったあげく欲しい情報が2chに書かれてたとかよくあるし

  • 継続的にコミュニティの交流結果をマニュアルに反映させる努力が必要ですね。

    努力というか精度づくり。そのほうがローコスト。
    それに、必要な部分から先にマニュアルが整備されていく。
    コミュニティの方には、「このトピックはマニュアルにマージされたのでそちらを見てね」てきなrefを残して置けるようにして。

    # と言っても自分では作らないw

    --
    新人。プログラマレベルをポケモンで言うと、コラッタぐらい
  • Webで情報を調べようと思うのは、何か解決したい問題や実装したい機能があって調べるから
    「したいことを実現する」APIの使用例や、「発生したエラー」に対して何を調べるか
    を教えてくれるページの方が有益と考えるのは仕方がないとおもいます。

    公式情報だと情報が網羅的に列挙されているように見えてしまうので
    自分のやりたいことにフォーカスした情報が嬉しいんでしょうね。

    • by Anonymous Coward

      QAの方がこういう理由で役に立つというのは皆さんおっしゃる通りだと思いますが…

      確認のために一次資料も見てほしいところ。
      「ブログで見た」とか言って、意味を理解せずおかしなコードをコピペする奴が多い。

      • リファレンスは疑問があった時に調べるのでしょう。
        私も多くの場合で、そうします。

        まずコードを書いてから、スタートする事が多いですね。
        複数のブログエントリの内容に食い違いがある場合は慎重になります。
        でもリファレンスをいきなり当たるよりも有益であることが多いです。
        リファレンスを見てよくしてしまう勘違いとかが含まれている場合も少なくないからです。
        ただのバージョン違いで発生した差異の場合もありますが、
        この場合も、バージョンによって推奨される書き方が違うという情報を得ることができます。

        と言う事情で、リファレンスはどうしてもはじめに当たる情報である機会が少なくなってしまいますね。

        あと、MLなどで機能を実装する前や試験実装したときのやり取りなどもリファレンスよりもためになります。
        これに関しては、オープンソースではリファレンス情報がちゃんとまとまってることが少ないからでしょうかね?
        実装のほうが先に行ってることが多くて。

        親コメント
        • by Anonymous Coward

          リファレンスの出来次第なんですが、エラーや例外とか、引数の取りうる範囲とか、本当は全部確認しておくべきことなんですよね。
          コードの大部分ってそういうのですから。

          ただ、初めにあたるものでないのはその通りです。あれってAPIから動作を引くものでしょ。
          でも、まず必要なのは動作からAPIを引くこと。
          まずリファレンスにあたるってのは、英訳のときに英和辞書引くようなもの。
          頭にフレーズが浮かんで確認のために英和辞書引くのはわかる。でも、普通は和英辞書、もしくは例文集。
          今の時代なら機械翻訳できる。
          ただ、機械翻訳そのままってのはない。そこから英和辞書ひいたり再翻訳したりして確認する。

          リファレンス引くのもそういうことで、ググって用例見つけたら、改めてリファレンスで確認したいところ。
          でもそのリファレンス信用できないと結局テストコード書いて検証するんだけどね。

  • 公式情報だとどうしても網羅的で基礎情報中心になりますし、古いバージョンの情報も残されていたりするので、自分が必要な情報をピンポイントで見つけるのは確かに大変ですね。
    コミュニティの情報は、そうした苦労をした先人の知恵が集まっている訳で、膨大な公式情報から色々なユースケースに対応してフィルタリングされた情報があるので、まずこれを参照するって事になるのでしょう。
    でも最後は公式情報で裏を取る、最新情報を確認する、ってのを怠ると痛い目にあうかも。
  • そもそもマニュアル自体、あまりアテにならないことが多々あるので、
    既に動いているコードをコピペしたほうが効率的なんですよね

    #一通り試してから、確認のためにマニュアルを読む、みたいな
    • >そもそもマニュアル自体、あまりアテにならないことが多々あるので、
      >既に動いているコードをコピペしたほうが効率的なんですよね

      結局これだと思うんですよね。
      「それっぽいものをコピペした方が早いじゃん」みたいな。

      ただ、ここで「出来る人」と「出来ない人」の差が出てくると思う。

       出来る人 : そのコードを参考に(一部抜粋など)して、最終的に自分のロジックにする。
       出来ない人: そのコードを丸写しして、後はその前後を整えて完成。

      ググるのは良いけど、
      そこで見つけた資料を見て「考える」という行為をする人としない人の差は大きいと思います。

      #いつも皆様のコードを参考にさせてもらっています。
      #本当にありがとうございます。

      ##そういや、ここで日記書き始めた切っ掛けって、
      ##備忘録にするつもりで始めたはずだったのに、気がついたら変な方向に・・・

      親コメント
    • by Anonymous Coward

      そもそもこういうプログラマ自体、あまりアテにならないことが多々あるので、
      既に書かれている設計書からかけ離れたコピペコードを書いておきながら、設計書に文句をたれるサマは非効率的なんですよね

      #一通りマニュアル読んでから、設計書の不備を指摘してからだろ、みたいな

      • by Anonymous Coward
        こういう脊椎反射で劣化コピーする奴に限ってマニュアルをミスリードして逆切れするんだよね
        • by Anonymous Coward

          なんでもいいけど「マニュアルをミスリードして」ってのはなんか気持ち悪い言い回しだ。
          いやmisreadってのがあるのは分かるんだけども。

      • by Anonymous Coward

        自分がコミットしたくせに、内容について聞くと、コピペしたから分からないとかほざく輩もいますよね

    • by Anonymous Coward

      >#一通り試してから、確認のためにマニュアルを読む、みたいな
       あー、その通りの動きしてますね、私。
       何で動くか(自分では動かせなかったか)わからないと怖いですし。

  • コミュニティに質問して誰かが答えてくれるのを期待するほうが、自分でドキュメントを探すよりも効率がいいっていうことかと思った。
    社内でもマニュアル用意したり、ポータルで告知しても、電話やメールで直接問い合わせる人は減らない
  • by nyagy (17036) on 2013年03月08日 13時57分 (#2339300)

    質問サイトで回答をコピペするだけのプログラマ→たくさんいる

    公式ドキュメントを読んでて質問サイトで回答するプログラマ→少ない

    というだけのことではないかと。アクセスが少ないからって公式ドキュメントを廃止すると回答する人がいなくなってしまうのでコピペプログラマも困ることになる。

  • by Anonymous Coward on 2013年03月08日 12時07分 (#2339153)

    誤:プログラマの多くは開発者コミュニティから 50 % 以上の情報を集める
    正:プログラマの多くは検索エンジンの結果から 90 % 以上の情報を集める

    検索結果がStackoverflowに集中しているというだけで、これは結果論では。

    • by Anonymous Coward on 2013年03月08日 12時49分 (#2339213)

      半分以上を発売元の用意した情報源ではなく横のつながりから入手している、ドキュメント作るの手間
      かかって大変だけどみんな読まないよねという話なんだから、検索エンジンの検索結果が偏ってるか
      どうかなんてどうでもよいのでは。
      Stackoverflowはコミュニティの実例として比較に上げてるだけでしょう。

      検索結果に偏りがあれ、現在コミュニティから必要な情報の大半が得られるならコストをかけてドキュ
      メント整備するよりコミュニティを育てる方に力を入れた方が良いかもしれないわけで。

      個人的には1回ダウンロードしとけばいい公式ドキュメントと、随時更新される相談サイトのアクセス数
      比較に意味があるのか?と思うけど。
      それぞれの保有してる情報のタイプも違うしね。マニュアルとケーススタディはどっちも必要で、比較
      するようなモノじゃない。
      いいアドバイスくれる優秀な開発者も、まず公式ドキュメントを読んで実装してみるところから始めてる
      んだし。

      親コメント
  • by Anonymous Coward on 2013年03月08日 12時17分 (#2339158)

    リファレンスはある程度知っていれば何が書いてあるかわかるけど、
    所見では何の事やらさっぱりなことが多い。
    概念的な説明が不足していると感じる。

    Androidのだとクラスのメンバ一覧の説明があってもそのクラスがどういう役割で
    他のクラスとどう関わるかみたいなところが見えてこない。

    #オンラインは遅いからリファレンスはローカルで見てるだけだったりして

    • by Anonymous Coward on 2013年03月08日 12時36分 (#2339192)

      そのAPIを通して向こう側が何をするのか、を知った上でこちらの
      アプローチを考える、べきだと思うので「お前はなにをするの?」が
      知りたいと思うのだけど、「呼び出し方はこうよ」の情報で終わって
      いることが多いと思う。>MSDN ライブラリ
      そういう読み物を書くのが大変だという気持ちはわかるし、そのような
      読み手は想定していないのかもしれないが。

      親コメント
      • by Anonymous Coward
        うん、APIはどういうときにこれを使えばいい、とかそういう説明はあんま無いイメージ。>MSDN ライブラリ
        だから、まずサンプルなりを見て、なるほどこういう流れで処理するんだ!というのを把握した上で読むと理解できるけど、いきなりAPIだと、でどうすればいいの?って感じになる。自分の場合。
        • by Anonymous Coward

          APIの説明なんて、そういう書き方しかできないでしょ。
          サンプルとの役割分担で問題ない。

          ネジの説明に用途を色々と書くようなもんで、基本的には仕様のみで良い。

  • by Anonymous Coward on 2013年03月08日 12時23分 (#2339167)

    たとえばWin32APIを検索キーにしてヒットするMicrosftのサイトだけど、これがまた書かれている内容が色んなページに分散していて読みづらい。

    VC2.0の頃だったかにWindowsHelp形式のマニュアルがあったと思うけど、それが一番便利だった。
    そのちょっと後のWeb版も、日本語化はされてなかったけど不便ではなかった。

    今の形式は不便すぎる。

    • by Anonymous Coward
      何か、最近のMSDNは、横のつながり、たとえば、A:Method1からA:Method2へのナビゲーションが出来ないことが多いんですよね。
      バグなのか仕様なのか・・・。

      Overviewとかはほとんど何も書いてないに等しかったりしますし。
      あと、COM APIだと、対応するWindowsのバージョンすらよく分からなかったり・・・。

      英語版でも十分酷いが、日本語版は使えたもんじゃない。ググって日本語版が先頭に来ると殺意を覚えます。
      • by Egtra (38265) on 2013年03月09日 3時08分 (#2339717)

        何か、最近のMSDNは、横のつながり、たとえば、A:Method1からA:Method2へのナビゲーションが出来ないことが多いんですよね。

        ページ左側の目次部分のことだったら、コツがあります。英語版を読んでいるのにURLにja-jpが入っていたらダメで、そこをen-usに書き換えてあげると目次が現れることがよくあります。

        • × http://msdn.microsoft.com/ja-jp/library/windows/desktop/ms724411(v=vs.85).aspx
        • http://msdn.microsoft.com/en-us/library/windows/desktop/ms724411(v=vs.85).aspx

        ほかにも、/en-us/library/……/xx00000(v=xx.XX).aspxの……部分を正しいものに書き換えないと目次が現れない場合もありました(これはちょっと例をすぐに思い出せない)。

        親コメント
      • by Anonymous Coward
        > 日本語版は使えたもんじゃない
        しばしば否定と肯定が逆になってるんで、ウチではMSDNの日本語版は絶対に見るな、が規約になってますです。
        # 機械翻訳なのになんでなんだろね
    • by Anonymous Coward

      確かにローカルのヘルプファイルの方が使いやすかったなあ。
      WinhelpからHTMLHelpに変わって以降、ヘルプの作り込みが粗雑になったような気がする。
      あのレスポンスの悪さも作業効率を下げてそうだし。

      #とはいえ加除式リファレンスの利便性も捨てがたい

    • by Anonymous Coward

      たまに記述が間違ってることがあったり、でそれに対する回答を得るには、インシデント持ってないといけなかったり(向こうのミスだったら後で返してくれるけど)、回答に時間かかったり(自分⇔日本MS⇔米国MS)…そういうところもMSDNライブラリはネック。

  • by Anonymous Coward on 2013年03月08日 12時26分 (#2339171)

    間違ったコード(この場合は設定ファイルだが)が広まるのでぐぐるな、て話もありますね。

    http://ya.maya.st/web/RTFM.html [ya.maya.st]

  • by Anonymous Coward on 2013年03月08日 12時39分 (#2339196)

    > 1. 2ch へのアクセス禁止で開発効率が大幅に低下
    http://blog.livedoor.jp/lalha/archives/50156986.html [livedoor.jp]

    これって本当なんですかね。
    プログラム板とか、そんな仕事でどうこうみたいな書き込みとかすくなさそうだけど。

    • by Anonymous Coward

      自分の経験では、具体的に何かが書いているわけではなくて、
      目的地へのキーワードとかヒントが見つけられる事が多いです。

    • by Anonymous Coward

      ム板は知らないけどWeb制作板だとよくあるけどね。
      わざわざ仕事で云々なんて言わなくても、こういう仕様でなければいけないとか、納期があと何日とか言うからすぐにわかる。

  • by Anonymous Coward on 2013年03月08日 12時41分 (#2339200)

    androidの場合はドキュメント読むより
    ソース読んだ方が理解できるからなー
    読んだ結果のスポイルがstackoverflowなんだろうし

    更新履歴もなくjavadocも記載されてないような
    公式サイトじゃそうなるよね

    近頃はhangoutばっかりで更新自体滞り気味だし

  • by Anonymous Coward on 2013年03月08日 14時05分 (#2339315)

    オープンソースなら公式資料にに不備があってもソース読んでどうにか出来るけど、プロプラで公式資料腐ってると絶望的だと思うんだよね。
    結局プロプラで、野良情報が潤沢に見つかるのはしっかりとした公式資料が整備されてるからなわけで、そういう意味では Microsoft Good Job ! って話だと思うんだわ。

    Android の現状は良く分からないけど、10年くらい前の OpenCV なんて野良資料少ないし、マニュアルも舌足らずで、逐一ソース当たんないと関数に渡すポインタのどれがユーザーの責任で malloc/free されるべきかすら分からん状況だったよ。

typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...