どうもマサシです。
本記事では現役エンジニアである僕が、将来性のあるプログラミング言語について分野別に解説します!
プログラミング言語のトレンドを元に将来性のある言語を紹介します!また、言語は各々特徴がありますので、それら背景についても解説します!
目次
先に結論
2022年10月時点で将来性があるプログラミング言語は以下です!
この言語を勉強すれば今後5年は大丈夫です!
今トレンドのプログラミング言語を調べる方法
2022年10月20日現在のプログラミング言語のトレンドについて、GitHub というソースコードホスティングサービスの情報を元に解説していきます!
GitHubってなに?
GitHubとは、ソースコードやソースコードの変更履歴を管理するGitという分散型バージョン管理システムをベースとしたソースコードホスティングサービスです。
運営はMicrosoft社傘下のGitHub社が行っています。
GitHubは、ソースコードの管理だけでなくコードレビュー機能やSNS機能、Gistというテキストデータを保存・公開する機能など、エンジニアにとって使い勝手のよい機能を多く提供しており、ソースコードホスティングサービスとして全世界でのシェアは圧倒的No1です。
世界中のエンジニアがこのGitHub上でソースコードを管理しています。
このGitHub上の統計情報が GitHut というサイトで公開されています。
このGitHutの情報を元にプログラミング言語のトレンドおよび将来性を判断していきます!
プログラミング言語の将来性判断方法
今回はGitHub上でSTARが付けられたソースコードの言語別シェア推移を元にトレンドや将来性を判断します。
※ STARは「ブックマーク、フォロー」みたいな機能です
GitHutでは他にも以下の内容でシェアが見れるようになっていますが、「STARのシェア=今エンジニア内で情報が求められている言語のシェア」と言え、今の流行が最も反映されやすいと考えたため「STAR」を用いることにしました。
今回採用しなかったGitHutで見れる統計情報一覧
将来性の判断条件
以下を将来性の判断条件とします。
以下、順に理由を解説します。
シェア率が1%以上あること
将来性があるとしても現在のシェア率が1%の未満の場合、広く利用されるようになるのに最低でも5年はかかります。
5年以上先の将来性を今判断するのは難しいです。
また、ある程度利用されないとその言語の特性や欠点がエンジニアに理解されず、そのまま流行にならずに終わる可能性があります。(現に世間に定着せずに廃れていった言語は数え切れないほどある)
そうなると開発コミュニティが廃れていき、そのプログラミング言語自体改良されずに化石となっていきます。
過去数年シェアを伸ばしていること
まさに今トレンドに乗っている技術です。
今後もさらに活発に利用される可能性が高く、まさに将来性を感じる言語であると言えます。
意外と思う方もいるかも知れませんが、企業における技術の採用観点として「今流行している」というのは非常に重要です。
もちろん、プログラミング言語の特性等も含めて最終決定されると思いますが、流行しているということはナレッジが豊富だったり、コミュニティが活発でセキュリティインデントへの対応などが期待できます。
企業の技術採用が他の企業へも口コミ的に広まっていき、よりシェアを拡大していきます。
現在高いシェア率で横ばい、または微減で推移している
シェアが伸び切り、多くの企業やサービスで利用され定着している状態です。
今後の大きなシェア拡大は望めませんが、逆に言うとここから数年の間は急に廃れない技術と言えます。
もちろん言語によっては何かしらの理由により、大きくシェアを縮小することもあるので、あくまで横ばい、微減で推移していればここ数年の将来性が見込めると考えます。
将来性のあるプログラミング言語の判断
それではSTARのシェアを元に将来性を判断していきます。
シェア率上位の言語について
この表にある通り、まず第一条件である「シェア率が1%以上あること」に当てはまるのは以下の14言語です。
この中から実際に過去数年のシェア率の推移を見て判断していきます。
上昇トレンドにある言語
Python
以前はWebシステムとして利用されることもありましたが、現在は機械学習関連のプログラムを書く時に多く利用されています。
機械学習(俗にいうAI)自体が今世の中でニーズが高く、機械学習やデータ分析に用いられる言語ということでシェアを大きく広げています。
今後もシェア拡大が見込まれ、将来性が非常に高いです。
Go(Golang、Go言語)
2009年にGoogleで設計されたプログラミング言語です。
シンプルな記法、処理の速さ、実行環境依存なし、小規模〜大規模のシステム開発で使え汎用的、など多くのメリットがあり急速に成長しています。
今後もシェア拡大が見込まれ、将来性が非常に高いです。
C、C++、C#などのC系言語
C系の言語は古くからあり、処理速度の高さやメモリ操作など組み込み系のシステムと相性が良いのが特徴です。
車や家電など色々な物がシステム制御されるようになったことや、IoT(色々な物がインターネットとつながる)の普及などがあと押しをしており、需要が高まっています。
今後もシェア拡大または、維持が見込まれ、将来性あると言えます。
TypeScript
2012年にマイクロソフトにより設計された比較的新しい言語です。
TypeScriptはJavaScriptの拡張として作らており、コンパイルすることでJavaScriptに変換され動作します。
JavaScriptの拡張ということでフロントエンドシステムとの親和性が非常に高いです。
JavaScriptのライブラリはそのまま使えるだけでなく、型を定義することでコンパイル時にエラーを未然に防げるなど、自由すぎる記法のJavaScriptの欠点を補うメリットがあります。
JavaScriptからの移行が進んでおり、シェアが拡大しています。
今後もシェア拡大が見込まれ、将来性が高いです。
Kotlin
Javaとの互換性がありJVM(Javaの動作環境)で動作できます。
静的型付けのオブジェクト指向言語でJavaと似ていますが、Javaよりシンプルに記述でるのが特徴です。
2017年にAndroidOSのアプリ公式開発言語に追加されたことで、AndroidJava移行が進みシェアを拡大しています。
Androidアプリ開発だけでなくサーバサイド開発も含め、今後もシェア拡大が見込まれ将来性が高いです。
高いシェア率で横ばい or 微減
JavaScript
ブラウザ上で動作するスクリプト言語として有名ですが、NodeJsなどサーバサイド開発も行えます。
ブラウザ上で動作する言語とサーバサイド言語の統一ができ長年大きなシェアを誇ってきました。
シェア率の推移だけ見ると急激に縮小しているように見えますが、上記あげたTypeScriptへの移行が進んでいるのが大きく影響しています。
TypeScriptもコンパイルすればJavaScriptとして動作することを考えると、基本的な動作はTypeScriptもJavaScriptも変わりません。
そういった意味では今後も引き続き多くのエンジニアや企業に利用される言語と言えます。
Java
Javaは1995年に登場した静的型付けのオブジェクト指向言語です。
汎用性が非常に高く、業務系システム、Webシステム、組み込みシステムなどあらゆる所で利用されています。
幅広く使われてきた言語ではありますが、未だに人気を誇っています。
特に業務系アプリケーションで多く見られ、日本国内で一番開発者がいるのがJavaだと思います。
言語としてしっかりメンテナンスされていることと、業務系アプリケーションは早々にフルリプレイスできないことを考えると、今後もまだまだエンジニアや企業に利用される言語と言えます。
まとめ
本記事では将来性のあるプログラミング言語について理由も含めて解説しました。
今後新しい言語にチャレンジする際の参考にしてもらえればと思います!
今からプログラミング言語を勉強したいのですが、将来性のあるプログラミング言語はなんですか?