SJ blog
tools
A

信頼度ランク

S 公式ソース確認済み
A 成功実績多数・失敗例少数
B 賛否両論
C 動作未確認・セキュリティリスク高
Z 個人所感

TIOBE 2026年5月——Java が3位復帰・R が史上最高位・Zig がトップ30に迫る言語地図の変化

TIOBE 2026年5月版でJavaが4位→3位に返り咲き、Rが8位と史上最高位を更新。Zig はトップ30に初めて接近。Java 26の成功と統計・AI需要がランキングを動かしている。

一言結論

TIOBE 2026年5月は Java が Java 26 の成功を受けて3位に返り咲き、R が統計・AI需要で8位と史上最高位に達した。Zig はシステム言語として成熟し初のトップ30に迫る。Python は1位を守りつつ評価率は微減傾向が続く。

2026年5月のTIOBE概要

毎月公開される TIOBE プログラミングコミュニティインデックスの2026年5月版に、注目すべき変化が複数現れた。

TIOBE 2026年5月 トップ10:
  1. Python       — 1位維持(ただし評価率は微減)
  2. C            — 2位維持
  3. Java         — 3位(先月: 4位)← 返り咲き
  4. C++          — 4位(先月: 3位)
  5. C#           — 5位維持
  6. JavaScript   — 6位維持
  7. Visual Basic — 7位維持
  8. R            — 8位(史上最高位)← 新記録
  9. SQL          — 9位(先月: 8位)
 10. Delphi       — 10位維持

注目ランク外:
  Zig — 初めてトップ30に接近中

Java が3位に返り咲いた理由

Java 26 のリリース効果(2026年3月17日)

Java 26 が3月にリリースされた後、検索・参照数が増加し、TIOBEの評価手法に反映された形だ。

Java 26 に含まれる10のJEP(Java Enhancement Proposal)のうち、開発者への実用的インパクトが大きいものを整理する。

Java 26 主要 JEP(2026年3月リリース):

JEP 516: AOT オブジェクトキャッシュの拡張
  - 任意のGCで動作するようになった(ZGCも含む)
  - Project Leyden の一部:起動からフルパフォーマンスまでの
    ウォームアップ時間を削減するのが目標
  - GCに依存しない汎用フォーマットでキャッシュオブジェクトを
    逐次ロード

JEP 522: G1 GC スループット改善
  - G1 GC(HotSpot デフォルト)のGCスレッドとアプリスレッド間の
    同期オーバーヘッドを削減
  - オブジェクト参照を大量に変更するワークロードで 5〜15% 向上
  - その他のワークロードでも最大 5% 向上

JEP 514: HTTP/3 サポート
  - HttpClient API に HTTP/3 プロトコルサポートを追加
  - QUIC トランスポート(TCP ではなく UDP ベース)
  - 利点: より速いハンドシェイク、HoL ブロッキングの回避、
    パケットロスが多い環境での信頼性向上

JEP 455: パターン内のプリミティブ型(第4プレビュー)
  - instanceof・switch でプリミティブ型が使えるようになる
  - 第4プレビューのため API は未確定
  - 次の LTS (Java 27 または 29) で正式化の見通し

JEP 513: 構造化並行性(第6プレビュー)
  - 並行タスクをライフタイムで束ねる抽象

JEP 496: Java Applet API の削除
  - 長年非推奨だった Applet API がついにコアから除去
  - 依存コードがある場合は対応が必要
// Java 26: HTTP/3 を明示的に指定する例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpClient.Version;

var client = HttpClient.newBuilder()
    .version(Version.HTTP_3)  // Java 26 で有効化
    .build();

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://example.com/api"))
    .GET()
    .build();

var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
// Java 26: パターン内のプリミティブ型(第4プレビュー)
// --enable-preview フラグが必要
Object obj = 42;

switch (obj) {
    case int i when i > 0 -> System.out.println("正の整数: " + i);
    case int i             -> System.out.println("非正の整数: " + i);
    case String s          -> System.out.println("文字列: " + s);
    default                -> System.out.println("その他");
}
// Java 25 以前: int はプリミティブなので switch のパターンに使えなかった

R が史上最高位8位を記録した背景

R は2026年5月に8位を記録し、TIOBEに登場以来の最高位を更新した。

R の上昇要因:
  1. AI・機械学習研究での統計解析需要の増加
     → 特に生命科学・医療・ゲノミクス分野でのデータ分析
     → Python と R を併用する研究者・データサイエンティストが増加

  2. Posit(旧 RStudio)エコシステムの成熟
     → tidyverse / ggplot2 / Quarto の完成度向上
     → Python との連携(reticulate パッケージ)が容易に

  3. 学術論文・統計解析での de facto standard 地位の確立
     → FDA(米食品医薬品局)の医薬品承認統計でのR利用が拡大
     → NeurIPS・ICML 等の論文付属コードにR実装が増加

  4. WebAssembly 対応による新しい利用形態
     → webR プロジェクトでブラウザ上でR が動作
     → インタラクティブな統計可視化のデプロイが容易化

Zig がトップ30に初めて接近

