世界を動かす技術を、日本語で。

2025年の主要プログラミング言語

概要

  • プログラミング言語人気ランキング の測定がAIの普及で困難化
  • Python が依然としてトップ、 JavaScript は順位を下げる傾向
  • AIアシスタント の利用増加で公開データからの人気測定が難しくなる問題
  • AIの進化 により言語選択の重要性が低下し、新言語の登場が困難になる可能性
  • 今後のプログラミング言語の未来 と人気指標の再定義が必要

プログラミング言語人気ランキングの現状と変化

  • 2013年から毎年 人気プログラミング言語ランキング を発表
  • IEEE会員の関心を反映した「Spectrum」ランキングでは Python が1位を維持
  • JavaScript は昨年3位から6位に低下、AIの影響が示唆
  • 「Jobs」ランキングでも Python が1位に上昇、 SQL スキルの価値も依然高い
  • 人気の測定には Google検索数、Stack Exchange質問数、GitHub活動量 など複数の指標を統合

AIの普及による人気測定の困難化

  • プログラマーは 公開フォーラム よりも ChatGPTやClaude などのLLMを利用
  • AIアシスタントの活用で 質問投稿数 が減少、Stack Exchangeでは前年比22%まで低下
  • 公開データからの人気測定が 根本的に困難 になる傾向
  • 新たな指標の模索や 直接的な開発者調査 の必要性

AI時代のプログラミング言語の意味の変化

  • AIアシスタント の発展で言語の細部への関心が低下
  • コードの大部分をAIが生成し、 言語選択の重要性が希薄化
  • かつては 用途ごとに適した言語選択 が必要だったが、AIは任意の言語でコード生成可能
  • 多くの開発者にとって 使用言語は些細な違い になる可能性

新言語の誕生とAIの影響

  • かつては 個人や少人数チーム による新言語の普及が可能だった
  • AIは 大量の学習データ を必要とし、利用者が少ない新言語はAI生成の質が低下
  • 新言語の普及障壁 が高まり、現行言語の人気が固定化される可能性

プログラミング言語の未来とプログラマーの役割

  • 高水準言語は 抽象化と安全性 を重視して発展
  • AIが 中間言語への直接変換 を実現すれば、高水準言語の必要性が低下も
  • 今後は アーキテクチャ設計やアルゴリズム選択 が開発者の主な役割
  • コンピュータサイエンスの基礎知識 がより重要に

これからの人気指標と問いかけ

  • プログラミングは 1950年代以来の大変革期 に突入
  • AIによるコード生成が今後も主流となる見込み
  • 新時代における人気指標 や測定手法の再検討が必要
  • 読者に対し「 人気とは何か?どんな指標が有効か?」という問いかけ

補足:

  • 今後のランキングやプログラミング言語の人気指標については 継続的な議論と見直し が求められる状況

Hackerたちの意見

JavaScriptが2位になると思ってたけど、どうやらTypeScriptが票を奪ったみたいだね。個人的にはJavaScriptとTypeScriptはかなり近いから、数字を足してもいいと思ってる。

そうだね、合算するのが真の2位になると思う。

同意だね。いくつか統合してほしい言語があって、その中にはBEAM系の言語も含まれてる。

それからJavaとKotlin、CとC++もアプリ化しよう。おお、JSとTSは2位じゃないんだ!

Haskellがランクインしてるだけでも嬉しいよ!... LabViewと同じくらいのレベルだけど(うーん)。記事自体はあんまり面白くないかな。

HaskellがLabViewと比べられるのはイライラするよね、どんな文脈でも(笑)。

Haskellは少なくとも楽しいよ。お気に入りのJuliaも今年ランクインしたし... ユーザーがゼロじゃないってことは、楽しい言語に希望があるってことだね。新しいIntelとNVIDIAのRTX SoCの契約で、次の数年でPythonとC++がそのリストを支配することが期待できるね。=3

バックエンド開発者として(主にフィンテックで働いてるけど)、移行するターゲット言語が見つからなくて変な感じ。NodeやRubyをしばらく使った後、静的型システムが恋しい。TypeScriptは非厳格性を許可するオプションがあって制限されてたし。目を引くものがないんだよね、Javaや.NETのエンタープライズ系企業か、Goみたいに新しいけど設計上古臭く感じるものばかり。Rustは楽しそうだけど、自分のバックグラウンドとはあまり合わない。何かアドバイスある?

janestreetのやり方を参考にして、OCamlを使ってみて。Rustも汎用言語だから、ほぼどんな問題にも使えない理由はないよ。

Javaは、ゆっくりだけど、文法的に良い言語に成長してきてるし、多くの中小企業の基盤になってるよ。JSやRuby、Python以外を使ってる小さな会社は見つけるのが難しいかも。これらの会社は、パフォーマンスよりもエンジニアリングのスピードやコストに重きを置いてるんだろうね。だから、インタプリタ言語の数が「エンタープライズ系」や「パフォーマンス系」の言語よりも多いのかもしれない。

同じ気持ちだし、Gleamがこの基準に最も合った言語だと思う。GoのシンプルさとKotlinの使いやすさを兼ね備えてるよね。

Rustは汎用的な言語だよ。何にでも使えるけど、仕事には最適なツールを使うべき。エコシステムも大事だし、何を作るつもりなの?

Hacker Newsで議論の続きを見る