概して日本のプログラミング業界は、アメリカなどの英語圏の欧米諸国より数年遅れて言語のトレンドがやってくるのではないでしょうか。英語習得者が比較的に少ない日本では翻訳された二次情報、三次情報をもとにエンジニアが活性化していくため、仕方のないことでしょう。
裏を返せば、日本で流行りそうな言語を欧米諸国の情報から逆算して予測できるのでは?と思いちょっと考察してみることにしました。
海外のトレンドを調べるにあたっては有名な(ベタな)Stack Overflow Developer Surveyの2021年版、2020年版の傾向を用いました。Stack Overflow Developer Surverをご存じない方に少し説明しておきます。
Stack Overflowとは
スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。
https://ja.stackoverflow.com/
と、明記されていますね。全くその通りで、技術的な疑問や質問があるときに、このStack Overflowで質問事項を投稿し、回答をその道に長けたプロフェッショナル(実際にプロかどうかは怪しいですが……笑)が返答する、いわゆるナレッジコミュニティサイトです。
開設からこれまでに投稿された質問の数は21+ Million件(なんと2100万件)で、回答数は50.6+ Billion(506億…)というような、非常に規模の大きいプログラミングに特化したナレッジコミュニティサイトです。Stack Overflowの本社はNYにあるようです。
Javaでこんなプログラムの記述書いたけど、動かないんでアドバイスいただけませんか、のような困った教えて系の投稿がほとんどです。
そんなユーザー数1020万人(2019年時点)の大規模コミュニティだ統計情報として、毎年アンケートを実施して、一般に公開しているのが、https://insights.stackoverflow.com/survey/2021なのです。
大前提
Stack Overflow Deloper Surveyはほとんどのユーザーが英語圏です。早速、https://insights.stackoverflow.com/survey/2021の統計データを見てみましょう。
まぁアメリカのサービスなのでアメリカのデベロッパーが1位で18.33%を占めています。続いてインドが6.75%、イギリスが5.37%、Canadaが3.61%、フランスは3.25%のようなユーザーの割合になっています。日本は0.51という結果に……英語苦手だからしょうがないですね。僕も英語書く方はあまり自身がなくて投稿も回答もしたことありません笑。
もうちょっとわかりやすく主要国を表に書き起こしてみます。
国名 | ユーザー比率(%) |
---|---|
アメリカ合衆国 | 18.33 |
インド | 6.75 |
イギリス | 5.37 |
カナダ | 3.61 |
フランス | 3.25 |
中国 | 1.27 |
日本 | 0.51 |
韓国 | 0.23 |
タイ | 0.22 |
北朝鮮 | 0.01 |
アジア勢はあんまり投稿や回答することはないみたいですね。びっくりなのは2位のインドです。人口が多いのもありますが、かなりの勉強家が多い国なんだなぁと感心してしまいました。
これを頭に入れたうえで、ネクストブレイク言語が何かを考えてみたいと思います。欧米で盛んな言語が日本でブレイクする日もそう遠くはないはず。
大規模開発で使用されたマークアップ言語たちは何だ
プロフェッショナルに分類されるユーザーに下記アンケートを実施したところ面白い結果が見られました。(有効回答数58,031件)
過去1年間に、どのプログラミング、スクリプト、およびマークアップ言語で大規模な開発作業を行いましたか。また、来年はどの言語で作業しますか。 (両方がその言語で作業していて、それを継続したい場合は、その行の両方のチェックボックスをオンにしてください。)
https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof
この「大規模な開発」というところがミソで、個人学習などの小規模なものは除外されているアンケート結果です。併せて「来年作業予定の言語」についても同時に質問したようです。
気になる結果は……
HTML / CSS、JavaScriptは殿堂入りでいいんじゃないか
ちょっと画像が見づらいと思いますので表に書き起こしますね。
1 | JavaScript | 68.62% |
2 | HTML/CSS | 55.9% |
3 | SQL | 50.73% |
4 | Python | 41.53% |
5 | TypeScript | 36.42% |
もはやWebアプリケーションには欠かせないHTML、CSS、JavaScript、SQLを開発で使用する人が圧倒的多数を占めていますね。HTML、CSS、JavaScript、SQLはエンジニアが誰でも使う必要のある必要最低限のマークアップだということがあからさまにアンケート結果に出ています。
上記は2021年版ですが、2020年版も確認したところほぼ同じなので、これらはもう除外して考えるべきかなぁと思います。ただ、JavaScriptがHTMLの副産物として使用されているのか、Node.jsやReact Nativeなどで利用されているのかはこのアンケートからは読み取れません。単にHTMLとの併用の場合とサーバーサイドやスマートフォンアプリでの利用では雲泥の差ですからね。いずれにせよ、今回の調査からはこれらはスルーしますのでご了承ください。
プログラミング言語ランキングを図表化してみた
もう見てしまった方が早いと思うので下図をご覧ください。
4 | Python | 41.53% |
5 | TypeScript | 36.42% |
6 | Node.js | 36.19% |
7 | Java | 34.51% |
8 | C# | 29.81% |
10 | PHP | 22.54% |
11 | C++ | 19.94% |
14 | Go | 10.51% |
15 | Kotlin | 9.09% |
16 | Ruby | 7.89% |
17 | Rust | 6.4% |
18 | Dart | 5.97% |
20 | Swift | 5.64% |
21 | VBA | 4.09% |
22 | Assembly | 4.07% |
23 | Groovy | 3.64% |
24 | R | 3.48% |
25 | Objective-C | 3.33% |
27 | Scala | 3.06% |
28 | Perl | 2.42% |
29 | Delphi | 2.36% |
34 | F# | 1.06% |
4位Pytho強いですねぇ。AI領域が爆発的に流行ってますから機械学習の需要が高いんでしょうね。24位のR言語も同様に機械学習用の言語ではありますが、Webの汎用性が無いため、Pythonがひとり勝ちしているのでしょうね。
個人的に以外だったのはPHPがあまり上位に食い込まなかったことです。Wordpressの台頭でPHPは必須な気がしていたんですが、そのほかのWebアプリケーションでは需要があんまりないってことなのかもしれません(推測です)。
Go言語、キテますね。ちなみに2020年のStack Overflow Developer SurveyではGo言語は12位だったので、ランクは下げたものの安定期に入ったとでも考えられましょうか。
一方でDart言語は前年から4ランクアップしているので徐々に浸透して伸び始めているかもしれません。2020年では3.7%のユーザーがDartを利用していましたが、2021年では5.97%に大きくアップしていました。
2020年にはなかった、6位のNode.jsが大躍進しているようです。2020年には選択肢になかったのかもしれませんが、今回選択肢に入るくらい注目を集めているのかもしれませんね。
気になる年収との関係性
Stack Overflow Developer Surveyには各言語の収入についてのアンケートまで行っています。
現在の総報酬(給与、ボーナス、特典、税金と控除前)はどのくらいですか?下のボックスに句読点を付けずに整数を入力してください。時間給の場合は、同等の週給、月給、または年俸を見積もります。回答したくない場合は、ボックスを空のままにしてください。
https://insights.stackoverflow.com/survey/2021#top-paying-technologies
あくまで海外の相場になってしまいますが、ある程度の参考になるはずです。将来的に日本でも水準の変動があるかもしれませんね。
そこで先ほどの人気ランキング表に収入のアンケート結果をマージして一覧表にしてみました。
ランク | 言語 | エンジニア利用率 | 年収 |
4 | Python | 41.53% | $59,454(689万円) |
5 | TypeScript | 36.42% | $59,172(685万円) |
6 | Node.js | 36.19% | $54,672(633万円) |
7 | Java | 34.51% | $51,888(601万円) |
8 | C# | 29.81% | $54,049(625万円) |
10 | PHP | 22.54% | $38,916(450万円) |
11 | C++ | 19.94% | $54,049(625万円) |
14 | Go | 10.51% | $75,669(876万円) |
15 | Kotlin | 9.09% | $55,071(637万円) |
16 | Ruby | 7.89% | $80,000(926万円) |
17 | Rust | 6.4% | $77,530(897万円) |
18 | Dart | 5.97% | $32,986(381万円) |
20 | Swift | 5.64% | $58,910(682万円) |
21 | VBA | 4.09% | $53,825(623万円) |
22 | Assembly | 4.07% | $55,211(639万円) |
23 | Groovy | 3.64% | $75,002(868万円) |
24 | R | 3.48% | $59,454(688万円) |
25 | Objective-C | 3.33% | $64,859(751万円) |
27 | Scala | 3.06% | $77,832(901万円) |
28 | Perl | 2.42% | $80,000(926万円) |
29 | Delphi | 2.36% | $46,704(540万円) |
34 | F# | 1.06% | $81,037(938万円) |
34位のF#言語で吹いてしまいましたwww 高っっ!まさにアメリカンドリーム!留学しておけばよかった……物価が高いだろうから一概に高級かどうかは判別できませんが全体的に日本より圧倒的に高額ですね。
F#言語は使える人が少ないけど、需要のあるところにはあるって感じでしょうか。F#言語は.NETFrameworkを使用するようなので、もしかしたら数年後にトレンドに来るかもしれませんね。
Go言語、Ruby言語、Rust言語あたりがねらい目でしょうか。ただあくまでこの表はStack Flowのアンケート結果に基づいているので過度に信頼はしないようにしてください。と、言いつつちょっとGo言語触りに行ってきます!www
まとめ
エンジニアとして言語の選択が結構肝になるのは皆さん共通だと思います。あんまり需要のない言語を続けていても将来食いっぱぐれないか……とか、高給ではあるけど、将来廃れる言語なんじゃないか……とか、いろいろ考えちゃいますよね。
この記事でまとめてみた、需要と給料の関連性を参考にしてみて、日本で次にブレイクする言語にかけてみてはいかがでしょうか?(ギャンブル的な意味で)