前回はGitHubの人気プログラミング言語ランキングの上位について、初学者がプログラミング言語に参入するという視点で解説した。
前回:GitHub人気プログラミング言語ランキング「解説」(1):上位10言語
今回は、急成長中の言語ランキングについて、その背景を簡単に解説できたらと考えている。本稿は、初学者向けではなく、ある程度プログラミング言語に精通した人が、新たに学習するための視点となろう。
急成長言語ランキング
以下は、The State of the OctoverseのFastest growing languagesを日本語訳したものである。2018~2019年にかけて最もGitHubでのプロジェクトが増えた言語を示している。
順位 | 言語名 | 成長率 |
1 | Dart | 532% |
2 | Rust | 235% |
3 | HCL | 213% |
4 | Kotlin | 182% |
5 | TypeScript | 161% |
6 | PowerShell | 154% |
7 | Apex | 154% |
8 | Python | 151% |
9 | Assembly | 149% |
10 | Go | 147% |
JavaScriptを追随するDartとTypeScript
人気プログラミング言語ランキングにも7位に入ったマイクロソフトによるTypeScriptは、JavaScriptのスーパーセットであるのに対し、DartはGoogleが開発したウェブ系言語である。
一時期はGoogleはDartの普及を諦めていたが、2018年に大幅に強化したDart 2を発表した。現時点では取るに足りないが、母集団が小さいので伸び率としては圧倒的である。
JavaScript開発者であっても、今すぐにこれらの言語を習得する必要は無いだろう。寧ろVue.jsやReactJSなどの方がすぐに役立つと考えられる。
Pythonを脅かすのはRustかGoか
Rustは今筆者が押している言語で、今はMozillaのプロジェクトに昇格している。C言語並に速いのにメモリ安全といういいとこ取りであるのが特徴である。
もっとも、C++やJavaといったオブジェクト指向言語だけでなく、最近の関数型プログラミングにも精通していることが前提であり、チュートリアルもこれらは当然理解しているものとして進行していく難しい言語である。
しかし、機械学習界隈でもライブラリ任せのディープラーニングではなく、強化学習など新たな手法を開発するといった分野ではかなり人気を高めている。
同様にPythonに代わる言語として注目を集めているのがGoogleによるGo言語であり、こちらは並列処理が得意であり、これも有力な言語の一つである。
AndroidならKotin
GoogleがAndroidアプリ開発の推奨言語としてKotlinを掲げたことで、更にシェアを伸ばしているのがKotlinである。これはScalaやGroovyなどと同じでJava仮想マシン上で実行されるのが特徴だが、Googleが押していることにより成長が期待される言語である。
簡単なアプリなら前回も指摘したようにHTML5 + CSS + JavaScriptによるウェブアプリで十分だが、ネイティブアプリを開発する必要があるならば選択肢に入るだろう。
コマンドプロンプトの完全上位互換PowerShell
古臭いコマンドプロンプトではなく、後発により高機能なPowerShellは、これからのWindowsサーバー管理者などにとって必須の技術になってくるだろう。
早めに習得しておけば今後、需要が増えていくと考えられる。
セールスフォースの言語Apex
Apexといってもゲームではなく、最強のSaaSセールスフォースの言語だ。言語としては古臭いJavaに似ており嫌う開発者は多いが、なんせ需要は多い。
これ単体で学習する人はあまりいないと思うが、JavaやC#などを扱っている人であれば習得が比較的簡単なので、セールスフォース案件に関わるなら必要となる。
IoT時代のアセンブリ
より機械語に近いアセンブリ言語によるプロジェクトが急速に増えているのが興味深い。これはIoT機器など小型の機器が増えていることにより、極力メモリを抑えて実装させるためにC言語ではなくアセンブリを使うケースが増えているからだ。
前回:GitHub人気プログラミング言語ランキング「解説」(1):上位10言語