「The State of the Octoverse」で、GitHubで使われているプログラミング言語の人気ランキングが更新されました。
WEB系のアプリ開発をしているエンジニアとしては、GitHubを使う機会も多いのでとても興味深いです。
普段はRubyやPHPを使ってシステム開発していますが、個人的にはPythonを使った開発もしてみたいと思っています。
これからプログラミングを勉強したい人にも、人気プログラミング言語はどのプログラミング言語から勉強するかの参考になると思います。
GitHubでのプログラミング言語ランキングなので、他とは違った結果になっていますが、エンジニアの方やプログラミング初心者の方はチェックしてみて下さい。
2020年GitHubで使われたプログラミング言語ランキング
GitHubのイメージはWEB系ですが、プログラミング言語ランキングの結果もそのような形になっていました。
- JavaScript
- Python
- Java
- PHP
- C#
- C++
- TypeScript
- Shell
- C
- Ruby
今回のランキングでは、Javaが2位から3位に落ちて、PythonがJavaを抜いて2位になった変動が話題になっていました
1位はJavaScriptで、グラフを見ても安定の1位キープとなっています。
4位のPHPも、安定して高い順位をキープしていました。
目を見張ったのが、今までランキングに入っていなかったTypeScriptが7位に入ってきたことです。
マイクロソフトが開発したプログラミング言語が入ってきたのは、GitHubのならではなのかなと思いました。
全体的に見て、GitHubの特性からかWeb系のプログラミング言語が多い印象を受けます。
気になったのはRubyの人気が落ちていて、ここ数年でランキングを大きく落としていることですね。
2020年GitHubで急成長しているプログラミング言語
GitHubで使われているプログラミング言語は、今が旬のものが中心になっていました。
その他にも、急成長しているプログラミング言語も発表されていたので掲載しますね。
- Dart
- Rust
- HCL
- Kotlin
- TypeScript
- PowerShell
- Apex
- Python
- Assembly
- Go
こちらは2020年にGitHubで使われているプログラミング言語とは、全く違ったランキングになっていました。
DartやGoといったプログラミング言語は、注目されていますし、急成長しているのも理解できます。
ただ、実際に上記で発表されたプログラミング言語で開発をしている現場は少ないのではないでしょうか。
Rustなどは、AWSが支援しているプログラミング言語で、今後の伸びも期待できます。
Javaの代替と言われているKotlinなども注目はされていますが、まだ現場レベルで使っているところは少ないでしょう。
急成長しているので、今後は日本の現場でもメジャーになる可能性はあります。
日本のプログラミング言語ランキング
今回のランキングはGitHubになりますが、日本でのプログラミング言語のランキングはどうなっているのでしょうか。
2018年のデータになりますが、日経 xTECHが行った日本のシステム・ソフトウェア開発現場で実際に使われているプログラミング言語の調査結果があるので掲載します。
- C/C++
- JavaScript
- C#
- Java
- Python
- HTML/CSS
- VisualBasic(VB.NET以外)
- PHP
- VB.NET
- Ruby
- COBOL
- Perl
- アセンブリ言語
- Swift
- R
- FORTRAN
- TypeScript
- Go
- Kotlin
- PL/I
- Objective-C
- Scala
- Lua
- Haskell
この調査ですが、IT系のエンジニアに現在使っているプログラミング言語を3つまで答えてもらう方法で行われたそうです。
上位のプログラミング言語が、C/C++、Java、C#などになっているは、日本の現場でよく使われていますね。
もう一つ特徴的だったのは、COBOLなどのレガシー言語が入っていることでした。
おそらく、IBM系の現場のエンジニアの方にも調査したのでしょう。
人気ランキングだったら、絶対に入らないプログラミング言語もいくつかありました。
全体的な印象としては、昔から使われているプログラミング言語が多いですね。
高収入が期待できるプログラミング言語
日本の現場で使われているプログラミング言語の上位が、必ずしも高収入に結びつくわけではないようです。
日経 xTECHが行った高収入プログラミング言語ベスト3は、
- Go
- Scala
- Python
GoはGoogleが開発したオープンソースプロジェクト向けのプログラミング言語で、日本でも有名なサービス(メルカリやはてななどで使われているそうです)で利用されているプログラミング言語です。
2位のScalaは、Javaとの互換性があるプログラミング言語で、こちらも大手のサービス(TwitterやLinkedinで使われているそうです)で利用されています。
Pythonに関しても、エンジニアを求める企業が増えているので高収入が期待できるのでしょう。
この調査では、具体的な収入については触れていなかったので、あくまで注目度や業界の流れから判断しているのかと思います。
プログラミング言語の学習は人気で選ぶのもありです
プログラミング言語の勉強をする時、初心者の方は人気で選んでも良いと思います。
人気のプログラミング言語は、需要がありますし、就職や転職で役に立つ可能性が高いからです。
もちろんプログラミング言語にも流行りがあるので、人気のプログラミング言語が将来的にも使えるとは限りません。
ですが、人気のプログラミング言語は間違いなく使える機会が多くなるのも事実です。
日本の現場では未だにCOBOLなどのレガシー言語が使われていますし、今回の現場で使われているランキングにも入っています。
ですが人気のプログラミング言語かと聞かれると、恐らくCOBOLを勉強したいと答えるエンジニアの方は少ないと思います。
最初に勉強するプログラミング言語としては、JavaやWEB系(Ruby、PHP)などの人気のプログラミング言語がおすすめです。
Pythonも人気や需要が高いので、これからプログラミングの勉強をする方にはおすすめできます。
プログラミング言語の選択に正解はありませんが、少なくとも人気があるプログラミング言語を選んで失敗することは少ないと思います。
複数のプログラミング言語を学習することで就職や転職で有利になります
プログラマーやSEといったエンジニアでも、全てのプログラミング言語を知っているわけではありません。
現場で新しいプログラミング言語を覚えるエンジニアも多く、実は1つか2つしかプログラミング言語を知らないエンジニアの方もいます。
もちろん同じ現場にずっといるのであれば、メインのプログラミング言語を使えれば問題ないでしょう。
ですが、こうした状況に不安を抱えているエンジニアの方も少なくありません。
もし現場で新しいプログラミング言語で開発するとなったら、その言語を知っているエンジニアが採用され、リストラされるリスクもあります。
現在のIT業界はプログラミング言語が増え続けているので、一つの言語しかできないエンジニアはスキル不足と見なされてしまうこともあるのです。
複数のプログラミング言語を使えるようになるのは、エンジニアにとって必須のスキルと言えるでしょう。
エンジニア求人を見ても、必須スキルとして複数のプログラミング言語の知識や経験が求められているものが多いです。
一例ですが、WEB系の求人では、PHPだけではなくJavascriptやHTML、データベース操作のMySQLなども要求されることがあります。
人気プログラミング言語のPythonでも、必要とされる必須スキルにLinux、RDBMSなどの開発経験などが求められることがあります。
複数のプログラミング言語を勉強しておけば、就職や転職の際にも仕事を選ぶ選択肢が広がるメリットがあります。
IT系の企業は、扱うプログラミング言語で収入や環境が大きく変わるので注意が必要です。
人気プログラミングランキングだけではエンジニアをやっていけません
プログラミング言語には流行りがあり、次々と新しい言語が生まれるので、エンジニアが一つのプログラミング言語がわかれば良い時代ではなくなりました。
では、人気ランキング上位のプログラミング言語ができれば良いのかといったら、そんなこともありません。
日本の現場の特徴として、古いプログラミング言語を入れ替えできないことも挙げられます。
エンジニアの仕事はクライアントが使っているプログラミング言語でコードを組むことになるので、レガシーの言語を使うことを余儀なくされることもあるのです。
プログラミング言語は、あくまでシステム開発をするためのツールなので、結局はクライアントに左右されてしまいます。
そのためエンジニアは常に、どのプログラミング言語を使って何を開発するかを理解するスキルが必要不可欠になります。
ただ人気ランキングで上位のプログラミング言語は需要が高いので、使えるとその言語を使う現場に配属される確率が高くなります。
流行のプログラミング言語は高収入も見込めるので、覚えておいて損はないでしょう。
これからプログラミング言語を勉強する未経験の方は、その辺りも考慮して勉強するプログラミング言語を選ぶことをおすすめします。
プログラミング言語の勉強は、独学やオンラインのプログラミングスクールがおすすめです。