Zig は今月初めてTIOBEトップ30に接近した。C の代替・Rust の代替として独自の地位を築きつつある。

Zig 0.16 の主要な変化

Zig 0.16 の注目機能:

1. 非同期 I/O の抜本的刷新(std.Io)
   - 「関数カラーリング」問題の解消
   - async/await なしに非同期と同期を切り替え可能
   - バックエンド選択:
     std.Io.Threaded  → OSスレッド(CLIツール・デスクトップ向け)
     std.Io.Evented   → io_uring(Linux)/ GCD(macOS)
                       高スループット:Webサーバー向け

2. 型解決の再設計
   - コンパイラが不要な解析を削減
   - インクリメンタルビルドの高速化
   - 依存ループのエラーメッセージが明確に

3. コンパイル速度の大幅改善
   - x86_64 self-hosted バックエンドで
     コンパイル時間が 75秒 → 20秒 に短縮
// Zig 0.16: std.Io を使った非同期-同期切り替え可能な実装例
const std = @import("std");

pub fn main() !void {
    // Threaded バックエンドを使う場合(OS スレッド)
    // const io = std.Io.Threaded.init(.{});

    // Evented バックエンドを使う場合(io_uring)
    const io = std.Io.Evented.init(.{});

    // 同じコードがどちらのバックエンドでも動く
    // 「関数カラーリング」がないので async キーワード不要
    var file = try io.open("hello.txt", .{ .read = true });
    defer file.close();

    var buf: [1024]u8 = undefined;
    const n = try file.read(&buf);
    std.debug.print("{s}\n", .{buf[0..n]});
}

Zig が注目される理由

C/C++ と比べた Zig の強み:
  ✅ C との相互運用性(C ヘッダーを直接 import)
  ✅ ビルドシステムが言語に内蔵(CMake 不要)
  ✅ undefined behavior のコンパイル時検出
  ✅ クロスコンパイルが標準ツールチェーンで完結
  ✅ 簡潔な言語仕様(Rust より学習コストが低い)

Rust と比べた差別化:
  ✅ 借用チェッカーなし(学習コストが低い)
  ✅ メモリ管理が明示的で予測可能
  ❌ Rust ほどのエコシステム成熟度はない
  ❌ 1.0未満のため API が変わる可能性(1.0は2026年内の見込み)

Python:首位維持も評価率は微減傾向

Python は1位を維持しているが、TIOBEの評価率(評価システムにおける検索参照割合)は緩やかに下がっている。

Python の評価率推移(概算):
  2024年初:   約 19%
  2025年初:   約 17%
  2026年5月:  約 15%(首位は維持)

下降の仮説:
  - 「Python を覚える」から「AI/LLMを使う」へのシフト
  - データサイエンス以外でも使われる言語が増え、シェアが分散
  - TypeScript / Rust / Zig などの検索が増加

首位維持の理由:
  - AI/MLツールの事実上の標準言語
  - 教育・データ解析での圧倒的シェア
  - ライブラリエコシステム(PyPI)の充実度

開発者・採用担当者へのインプリケーション

スキル投資の視点:
  Java     → 26で刷新、企業バックエンドで引き続き需要大
  R        → AI/ML研究・ゲノミクス・統計専門職で需要増
  Zig      → C/C++開発者にとって将来の選択肢になりつつある
             組み込み・OS・ゲームエンジン開発に注目
  Python   → 首位だが「書ける」より「何を作れるか」が問われる時代

採用市場での変化:
  - Java 26 を使いこなせる人材の需要が増加見込み
  - R × Python バイリンガルなデータサイエンティストへの需要
  - Zig 1.0(2026年内)前後でのシステムプログラマー需要に注目

落とし穴・注意点

  • TIOBEはポピュラリティ指標であり生産性指標ではない: 検索エンジンの参照数をベースにしているため、「話題になっている」と「実際に使われている」は別の話。GitHub Octoverse や Stack Overflow Developer Survey と併せて参照すること
  • Java 26 は LTS ではない: サポート期限は2026年9月まで。長期利用するなら Java 21 LTS(〜2028年)または次のLTSを選ぶこと。Java 26の機能をプレビューとして試すのが現実的な使い方
  • Zig 1.0 前のプロダクション利用はリスクあり: 0.16.0 リリースノートを見ると多くの破壊的変更が残っており、1.0 前のバージョンはプロダクションより学習・実験目的が適している

まとめ・参考リンク

TIOBE 2026年5月は「Java の復活」「R の躍進」「Zig の台頭」が重なったランキングだ。Java 26のHTTP/3・G1 GC改善・AOTキャッシュは、Javaエコシステムが停滞していないことを示す。Rの史上最高位はAI・統計研究需要の拡大を映している。Zig 0.16の非同期I/O刷新は、C の後継候補として成熟しつつある言語の実力を示している。

参考リンク:

注意事項: TIOBE の具体的な評価率数値は推定であり、公式サイトの最新版を参照すること。Java 26 のベンチマーク数値(G1 GC 5〜15%)はOpenJDK公称値。実際の改善効果はワークロードに依存する。Zig の1.0リリース時期は公式ロードマップに基づく見込みであり、変更される可能性がある。