「TIOBEプログラミングコミュニティーインデックス」をご存じでしょうか。ソフトウェア品質の評価を行うオランダの「TIOBE Software」が公開しているランキングで、それぞれのソフトウェア言語にレートを付与し、人気・ニーズの度合いを示しています。
今回は、このインデックスの最新ランキングを紹介しつつ、これからプログラミング言語を習得したい人のためにそれぞれの特徴についてわかりやすく解説します。
プログラミング言語は、習得までにある程度の時間がかかるうえに、言語によって開発できるサービスが大きく異なります。転職を視野に入れている方は、どの言語を習得すると市場価値が高まるのかも気になるところでしょう。最近になって注目度が高まってきた言語に着目している方は、中長期的なキャリアプランを見据えて、戦略的に決める必要があります。
「習得することでスキルアップにつながるか?」「希望するキャリアを目指すうえで役に立つか?」という観点からチェックしてみてください。
Python、C言語、C++、Java、C#が5大人気言語
「TIOBE Index」の最新版である2024年5月の順位を見ると、1位は前年に引き続きPythonでした。以降は2位にC言語、3位にC++、4位にJava、5位にC#がランクイン。3位・4位で入れ替わりはあったものの、前年のTOP5がそのまま上位を占めており、安定したニーズの高さがうかがえます。
また6位以降の順位はJavaScript、VB、Go、SQL、FORTRANとなりました。ここからは「TIOBE Index」で上位に入ったプログラミング言語について、特徴や利用シーン、難易度などを詳しく紹介していきます。
ビッグデータ活用やブロックチェーンでニーズが広がるPython
1位の「Python」は、アプリケーションを構築するときに使われるオープンソースのプログラミング言語です。海外ではとくに人気があり、Google、YouTube、Amazon、Instagram、Spotify、Dropboxなど名だたるサービスがPythonで開発されています。
「TIOBEインデックス」では、2004年に10位に食い込んで以降、徐々に順位を伸ばしてきました。AI(人工知能)やビッグデータ活用におけるニーズが高く、業界を問わず使用されており、求人件数が多いのも特徴のひとつ。習得者の年収水準も高い傾向にあります。
AIやビッグデータ以外では、ブロックチェーンなど人材が不足している先端分野で使われており、汎用性・将来性も抜群です。無料のライブラリやフレームワークといった開発を効率化するための環境が揃っているのも魅力といえるでしょう。
コードや文法がシンプルで読み書きしやすく、入門書や学習サイト・解説動画なども充実しているため、ビギナーが習得しやすいのも人気の理由です。どのプログラミング言語を身につけるか迷っているなら、Pythonはまず着手すべき言語のひとつかもしれません。
AI、IoTなど根強いニーズがあるC言語
Pythonの次にレーティングが高い「C言語」は、自動車や家電・電子機器の組込みソフトウェアのほか、ロボットやパッケージソフト、ITインフラ、ゲームの開発など幅広い領域で活用されています。
実行速度の高さから近年はAIやIoTの開発にも使われるなど、汎用性の高さが特徴です。
開発されたのは1972年。50年以上の歴史があり、さまざまな企業の基幹システムやゲームアプリケーションにも使われている存在感の大きい言語といえるでしょう。「TIOBEインデックス」でも1989年以降、つねに1〜2位のランクをキープしてきました。
機械語に近いソースコードの構文を覚える必要があり、ほかの言語と比べると習得難易度は高めです。一方で入門書や学習教材が充実しており、プログラミングの基礎から応用までを包括的に習得できるため、キャリアの序盤に習得を目指すエンジニアも少なくありません。
現場での実践を積み重ねながらスキルを高めていけば、ほかのエンジニアとの差別化を図ることもできるでしょう。
C++がJavaより高評価となった理由とは?
1983年にリリースされてから、長年に渡ってニーズがある「C++」も、Webやスマホのアプリ、業務システム、OS、IoTと守備範囲が広い言語です。Facebookは、C++が活用されています。
正式な読み方は「シープラスプラス」ですが、「シープラプラ」「シープラ」と、呼び方はさまざま。C言語の拡張版として開発されているため互換性があり、処理速度が速いのが特徴です。
組込み系システム開発やゲーム開発で使われることも多く、2022年の「TIOBEインデックス」で最も順位が上昇した言語です。AI開発でも活躍することから、2024年にはJavaよりも上と評価されています。
言語構造が複雑で、習得難易度はC言語よりもさらに高めです。実務をこなしながら、時間をかけてじっくり身につける必要があるでしょう。それだけに業界ニーズの高いプログラミング言語です。
ちなみに、アメリカのポーランド社が開発した「Borland C++」は比較的難易度が低く、C++初学者の練習用に使用されることもあります。
定番のJavaはサポートの有料化で人気が停滞
4位の「Java」は、SIerのシステムエンジニアの定番言語です。一時は圧倒的な人気だったJavaが他の言語に抜かれたのは、LTS版といわれる長期サポートのパッケージが有料となった影響があるといわれています。
企業の業務システム、WEBサービス、スマホなど、幅広い用途があり、正社員求人や業務委託における採用条件では、依然として最もニーズがある言語です。IoT領域の開発にも使用されるため、需要は今後も維持される可能性が高いでしょう。
Windows、iOS、LinuxなどのOSで動作し、環境に依存しない点と、セキュリティ性能に優れている点も人気の理由。動作確認には実行環境を構築する必要があり、習得難易度はやや高めですが、書籍・プログラミングスクールなど学習環境は充実しています。
C#やRubyといった後発のプログラミング言語にも影響を与えており、Javaを習得することで以降の言語習得がスムーズになるでしょう。プログラミング未経験者・初心者におすすめの言語のひとつです。
求人数が多いC#は、アプリやAR/VRでニーズ拡大
5位の「C#」は求人需要が高いので、押さえておくとキャリアの選択肢が広がります。Microsoft社がWindowsのNETフレームワークのために開発したという経緯があり、Windows OSや、Windowsアプリケーションと相性が良い言語です。現在はゲームをはじめとして、アプリ、AR/VRなどの開発に使われています。
対応する言語が少ないUnityで使用できるのも特徴。Unityはゲーム開発・AR/VRで使われることが多い開発環境です。また統合開発環境・Visual Studioを利用すれば、複雑な環境構築なしでアプリケーションの開発ができます。
C#はC言語やC++から派生したものの、文法は別で互換性はなく、Javaのほうが似ています。システムエンジニアをめざす人は、より汎用性が高いJavaを習得した後にC#をマスターすれば、学習時間を効率化できるでしょう。
使い勝手の良さが高評価のJavaScriptは6位
WEBサービスのフロントエンド開発やAndroidアプリケーションで使われる「JavaScript」は6位にランクインしました。
ポップアップウィンドウの表示やアニメーション、自動スクロール、検索機能・ソート機能の設置、アコーディオンの設定など、動的な要素を実装できるのが特徴。サービスのユーザビリティを高めるのに重宝されています。
実行環境:Node.jsの活用によりサーバーサイドでも動作ができる、開発環境を構築する必要がないなど、使い勝手の良いプログラミング言語といえるでしょう。
ほかにWebサービスの構築において人気が高いプログラミング言語として、RubyとPHPがあります。
Rubyは短期間でアプリ開発ができる日本発の言語。X(旧Twitter)、価格com、食べログ、クックパッド、Huluなどのサイトのバックエンド開発や、オンラインゲームの開発に使われています。Ruby on Railsというフレームワークを使って、効率的な開発ができるのも魅力でしょう。
PHPはWordPressの増加に伴いニーズが高まった、サーバー側のスクリプト言語。HTMLにコードを埋め込んで利用可能です。WordPressのほかにも、Yahoo!、Facebook、WikipediaなどがPHPで構築されています。
ちなみに今回の「TIOBEインデックス」ではRubyが13位、PHPが16位でした。
JavaScriptも含めて、いずれも習得に取り組む際の難易度が低く、かつWeb関連の求人では必須スキルとされることが多く、おすすめ度の高い言語です。
7位のVBは新規開発が減少、8位のGoは好条件求人が増加
7位の「VB」(Visual Basic)は、Microsoft社が開発した30年以上の歴史を持つプログラミング言語。文系の学生向けに設計されたBASIC言語をもとに、Windowsアプリケーションを開発するための機能が搭載されています。
構文ハイライト・自動補完・コード記述を容易にするウィザードなど支援機能が充実しており、文法もシンプルなため、初心者向けの言語といえるでしょう。
ただしAIをはじめとする複雑な技術の開発には向きません。一定の人気があり既存システムでは継続的に使用されているものの、新規開発での利用シーンは減少傾向にあります。
近年、注目度が高まっているのはGoogleが開発した「Go」です。「TIOBE Index」でも2014年の36位から、2019年には18位、2024年5月には8位と順位が急上昇しました。
WEBアプリ・スマホアプリの開発や、WEBサーバー構築で活躍する言語で、シンプル・高速処理・信頼性が評価されています。CPUにかかる負担が小さい点や、サポート体制が充実している点も強みです。
コードは比較的シンプルですが、オブジェクト言語ということもあり、習得難易度の高い言語といえるでしょう。新しい言語のため、入手できる情報も少なめ。独学よりもプログラミングスクールなどでの学習が効果的です。
それだけにスキル保持者の希少性が高く、活用されるシーンは増加しているため、習得することで市場価値の向上が狙えます。IT・WEBエンジニアのための転職・就職・学習プラットフォーム「paiza」が2023年に発表した「転職における言語別の平均年収ランキング」でも、Goは1位に選ばれており平均年収は710.5万円でした。
Webエンジニアをめざすなら、専門性が高い技術者が増える前にGoを押さえておくのもいいでしょう。
データ分析で強みを発揮するSQLは企業ニーズが増加
9位はリレーショナルデータベースを扱うための言語「SQL」。読み方は「エスキューエル」のほかに「シーケル」という場合もあります。
データベースとは、さまざまなデータをまとめて整理・管理する、データの集合体です。そのなかでも、複数データを関連付けして、利便性を向上したものがリレーショナルデータベース(RDB)。ビッグデータやデータ分析などの領域では不可欠な技術といえるでしょう。
このRDBを操作するのに必要なのがSQLです。SQLを使えばデータベースの作成、データの追加・更新・検索・抽出・整形、テーブルの結合、ユーザー権限の付与などを自由に行うことができます。
昨今はAI・IoT・データ分析の需要拡大にともなって、SQLの企業ニーズも高まりました。基礎部分の学習難易度も低いため、習得しておいて損はありません。バックエンドエンジニア、データベースエンジニアのほか、データサイエンティストを目指すうえでも役立つ言語です。
FORTRANの人気が急激に高まった理由は?
最後に紹介するのは10位の「FORTRAN」。科学技術の計算に特化した世界初の高水準プログラミング言語です。考案されたのは約70年前ですが、依然としてスーパーコンピュータや計算系のソフトウェアなどに使用されています。
ちなみに前年のランキング順位は19位でした。急浮上の背景について、運営側のTIOBEは数値計算・数学計算が重視されている近年の動向を挙げています。
競合するプログラミング言語と比べて、FORTRANは低コストで利用ができる、処理が速いといった点が強み。コードが読みやすく、習得しやすいのも魅力といえるでしょう。
とはいえ利用シーンは限られており、国内の求人ニーズなども現時点でそこまで高いわけではありません。今後どのように需要が変化していくのか注目です。
AI開発ニーズの高まりでPython、JavaScript 、C++が注目度UP
以上、2024年の人気言語について、使われる領域と用途をまとめました。今後、注目度が高まりそうなのは、AI開発で必要とされるPython、JavaScript 、C++。PythonとC++の強みを併せ持つJuliaも、ニーズが高まっているようです。
最近は、自然言語を入力してJavaScript、HTML、Pythonなどのコードを自動生成できるコード生成AIツールが話題になっており、複数のプログラミング言語を扱えるエンジニアの価値もますます高まりそうな雲行きです。
より幅広い領域をカバーするべくプラスアルファの言語を身に付けたい方、特定の分野を強みにしたい方、異業種からシステムエンジニアに転身したい方は、ぜひ参考にしてください。
※この記事は2024年3月6日に公開した記事を再編集しています。