C/C++が首位陥落、Web開発に欠かせない言語がトップに

https://xtech.nikkei.com/atcl/nxt/column/18/01373/072700001/?i_cid=nbpnxt_ranking

『システム開発を円滑に進めるには、開発対象のシステムに合ったプログラミング言語を選ぶ必要がある。プログラミング言語によって向いているシステム、または向いていないシステムがあるからだ。ITエンジニアには開発対象に応じて利用言語を増やしたり、場合によっては切り替えたりすることが求められる。

 ITエンジニアが開発するシステムは様々だ。最近では、従来の基幹系システムだけでなく、Webサービスやスマホアプリ、AI(人工知能)システムなどもある。では、ITエンジニアはどんなプログラミング言語を使っているのか。また開発対象のシステムごとに利用されている言語は何か――。

 これらを確かめるため、日経クロステックでは「プログラミング言語利用実態調査 2020 夏」をWebサイト上で実施した。調査期間は2020年6月23日~7月3日。711人の会員から回答を得た。その結果を見ていこう。

C/C++が首位陥落
 アンケートでは普段使っているプログラミング言語を3つまで挙げてもらった。その結果、利用言語の第1位は「JavaScript」で、回答者711人中217人が使っていた。3割以上のエンジニアがJavaScriptを使っていることになる。JavaScriptはWebシステムやWebアプリのクライアント側(Webフロントエンド)開発に多用されるプログラミング言語だ。

利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。1人当たり最大3つ選択してもらった
[画像のクリックで拡大表示]
 日経クロステックでは2018年と2019年に同様の調査をしている。過去2回の調査では、利用言語の第1位は「C/C++」だった。今回、C/C++は第4位(182人)に後退した。このことからITエンジニアが開発するシステムにWeb技術の採用が進んでいることが分かる。

関連記事:プログラミング言語の人気ランキング、独自調査で解明
関連記事:プログラミング言語人気ランキング2020、2位に「大躍進」したあの言語

 利用言語の第2位は「Python」(207人)だった。PythonはAIシステムやデータ分析システムに利用されている。Python向けの機械学習や計算処理などのライブラリーやフレームワークが豊富にあるためだ。最近こうしたシステム開発に携わるITエンジニアは増えており、第2位に入る結果となった。

 利用言語の第3位は「Java」(186人)、4位は182人が利用していると回答した「C#」と「C/C++」だった。JavaやC#は基幹系システムや業務システムの開発に利用する定番言語である。

メインに使っている言語はJavaがトップ
 先ほどの回答は利用しているプログラミング言語を複数(3つまで)聞いた結果だ。では、メインとして使っている言語は何だろう。アンケートでは最も使っている言語を1つだけ挙げてもらった。

その結果、第1位は「Java」(16.0%)、第2位は「C#」(14.6%)だった。先ほど利用している言語では第1位だった「JavaScript」は第7位に後退している。現在のシステム開発には何かしらのWeb技術を用いるため一部JavaScriptを利用するが、主にプログラミングするのは定番のJavaやC#であることが分かる。

 第3位は「C/C++」(13.8%)だった。C/C++は組み込み系ソフトの開発に利用することが多い。組み込み系ソフトを開発するエンジニアの7割以上がメイン言語として使っていた。第4位は「Python」(12.9%)である。Pythonを用いたシステム開発は増えているものの、メインの言語として利用しているエンジニアはJavaやC#と比べて少ない結果となった。

 第5位は「VBA」(7.7%)だった。VBAは主にExcel上でマクロのプログラムを記述する際などに使う。Excelで行う計算処理を自動化して事務作業を効率化する用途でよく利用されている。ただし後述するアンケートの結果を見ると、事務作業以外でも利用する機会が増えているようだ。

開発用途別の利用言語
 続いて、開発するシステムごとの利用言語について見ていこう。アンケートの結果では基幹系システムを開発しているITエンジニアが最も多く242人だった。基幹系システムを開発するエンジニアが使っている言語の第1位は「C#」だった。その割合は22.7%である。第2位は「Java」で21.9%。両者を合計すると全体の4割強になる。登場時期が古い「COBOL」も9.1%のエンジニアが利用している。

開発対象システムごとにメインで利用する言語
[画像のクリックで拡大表示]

 組み込み系ソフトを開発しているエンジニアの73.8%は「C/C++」を利用していると回答した。過去2回の調査では組み込み系ソフトの開発にC/C++を利用しているエンジニアが多く、全体の順位を押し上げる傾向だった。今回の調査ではJavaやC#を利用して基幹系システムを開発するエンジニアの割合が増えたため、組み込み系ソフトで多用されているC/C++の順位を上回ったと思われる。

 意外だったのはWebフロント系システムを開発しているエンジニアの24.7%がJavaをメインに利用していることだ。Webフロント系システムの開発ではバックエンドとなるシステムとの連携が必要になる。バックエンドとなるシステムはJavaやC#といった言語で開発していることが多い。そのためWebフロント系システムを開発していると回答したエンジニアの多くがJavaをメインに利用していると推測できる。』