今後10年で生き残る言語・選ばれない言語まとめ
これから生き残るプログラミング言語なんて大層なタイトルにしましたが。
こういう言語紹介系の記事って大体企業系が公開している印象があって『ほんまかぁ?』みたいな印象を受けるのって自分だけですかね?
ということで、今回は現役フロントエンドプログラマーの自分が、自分なりに色々と考えた結果を紹介していこうと思います。
まず紹介する前に今回の選定基準は以下のような感じです。
- ChatGPT に聞きつつ未来性ベース、今使われているかどうかはあまり重要視していない
- 基本的に国内準拠で考えたけど、結果的にグローバルに通用する選定になった
- 個人的なバイアスはほぼ入れていない、つもり
もちろん世の中には鬼ほど言語は存在するのですが、このランキングに載っていない言語は、今回は対象外としていますので悪しからず。
以下のスコープで切り出していこうと思います。
- まずはこれを押さえておけば間違いない言語たち(おすすめ度:高)
- 特定分野に強く、需要はあるが選択肢としては補助的な言語(おすすめ度:中)
- 現場では見かけるが、これから学ぶには向かない言語(おすすめ度:低)
まずはこれを押さえておけば間違いない言語たち(おすすめ度:高)
JavaScript(TypeScript)
今後もバリバリ一線級を走るであろう JavaScript です。
とはいえ素の JavaScript を触るケースはあまりないと思います、TypeScript が前提になってくるとは思いますが。
Web 系を中心に、ありとあらゆるサービスで使われており、現場レベルだと最強の言語だと思います。
フロントエンドは言わずもがな、バックエンドも 9 割ほどは JavaScript で完結する世の中になりつつあり、選ばない理由がないという感じですね。
導入ハードルも低く、書きっぷりも楽で多くの現場で通用するので文句なしかなと。
とはいえ半端な知識で扱えてしまうので、しっかりと扱えるプログラマーの数はあまり多く存在しない印象です。
JavaScript(TypeScript) が向いている分野
Webサービス全般・UI開発
Python
JavaScript が Web の中心なら、AI やデータ周りの中心に存在するのが Python です。
生成 AI やデータ分析など、とかくデータを扱う系に特化した言語です。
文法自体が優しく扱える内容の割に学ぶコストはそこまで高くない感じです。
また幅広い用途で使えるため、Python が書ければまだまだ飯は食っていける印象があります。
AI との相性も抜群なので、どんどん世の中の効率化を行っていける、そんな言語かなと。
あと需要の高さの割に市場に人が少なめなので単価が高いのもオススメです。
Python が向いている分野
AI・自動化・データ分析
Go
上記 2 つと比べると少し需要は落ちますが、比較的モダンな言語の Go も結構オススメです。
特にバックエンドを組む際に、Node だとパフォーマンスが…な残り 1 割のケースを埋めてくれるのが強いです。
学びやすく高速なパフォーマンスを発揮してくれるので、これで不安はほぼ解決されるかなと。
ベンチャー系では採用率がそこそこ高いのも良いですね。
Go が向いている分野
API・インフラ・サーバーサイド
特定分野に強く、需要はあるが選択肢としては補助的な言語(おすすめ度:中)
C++
言ってしまえば古い言語ではあるのですが、まだまだ現役バリバリな C++ です。
とくにゲーム分野では根強く使われており、今後もまだまだ使われていくんだろうなーという印象です。
C++ が向いている分野
ゲーム・ハード・リアルタイム処理
C#
こちらもゲーム系では現役バリバリ、Unity は言わずもがな、大手企業アプリでも根強く採用されています。
比較的学びやすい言語で、特定の場面ではめちゃくちゃ強力に使われます。
C# が向いている分野
ゲーム開発(Unity)・Windowsアプリ
Kotlin, Swift
Android 向けのアプリ開発であれば必須となる Kotlin と、iOS 向けの Swift です。
この 2 言語は両方とも習得している方が多い印象です。
アプリ需要自体は少しずつ下がりつつありますが、それでもアプリ開発が不要となることはないと思われます。
なのでアプリを作りたい!という方にはオススメ、というか避けて通ることができない言語かなと。
Kotlin, Swift が向いている分野
Android / iOS アプリ開発
Rust
サーバーサイドは Node と Go で 99% 問題ないと思っているのですが、残りの 1% の需要を満たしてくれるのが Rust です。
海外の大手 Tech を中心に、Go 以上のパフォーマンスを発揮しなければいけないケースでは Rust が最強かなと。
ただ学習コストは高く、尖った分野で使われている印象です。
そういった尖った分野でキャリアを積んでいきたい方にはオススメの言語です。
まずは簡単な CLI ツールから作ってみるのはどうでしょうか。
Rust が向いている分野
セキュリティ・WASM・CLIツール
現場では見かけるが、これから学ぶには向かない言語(おすすめ度:低)
Java
大手企業のサーバーサイドで根強く使われる Java です、一度は耳にしたことがある言語だとは思います。
ただこれから新規で作られるプロダクトで選ばれる可能性はかなり低く、保守以外で使われることはもうあまりないと思われます。
将来性という意味合いではかなり厳しい印象があります。
PHP
これまたまだまだ根強く使われている PHP ですが、こちらもかなりの下火になりつつあり…。
現状は選ぶ理由がないという言語になっており、かなりレガシーと化しつつあります。
Ruby
全盛期はすごかったのですが、今積極的に学ぶ理由はない Ruby です。
日本生まれの言語ということで愛着の強い方も多いと思いますが、今や過去の話かなと。
Perl / VB.NET / Objective-C
レガシーかつ保守専門言語です、選ぶ理由がやはりありません。
あなたの志向から選ぶとしたら?
総括
言語選びの鉄則(新卒向けまとめ)として ChatGPT に聞いてみました。
「何を作りたいか/どの分野に行きたいかで言語は変わる。だけど TypeScript か Python を最初にやっておけばだいたいなんとかなる」
うーん金言、まったく 100% 同感です。
そんな感じです、ちなみに自分は JavaScript(TypeScript)しか書けませんが、需要のおかげでまだなんとか食っていけています。
世間の動向を見つつ、グローバルな視野を持ちつつ、最新の技術のキャッチアップを行いつつ、プログラマーは一生勉強ですね。
生成 AI の登場により、中途半端な知識しか持っていないプログラマーは確実に淘汰されていく時代になりました。
その中でプログラマーとして生き残っていくのは生半可なものでないのかなと、個人的には思います。
とはいえなぜ自分はプログラマーになりたいのか、改めて自分は何を作りたいのか、そこさえブレなければ、多分、おそらく大丈夫、なはず…。