TIOBE Softwareはプログラミング言語の人気ランキング「TIOBEインデックス」の2022年11月版を発表した。「Python」「C」「Java」「C++」という上位4言語のレーティングが、前年同月比で大きく上昇した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは2022年11月10日(オランダ時間)、2022年11月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。
TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2022年11月のランキングでも「Python」が過去最高の17.18%のレーティングを獲得し、首位を維持した。Pythonのレーティングの過去最高更新は、8月以来4カ月連続だ。
2〜5位は「C」(15.08%)、「Java」(11.98%)、「C++」(10.75%)、「C#」(4.25%)で、このうちCとC++も、2022年1〜11月で最高のレーティングを記録した。
2022年11月のレーティングが前年同月比で上昇した言語は、上位20言語のうち8言語で、中でも上位4言語(Python、C、Java、C++)の上昇幅が大きかった。Pythonは5.41ポイント増、Cは4.35ポイント増、Javaは1.26ポイント増、C++は2.46ポイント増となった。
Pythonと2位のCのレーティング差は、2022年6〜8月には1ポイントを切っていたが、9月以降は1.7ポイント以上で推移している。2位のCと3位のJavaの差も、8月以降は2.2ポイント以上で推移している。一方、4位のC++と5位のC#の差は2022年5月以降、一貫して広がっている(5月は2.44ポイント差だったが、11月は6.50ポイント差)。
TIOBE SoftwareでCEO(最高経営責任者)を務めるポール・ジャンセン氏は、「Rust」が2022年10月にトップ20入りし、11月も20位だったことに対し、次のように解説している(なお、Rustの過去最高順位は、2020年9月の18位)。
「将来性のある新興プログラミング言語のほとんどは、ごく短い期間だけ脚光を浴びるものの、本当に流行することはない。われわれは『Kotlin』『Dart』『Julia』といった言語がTIOBEインデックスのトップ20に入るのを何年も待っているが、実現していない。そうした中で唯一の例外がRustのようだ。Rustの人気が上昇している主な理由は、速度と安全性のユニークな組み合わせにある。Rustの今後に要注目だ。他の興味深いニュースとしては、『Lua』が24位から22位に浮上したことが挙げられる。パフォーマンスの高い言語がホットなようだ」
51〜100位のプログラミング言語については、順位の差が比較的小さいとして、次のようにアルファベット順に列挙している。
「ABC」「ActionScript」「Alice」「Apex」「AutoHotkey」「B4X」「bc」「Bourne shell」「C shell」「CFML」「CL(OS/400)」「Clipper」「CLIPS」「Clojure」「Common Lisp」「Crystal」「Curl」「Eiffel」「Elixir」「Erlang」「Forth」「Groovy」「Icon」「Inform」「Io」「J#」「Ladder Logic」「Modula-2」「MQL5」「MUMPS」「NATURAL」「NXT-G」「OCaml」「Occam」「OpenCL」「OpenEdge ABL」「PostScript」「Q」「Racket」「REXX」「Ring」「RPG」「S」「Solidity」「SPARK」「Stata」「Tcl」「Vala/Genie」「Verilog」「VHDL」。
TIOBE SoftwareはTIOBEインデックスの過去12カ月の平均順位における上位10言語の他、知名度の高い4言語は5年ごとの順位もまとめている。過去20〜25年でPython、Java、C#、「JavaScript」が大きく順位を上げている。CとC++も根強い人気を保っていることが分かる。
TIOBEインデックスのレーティングは、世界の熟練エンジニア、学習講座、サードパーティーベンダーの数に基づいて算出されている。レーティングの計算には、GoogleやBing、Yahoo!など広く普及した検索エンジンが使われている。
TIOBE Softwareは「TIOBEインデックスは『どのプログラミング言語が優れているのか』『どの言語で書かれたコードの行数が多いのか』を示すものではない」と説明している。
同社はTIOBEインデックスの使い方として「自分のプログラミングスキルが時流に合っているかどうかをチェックする」「新しいソフトウェアシステムを作り始めるに当たって、どのプログラミング言語を採用するかという戦略的判断に役立てる」といった例を挙げている。
Copyright © ITmedia, Inc. All Rights Reserved.