最も愛されていないプログラミング言語は何ですか?

Stack Overflow Jobsでは、誰もが独自の開発者ストーリーを投稿して、成果とキャリアアップを共有できます。 パブリッシュするとき、使用したい言語とテクノロジーに対応し、使用したくないタグを記事に追加できます。







これにより、数十万人の開発者の意見を調査する機会が与えられます。 言語の人気を測定する多くの方法があります。 たとえば、多くの場合、 スタックオーバーフローへの訪問に関する統計や質問のビューを使用して傾向を調査しました。 しかし、タグデータは、履歴書でそう言う機会があるときに、人々 が嫌いなものを見るユニークな機会です。



(私は2年前に私の個人的なブログでいくつかの分析を公開しましたが、この記事は最新のデータとイラストで補足されています)。



プログラミング言語



尺度として、特定の各言語のLikeタグと比較して、すべての履歴書でDislikeタグの割合を比較します。 つまり、50%はタグが好まれているほど正確に好まれていないことを意味し、1%は99人が好むごとに負の評価のタグが1つ存在したことを意味します。 (平均値を推定するために、 この記事で説明したベイズの経験的方法を使用し、 95%の信頼レベルで信頼区間を計算します )。



最初に、Developer Storiesへの参照が少なくとも2,000 あるプログラミング言語のリスト見てみましょう(AndroidのようなプラットフォームやjQueryのようなライブラリとは異なります)。







Perl、Delphi、およびVBAは、最も愛されていない言語のリストを大幅にリードしています。 次に、PHP、Objective-C、Coffeescript、Rubyが続きます。 開発者は、Rが好き嫌いの点で最もお気に入りのプログラミング言語であることを特に喜んでいます。



特定の言語の人気の上昇と下降に関する記事を読むと、R、Python、Typescript、Go、Rustなど、 急速人気が高まっている言語に伴う嫌悪の数が最も少ないことに気付くかもしれません(個別に調査しましたPythonR )およびそれらのすべては、最も満場一致の評価を持つ言語の1つです。 同様に、嫌悪感の多い言語の多く(Perl、Objective-C、Ruby)は、サイト上のタグの数が最も急速に減少する言語で同時に見られました。



これは、各言語のサイズと高さを嫌いな人の割合と比較することで確認できます。 ヒートマップでは、オレンジ色が最も嫌いな言語に対応しています。 分析を最新のいくつかの記事と互換性を持たせるために、言語の人気が低所得国とわずかに異なる高所得国(米国、英国、ドイツ、カナダなど)にのみ統計を制限します。







通常、タグの人気の高まりとそのタグに対する嫌悪のシェアとの間には相関関係があります。 ほぼすべての言語は、ユーザーの3%以上に好まれていない場合、同時にスタックオーバーフロートラフィックの減少を示しています(非常に物議を醸しているVBAは安定しているか、少し成長しています)。 また、ポジティブタグ(R、Rust、Typescript、Kotlin)の最大のシェアを持つすべての言語は、同時に最も急成長しているタグの1つです(TypescriptとKotlinは非常に速く成長するため、図に収まりません)。



関数型言語のClojureは、一般的な傾向から外れています。 誰も彼を嫌う人はほとんどいませんが、彼はトラフィックが最も早く落ち込んでいます(質問のあるサイトへの訪問数の減少は昨年頃から始まりました)。 もう1つの例外はMATLABです。MATLABの人気も低下していますが、嫌いな人はいません。 これは、気分を測定するためのデータの制限を示している可能性があります:Web開発者はPHP、C#、またはRubyについて意見があるかもしれませんが、データ分析の範囲外の人々はMATLABについて意見を述べる理由がありません。 (おそらく、これがRが嫌いになることがほとんどない理由でもあるかもしれません)。



特定の言語に対する一部のプログラマーの嫌悪がこれらの言語の人気の低下につながる場合、因果関係の存在を必ずしも想定していません。 別の可能性もあります。人々が嫌悪感を抱き、すでに人気を失っている言語で作業することをためらうことはより快適です。 おそらく、それらの不本意は、以前にこの言語で書いたが、もはやしたくない人です。 つまり、「置き換えられた」技術が履歴書の嫌いな分野に入ると、自然なプロセスが発生します。



好きなタグと嫌いなタグ



