JetBrainsによる2025年開発者エコシステム調査のデータから、開発者がプログラミング言語を乗り換える際には、主にプロジェクト要件が影響していることが明らかになった。ただし、一部の言語は開発体験、就職機会、またはパフォーマンスを理由にユーザーを引き付けている。8,837件の回答に基づくJetBrainsの分析は、開発者が「実行する予定だ」と答えた内容ではなく、1年間に実際に生じた移行経路を示している。
この分析はVladimir Volokhonskyが作成したもので、参加者が12か月前に使用していた主要言語と、調査回答時点で主要言語になっていた言語を比較している。ある言語を離れることは、その言語の使用を完全にやめることを意味するのではなく、開発者の主要言語ではなくなったことを意味する。
意向から実際の移行へ
JetBrainsは調査の初期段階では、今後12か月の間に採用または移行する予定の言語について質問していた。しかし同社は、計画が実際の移行を正確に予測するわけではないことを発見した。Rustを試したい、またはJavaからKotlinへ移行したいという意欲が、必ずしも実行に移されるとは限らないためだ。
そこで同社は、参加者が1年前に使用していた主要言語について質問を追加し、現在の回答と過去の回答を比較した。分析によると、言語間の移行は複数の経路をたどる可能性があり、最も広く使われている言語間の移行が、件数では依然として最大である。PythonからJavaへ、そして反対方向へ戻る経路が目立った一方、絶対数ではJavaからKotlinへの移行が3番目となった。
成長機会の指標と最も急速に伸びる言語
JetBrainsは、移行のプラスまたはマイナスの傾向が安定しているかどうかと、各言語を学びたい人の数に基づいて、言語の将来的な移行機会を追跡する「言語の有望性指標」を提示した。結果によると、TypeScript、Rust、Python、Goは依然として大きな成長の可能性を持つ一方、Luaは成長が一定の上限に達したとみられ、上位の言語には含まれなくなった。
分析では、TypeScriptとRustが特に目立つ上昇言語だった一方、JetBrainsが成長を予測した言語(Python、Go、Luaなど)の中で、実際の成長が確認されたのはGoだけだった。またデータによると、JavaScriptは全体として最も広く使われているものの、主要言語としているソフトウェア開発者は約6%にすぎない。一方、Javaは主要言語として依然としてより大きな存在感を保っている。
開発者はなぜ自分の言語を離れるのか?
プロジェクト要件は、言語間の移行理由として依然最も一般的である。しかし、離脱の動機は言語によって異なる。
- C:データ上、定着率が最も低かった。前年にCを主要言語としていた人の約半数が別の言語へ移行した。そのうちおよそ半数は「新しい言語を学びたい」という理由を選択し、より新しい機能も一般的な理由として挙げられた。分析では、これは広範な不満、またはその言語が古いという感覚と結び付けられている。それでも、主要言語としてのCの存在感は2年間で大きく変化せず、2.0%から2.1%へ上昇した。また、Cのサンプルは非常に小さく、参加者は100人未満だった。
- 多くの場合、C#から離れることは、労働市場におけるより良い機会と結び付いている。
- PHP:パフォーマンスとスケーラビリティの制約が、PHPからの移行を促す繰り返し現れる動機となっている。
- Java:Javaから離れる開発者はKotlinよりもPythonやTypeScriptへ向かう傾向がある。ただし、JavaからKotlinへの移行は総数では特に目立つ経路の一つだった。
JetBrainsは、KotlinやPHPを含む一部の言語のデータも、100人未満の小規模なサンプルに基づいているため、これらの結果は慎重に扱うべきだと強調している。
開発者を引き付ける言語と連続する経路
JavaScriptは両方向に現れる。一部の開発者は就職機会を求めてJavaScriptから離れ、別の開発者は同じ理由でJavaScriptへ移行している。その成長の重要な部分はHTML/CSS開発者から来ており、HTML/CSSからJavaScript、そしてTypeScriptへ至る連続的な経路を描いている。
一方、Kotlinは、必要に迫られて生じる大半の経路とは異なる。分析によると、開発者はプロジェクトに強制されるからではなく、より良い開発体験と、より現代的な言語機能を求めてKotlinへ移行している。その主な成長源はJavaだが、JavaからKotlinへの開発者の流入は予想より弱く、逆方向の移行も存在している。
Goの魅力はパフォーマンスとスケーラビリティに結び付いている一方、Pythonはエコシステムとライブラリのサポートによって開発者を引き付けている。データは、Pythonがほとんどの言語のユーザーにとって主要な移行先として機能していることを示唆している。ただし、CのユーザーはJavaとC++を、TypeScriptのユーザーはJava、JavaScript、C#を主な移行先として選んだ。
新しい地図が示すもの
分析では、実際の移行を追跡することで、エコシステムのデータが言語の人気を示す静的なスナップショットから、開発者の流れを示す地図へと変わると見ている。プロジェクト要件を満たす必要性によって促される移行もあれば、パフォーマンス、エコシステム、開発体験によって開発者を引き付ける言語もある。
Javaは重要なハブとして現れ、PythonとTypeScriptへの顕著な流出が見られる。一方、TypeScriptとRustは成長機会のある言語の先頭に位置しているようだ。またデータは、ある言語のシェアが安定しているからといって、そのユーザーも必ずしも安定しているわけではないことを示している。その言語は開発者を失うと同時に、別の開発者を受け入れる可能性がある。Kotlinについては、その主な強みは開発者を引き付ける力にあり、プロジェクトが開発者に強いる経路であることではない。