web-dev-qa-db-ja.com

オーロはどのように代表されていますか?

私の同僚は最近、バージョン管理リポジトリに基づいてFOSSの統計を提供するWebサイト Ohloh を指摘しました。それは非常に楽しい先延ばしツールです。 to アクティブなプロジェクトごとにプログラミング言語を比較する

enter image description here

どれが私を不思議に思います:そのような比較はどれほど代表的ですか? 「JavascriptはFOSSで最も使用されているプログラミング言語であり、Pythonがそれに続くJava and C++ "」のように、これから結論を導き出すことができますか?または、考慮すべきいくつかの大きな警告がありますか?

5
gerrit

これは、コンテキストのないきれいなグラフの問題です。実際の根拠があることを暗示する相関関係を伝える実際の方法はありません。 JavaScriptは、他のオプションのいずれかを主要言語とするプロジェクトで使用されるため、奇妙なものです(たとえば、Pythonで記述されたWebアプリケーションは、JavaScriptを使用する可能性が高いです)。唯一の方法あなたがそれをサーバー側JavaScriptに制限するならば、あなたはリンゴをそのリストのJavaScriptでリンゴと比較することができます。

もう1つ覚えておかなければならないのは、プログラミング言語の人気は、Olohのサウンドの絶対的な方法ではないということです。たとえば、C++は引き続き商用およびオープンソースのゲームで頻繁に使用されていますが、はるかに多くのWebアプリケーションがRubyまたはPythonで記述されています。言語は孤立して存在せず、ドメインごとの人気と適用性の低下。

より広範なテイクアウェイの多くは明らかに本当です。多くの人々はもはやFORTRANを使用しておらず、実質的には給与なしではありません。 C++はおそらく管理されたメモリを備えた言語へのアプリケーション開発が増えるにつれて、全体的に下降傾向にあるでしょう。ただし、グラフ自体は非常に便利です。

1
Michael

GithubやGoogle Codeと比較したり、FOSSの開発が進んでいる他の場所と比較したりすることをお勧めします。 Google Codeの言語頻度チャートの作り方がわかりません。ただし、Githubはそれを提供しており、2010年12月または2011年の初めにそれについてブログに投稿しました。

言語ごとの頻度比較表の結果に関係なく、以前の回答ですでに言及されているすべての警告を考慮する必要があります。データについて最初に考えずに集計する場合、人気について何かを推測することは意味がありません。他の人が述べたように、周波数比較を行う前に、おそらく以下の一部またはすべてを実行する必要があります。

  • 1年以上使用されていないプロジェクトからデータを削除する
  • LinuxがFOSSで使用されているためCが非常に多いという事実を説明し、それを太りすぎないようにしてください。
  • 含まれているものの、実際には開発中のコードの一部ではないものについて説明します(非常に漠然と聞こえますが、これは関数ライブラリなどの言語によって異なる場合があります)
0
Ellie Kesselman

JavaScriptがおそらく最も使用されていますが、私のMVCアプリの1つをクロールし、デフォルトでそこにあるすべてのデフォルトのJavaScriptファイル(JQuery、Bootstrapなど)のために、JavaScriptプロジェクトであると述べました。したがって、これがプロジェクトを単一の言語(おそらくそうです)として数えている場合、すべてのWebプロジェクトがJavaScriptプロジェクトであり、C#/ Java/Python/Rubyプロジェクトがコンソールである場合にのみ、ほとんどの場合そのように分類されると仮定すると、おそらく正確です/ desktop apps。

0
Ryan Hayes

グラフを選択しました:

行は、1か月に少なくとも1行のコードが変更されたプロジェクトの数を示します

4つの選択肢の中で、これはどの言語がどれだけ使用されているかについて最も控えめに言っています。コード変更の行数を示し 、Cを考慮に入れたもの は、実際の人気度のより良い指標です。これは、OSSでのほとんどのコーディングがCで行われていることを示しています。これは、プロジェクトを20 MLOCサイズのLinuxカーネルとして考えることは驚くに値しないようです。

0
back2dos

それはあなたが探している代表性の種類に依存します。オハイオ州では600.000プロジェクトのようなものが考慮されているので、十分に大きなデータセットと見なすことができます。ただし、これらのプロジェクトの一部は関連性がなく、信じられないほど多くの場合があります。たとえば、Gnome(索引付けされているようです)では、過去2〜3年間ですべてのプロジェクトの約60%がコミットされていませんでした。 「モダン」なトレンドに興味がある場合は、捨てる必要があります。

もう1つのポイントは、プロジェクトの数が言語の人気度の測定基準としては粗すぎる可能性があることです。ほとんどのプロジェクトは非常に小さく、いくつかは非常に大きいです(通常、プロジェクトのサイズは パレート分布 に従います)。 。したがって、実際には、関連するプロジェクトまたはプロジェクトの活動の累積サイズにもっと興味を持つでしょう。次に、プロジェクトのサイズ(コードの行数?ファイルの数?)を定義する必要があります。言語ごとのコミット数の月ごとの変化を見ると、C、HTML、およびJavaは静かに近くなっています。また、2006年以降、Cのアクティビティは遅くなっています。 1か月に少なくとも1回のコミットを受け取ったプロジェクトの数、C言語はHTML言語に次ぐ第2位です!変更された毎月のコード行数は、おそらくいくつかの大きなプロジェクトでの重要なリファクタリング/再構築の影響を受けます。

データも非常に異質であると思います。ほとんどのKDEプロジェクトはおそらくC/C++で記述されるため、EclipseおよびApacheはおそらくプロJavaです。 Linuxカーネルは主にCで書かれています。そのため、特定のサブコミュニティに焦点を合わせると、結果が大幅に変わる可能性があります。

結局のところ、提示されたデータは傾向分析に関連している可能性がありますが、探しているものを明確に定義し、結果として観察結果を適応させる必要があります。

0
mgoeminne