以前の分析は、プログラミング言語のみに関係しており、オペレーティングシステム、プラットフォーム、またはライブラリには関係していませんでした。 一般的に最も愛されていない技術は何ですか? 十分なデータがある大規模なテクノロジーにのみ焦点を当てるために、サンプルを少なくとも1000回言及されているテクノロジーに限定しました。







リーダーの中には、特にInternet ExplorerやVisual BasicなどのいくつかのMicrosoftテクノロジーと、共通タグ「Microsoft」があります(「Apple」もリストにありますが、それほど壊滅的な嫌悪感はありません)。 Flashの使用に反対しているほとんどの人に朗報があります。 COBOL、Fortran、Pascalなどの古い言語もリストにあります。



テクノロジー自体、それらの品質または人気の評価がないことをもう一度強調することが重要です。 これは、自分の態度を公に表現することを気にしない開発者の一部で、どのテクノロジーが強い否定的な感情を引き起こすかの評価にすぎません。



また、ほとんど嫌いにならない最も人気のあるテクノロジーを探索することもできます。 (今回は、「いいね」は「嫌い」よりもはるかに一般的であるため、サンプルには少なくとも10,000回言及されているテクノロジーを含めます)。







Gitは多くの開発者にとって頭痛の種になる可能性があります(私にとっては間違いありません!)。しかし、履歴書でGitを認めることはめったにありません。 Rはリストに載っていましたが、ここではデータサイエンスの分野で唯一のタグではありません。 機械学習は23,000人の人々に承認され、未承認の技術のカテゴリーに分類されることはほとんどありませんでした。 Python-3.X、CSS3、HTML5などのタグは、開発者が特定のバージョンのテクノロジーに対する嫌悪感を示すことはめったにないことを示している場合があります。 そしてもちろん、 jQueryはStack Overflowでいつものように人気があります。



極性タグを使用したネットワーク。



これらのタグを1つの画像に入れて、ネットワークに結合できます。 最近の記事で、 Julia Silgeは、ソフトウェア業界全体を代表するテクノロジーネットワークを構築する方法を示しました。 色が各テクノロジーの嫌悪のレベルを示している場合、エコシステムのどの部分が他の部分よりも多くの矛盾を引き起こしているかを判断できます。







エコシステムエリアにタグを付けると、このネットワークはどのタグタイプが競合する傾向があるかを示します。 Microsoft(C#および.NETを中心とするカーネル)、PHP(WordPressおよびDrupalとともに)およびモバイル開発(特にObjective-C)に関連するこのようなタグのクラスターがあります。 オペレーティングシステムのクラスターの下部(右下)には、OS X、特にWindowsのようなシステムには悪意があるが、Linux、Ubuntu、およびUnixにはないということがわかります。



競合他社



特定のタグが好きな人がいる場合、嫌いになる可能性が高い他のタグはありますか?



これは、特定のタグの出現間のファイ係数を使用して測定できます。 (これらの相関関係を計算するとき、少なくとも1つの嫌悪感を与える人だけを考慮します)。







これは、ソフトウェアエコシステムのいくつかのライバルが明らかになる場所です。LinuxとOS X対Windows、Git対SVN、vim対emacs、(驚いたことに)R対SAS。 ほとんどの場合、これらのペアは「対立する」テクノロジーではなく、同じ問題を解決するための異なるアプローチです。 それらの多くは、過去にポピュラーなテクノロジーから最新のテクノロジーへの移行を示しています(GitはSVNを、JSONはXMLを、C#はVBを置き換えます)。 履歴書の書き方に意味があります。 開発者にとっては、時代遅れと思われるものを使用したくないことを示すのが一般的です。



おわりに



ある種の「プログラミング言語戦争」に参加することに興味はありません。また、どのテクノロジーを使用したくないかを示すユーザーを判断しません。 マイクロソフトテクノロジに関する意見の大きな二極化は、多くの場合、個人的な経験を共有するように促します。 私は一生MacとUNIXに取り組んでおり、大学と大学院でのプログラミング経験のほとんどはPythonとRでした。それにもかかわらず、.NETスタックで会社に参加することを楽しみました。同僚、製品、データ。 他の人に言うことはできませんが、個人的には、どのような仕事に興味があり、避けたいものではないことを決めたことがうれしいです。



All Articles