Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 145 additions & 0 deletions summary/20260422_000856_golang_trend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
# Go言語トレンドサマリー (2026年4月)

## 1. 最新バージョンと主要機能

### Go 1.26 (2026年2月リリース) — 最新安定版

- **Green Tea GC がデフォルト化**: Go 1.25で実験的に導入された新ガベージコレクタがデフォルトに昇格
- **自己参照ジェネリクス型**: ジェネリクス型が自身の型パラメータリスト内で自己参照可能に
- **`new()` に初期値指定**: 組み込み `new` 関数で初期値を指定可能に
- **`go fix` リライト**: Go analysis frameworkを活用した数十の "modernizer" アナライザで既存コードを最新言語機能にアップグレード
- **cgo オーバーヘッド 30% 削減**: cgo呼び出しのベースラインオーバーヘッドを約30%削減
- **ヒープアドレスランダム化**: 64bitプラットフォームでランタイムが起動時にヒープベースアドレスをランダム化(セキュリティ強化)
- **新パッケージ**: `crypto/hpke`, `crypto/mlkem/mlkemtest`, `testing/cryptotest`
- **ゴルーチンリークプロファイリング(実験的)**: `runtime/pprof` に新プロファイルタイプ追加
- **スタック割り当てスライス**: コンパイラがより多くの状況でスライスバッキングストアをスタック上に割り当て可能に

### Go 1.25 (2025年8月リリース)

- **実験的 JSON v2**: `GOEXPERIMENT=jsonv2` で新JSON実装が利用可能
- **core types 概念の削除**: Go 1.18で導入されたジェネリクスの "core types" を仕様から削除し、大幅に簡素化
- **DWARF 5 デバッグ情報**: バイナリサイズ削減とリンク高速化
- **`-asan` によるリーク検出**: C割り当てメモリのプログラム終了時メモリリーク検出

### Go 1.24 (2025年2月リリース)

- **ジェネリクス型エイリアス**: 型エイリアスがパラメータ化可能に
- **ツール依存関係追跡**: `go.mod` に `tool` ディレクティブ追加(`tools.go` ワークアラウンド不要に)
- **Swiss Tables マップ実装**: 高パフォーマンスな新ビルトインマップ実装
- **ポスト量子暗号**: TLSでECHおよびX25519MLKEM768鍵交換をデフォルト有効化
- **WebAssembly**: `go:wasmexport` ディレクティブ、WASIリアクタ/ライブラリモジュールのビルドサポート
- **`os.Root` 型**: 特定ディレクトリにスコープされたファイルシステム操作
- **`testing/synctest`(実験的)**: フェイクロックと分離ゴルーチン "バブル" による並行コードテスト

---

## 2. ジェネリクスの進化

| バージョン | 変更内容 |
|-----------|---------|
| Go 1.18 (2022年3月) | ジェネリクス初導入、"core types" 概念 |
| Go 1.24 (2025年2月) | ジェネリクス型エイリアス追加 |
| Go 1.25 (2025年8月) | "core types" 概念を仕様から完全削除・簡素化 |
| Go 1.26 (2026年2月) | 自己参照ジェネリクス型サポート |
| Go 1.27 (2026年8月予定) | **ジェネリクスメソッド承認**(提案 #77273、2026年3月承認) |

Go 1.27でのジェネリクスメソッド導入は、2022年のジェネリクス導入以来最大の進化であり、具体的なメソッド宣言に型パラメータを含めることが初めて可能になる。
Comment on lines +44 to +46
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify Go proposal `#77273` for generic methods
# Check if the proposal exists and its current status

gh api repos/golang/go/issues/77273 --jq '{number, title, state, labels: [.labels[].name]}'

Repository: tknry1216/tk-core

Length of output: 201


🌐 Web query:

Go proposal 77273 generic methods approval status 2026

💡 Result:

Go proposal #77273 for generic methods (spec: generic methods for Go) has been accepted. The GitHub issue carries the Proposal-Accepted label and is open in the Backlog milestone, indicating post-acceptance implementation tracking. Acceptance occurred around early April 2026, as evidenced by comments on April 11, 2026 expressing gladness at the transition to accepted. As of April 22, 2026, it is not yet implemented in any released Go version (Go 1.26 release notes from February 2026 do not mention it, and it is planned for potential inclusion in Go 1.27). The feature adds support for type parameters in concrete method declarations, enabling syntax like func (r Receiver) MethodT any return, while remaining backward-compatible. It does not yet support generic interface methods.

Citations:


Correct the proposal approval date from March to April 2026.

Proposal #77273 for generic methods was accepted in early April 2026 (with transition confirmed on April 11, 2026), not March 2026. Update "2026年3月承認" to "2026年4月承認" on line 44.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@summary/20260422_000856_golang_trend.md` around lines 44 - 46, Update the
approval month for proposal `#77273` in the summary text: find the table row
containing "ジェネリクスメソッド承認(提案 `#77273`、2026年3月承認)" and change "2026年3月承認" to
"2026年4月承認" so the sentence reads that the proposal was approved in April 2026.


---

## 3. コミュニティと採用状況

### TIOBE Index・市場動向

- **TIOBE Index 7位**(2025年4月時点、過去最高順位)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Update TIOBE ranking date or clarify if historical data.

The TIOBE ranking is stated as "2025年4月時点" (as of April 2025), but this document is dated April 2026. Consider updating this to the current 2026 ranking or explicitly noting that this is historical data from one year ago.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@summary/20260422_000856_golang_trend.md` at line 54, The TIOBE line "**TIOBE
Index 7位**(2025年4月時点、過去最高順位)" is inconsistent with the doc date; either update
the parenthetical date to the current ranking date (e.g., "2026年4月時点") and
verify the rank value, or explicitly mark it as historical by changing the text
to indicate it's a past ranking (e.g., "(2025年4月時点の過去最高順位)"); make the change
where that exact string appears so readers know whether the rank is current or
historical.

- 世界の開発者の **13.5%** がGoを利用(Stack Overflow Developer Survey)
- Python、TypeScriptに次ぐ **成長速度第3位** の言語
- Go開発者の中央値年収は **$75,361**、米国シニアロールで最大 **$500,000**
- **11%** のソフトウェア開発者が今後12ヶ月以内にGoの採用を予定

### Go Developer Survey 2025 (2026年1月公開、回答者5,379名)

- **満足度91%**(約2/3が「非常に満足」)
- **主要プロジェクト種別**: CLIツール (74%)、API/RPCサービス (73%)、ライブラリ/フレームワーク (49%)
- **AI開発ツール利用**: 多数が利用するも満足度は中程度(「非常に満足」13%、「やや満足」42%)。不満点: 非機能コード生成 (53%)、低品質コード (30%)
- **主な不満**: Goベストプラクティス/イディオムの遵守 (33%)、他言語の機能不足 (28%)、信頼できるモジュール発見 (26%)
- **開発環境**: macOS (60%)、Linux (58%)。デプロイ先: Linux (96%)
- **エディタ**: VS Code (37%)、GoLand/IntelliJ (28%)、Vim/NeoVim (19%)

Comment on lines +54 to +68
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

TIOBE Index Go ranking April 2026

💡 Result:

In the April 2026 TIOBE Index, Go (Golang) is ranked #15 with a rating of 1.09% (down 1.92% from the previous month, from #7).

Citations:


🌐 Web query:

Go Developer Survey 2025 results satisfaction 91%

💡 Result:

Yes, the official 2025 Go Developer Survey results confirm that 91% of respondents said they felt satisfied while working with Go. Almost two-thirds (about 66%) were "very satisfied". The survey was conducted from September 9-30, 2025, with 5,379 valid responses from 7,070 total. This is stated directly in the Go team's official blog post published January 21, 2026.

Citations:


🌐 Web query:

Stack Overflow Developer Survey 2026 Go usage statistics

💡 Result:

Stack Overflow Developer Survey 2026 Go usage statistics: I couldn’t find a “2026 Stack Overflow Developer Survey” release/results page with Go language usage metrics. The latest authoritative Stack Overflow Developer Survey results available are for 2025 (published on the Stack Overflow survey site), which include Go usage. Using the latest available Stack Overflow Developer Survey (2025) as the closest grounded proxy: 1) Go usage (programming languages “Have used”): 16.4% of respondents reported having used Go. 2) Go usage (programming languages “Want to use”): In the same survey’s “Want to use” list, Go appears at 13.1%. These figures come from the survey’s “Technology” section where programming languages are listed with “Have used” and “Want to use” percentages. Note: If you meant a different “2026” artifact (e.g., a forecast, a YouTube summary, or a different Stack Overflow dataset), tell me which one and I’ll re-check.

Citations:


🌐 Web query:

TIOBE Index Go ranking April 2025 historical

💡 Result:

TIOBE Index (Programming Community Index) — Go ranking for April 2025: - Position: 7th - Rating: 3.02% (“Apr 2025” column shows Go at position 7 with rating 3.02% and its month-over-month change listed as +1.17.) Historical context (as stated on TIOBE’s Go page): - Highest position since 2009: #7 (in Jul 2025) - Lowest position since 2009: #122 (in May 2015)

Citations:


🌐 Web query:

Go developer salary median salary survey 2025 2026

💡 Result:

The median salary for Go developers in 2025-2026 varies by region and source, with US-focused data clustering around $120,000-$122,000 annually. No specific median from the official 2025 Go Developer Survey (5,379 respondents, mostly professional Go users) as salary data is not highlighted in summaries; raw dataset planned for Q1 2026 release. Stack Overflow 2025 survey lists median for general back-end developers at $79,742 globally (US higher, e.g., engineering manager $200k), but no Go-specific figure. US medians/averages from 2026 sources: - $120,000 (Jobicy, Talent.com) - $122,363 total pay (Glassdoor) - $120,233 (Talent.com) Global/Remote ranges from Golang.cafe: mid-level $115k-$175k, US $145k-$300k (ranges, not explicit medians). Japan freelance average ~$67,000 (998万円, converted approx. at 150 JPY/USD). Sources converge on ~$120k US average/median for Go developers in 2026 data.

Citations:


🌐 Web query:

"11%" software developers Go adoption 2026 survey

💡 Result:

No 2026 survey reports 11% Go adoption among all software developers. The closest is the 2025 Stack Overflow Developer Survey, where Go has 16.4% usage among respondents (likely professional developers). The official 2025 Go Developer Survey (published Jan 2026) reports 11% of Go developers work with ML models/tools/agents, and "Other" cloud deployment at 11%, but not overall adoption. JetBrains 2025 survey ranks Go high in promise index, with 11% wanting to adopt it next. Go adoption is around 13-17% in recent surveys, not 11%.

Citations:


🌐 Web query:

Stack Overflow Go language usage percentage 2025 exact statistic

💡 Result:

In the 2025 Stack Overflow Developer Survey, the usage percentage for the Go programming language (among technologies respondents have worked with) is 16.4%. This is from the "Most popular technologies" section on programming, scripting, and markup languages, based on 31,771 responses (64.8% of total survey respondents). Go ranks 15th in this list, following PHP at 18.9% and ahead of Rust at 14.8%.

Citations:


Correct Stack Overflow usage statistic and developer salary data.

The document contains material inaccuracies in key statistics:

  • Stack Overflow usage: Document claims 13.5%, but the 2025 Stack Overflow Developer Survey reports 16.4% of respondents have worked with Go. This is a significant discrepancy.
  • Developer salary: Document claims $75,361 as median Go developer salary, but current 2025–2026 surveys consistently report $120,000–$122,363 USD median. The $75,361 figure appears outdated or from a different dataset.
  • Adoption rate: The "11% planning Go adoption in next 12 months" statistic needs clarification. Current surveys show Go adoption around 13–17%, not 11%. Verify whether this refers to a specific surveyed population (e.g., JetBrains survey context) or if the statistic is misrepresented.

The TIOBE ranking (#7 April 2025), Go Developer Survey satisfaction (91%, 5,379 respondents), and survey publication date (January 2026) are confirmed accurate.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@summary/20260422_000856_golang_trend.md` around lines 54 - 68, The document
contains inaccurate statistics: update the "世界の開発者の **13.5%** がGoを利用(Stack
Overflow Developer Survey)" line to the correct Stack Overflow figure (16.4%),
replace the "Go開発者の中央値年収は **$75,361**" salary figure with the current median
(~$120,000–$122,363) from 2025–2026 surveys, and clarify or correct the "
**11%** のソフトウェア開発者が今後12ヶ月以内にGoの採用を予定" adoption line (verify whether it referred
to a specific survey or replace with the 13–17% range), ensuring each updated
bullet cites the exact source and year (e.g., "Stack Overflow Developer Survey
2025" or specific salary survey) adjacent to the statistic for traceability.

---

## 4. 人気フレームワーク・ライブラリ

### Web フレームワーク

| ランク | フレームワーク | 特徴 |
|-------|-------------|------|
| 1 | **Gin** | 最も人気の高いGoウェブフレームワーク、Martiniの最大40倍の性能 |
| 2 | **Beego** | 28,000+ GitHub Stars、エンタープライズ向け |
| 3 | **Echo** | ミニマリスト設計、RESTful API向け |
| 4 | **Chi** | `net/http` と `context` 上に構築、標準ライブラリとの高い親和性 |
| 5 | **Hertz** | CloudWeGoによる高性能HTTPフレームワーク、クラウドネイティブ最適化 |

> **注目**: `net/http` 標準パッケージは引き続きGo開発者の最も一般的なルーティング選択肢。

### その他の注目ツール・ライブラリ

- **log/slog** (stdlib): 標準構造化ロギングライブラリ(Go 1.21以降)
- **golangci-lint**: CI/CD・ローカル開発のデファクトリンターランナー

---

## 5. AI / 機械学習エコシステム

2026年、GoはAI/ML分野で大きな成長を遂げている。特に**プロダクション環境でのデプロイ、AIツーリング、エージェントフレームワーク**の領域で急成長。

### 主要AIエージェントフレームワーク

| フレームワーク | 開発元 | 特徴 |
|-------------|--------|------|
| **Eino** | ByteDance / CloudWeGo | GoネイティブLLMアプリフレームワーク。ChatModel, Tool, Retriever, Embedding等のコンポーネント抽象化。OpenAI, Claude, Gemini, Ollama等対応。マルチエージェントオーケストレーション |
| **LangChain Go** | コミュニティ | LangChainのGo移植版。モジュラーチェーン、ローダー、リトリーバー |
| **Google ADK** | Google | エンタープライズ向けエージェント開発キット |
| **Firebase Genkit** | Google | AIアプリケーションの高速プロトタイピング |

### 機械学習ライブラリ

- **GoMLX**: Jan Pfeifer開発の高速MLフレームワーク、OpenXLAバインディング(CPU, GPU(NVIDIA), TPU対応)
- **Gorgonia**: ニューラルネットワーク / ディープラーニングライブラリ(GoのTensorFlow相当)
- **Gonum**: 数値計算ライブラリ
- **Golearn**: 汎用機械学習ライブラリ

---

## 6. WebAssembly / WASI

### 現状 (Go 1.24+)

- `go:wasmexport` ディレクティブでGoの関数をWasmホストにエクスポート可能
- WASIリアクタ/ライブラリとしてのビルドサポート(初期化後もプログラムが存続)

### WASIp3 / WASI 0.3 (2026年初頭予定)

- `wasip3/wasm` としてGoポートの提案が提出済(`GOOS=wasip3 GOARCH=wasm`)
- WASIp3は**イディオマティックなゴルーチン**をサポートする初のWASIマイルストーン
- 個々のゴルーチンがI/Oやスリープでブロックしても他のゴルーチンをブロックしない
- 異なる言語間のコンポーザブル並行性
- ゼロコピーデータ処理による高性能ストリーミング

Comment on lines +121 to +128
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Go WASIp3 WASI 0.3 support status April 2026

💡 Result:

As of April 2026, the Go compiler does not support WASIp3 (WASI 0.3). Official support remains limited to GOOS=wasip1 (WASI Preview 1), introduced in Go 1.21. A proposal to add GOOS=wasip3 support (golang/go#77141) was opened in January 2026 and remains open without implementation or acceptance. Even support for intermediate WASI Preview 2 (GOOS=wasip2, golang/go#65333) is still in the backlog. WASI 0.3 itself has progressed to release candidates (e.g., v0.3.0-rc-2026-03-15), with experimental runtime support in tools like Wasmtime and wasmCloud, but Go lacks a native port.

Citations:


🌐 Web query:

Go wasip3 GOOS proposal goroutine support 2026

💡 Result:

There is an open Go proposal (Issue #77141, filed January 2026) to add a GOOS=wasip3/wasm port that would enable idiomatic goroutine support in WASI Preview 3 (WASIp3). The proposal explicitly states that "P3's concurrency support means it's the first WASI milestone to support idiomatic use of goroutines. Unlike with P1 and P2, a given goroutine can block on I/O, sleep, etc. without blocking other goroutines." It outlines a two-step plan: Step 0 adds a temporary runtime.wasiOnIdle function for experimentation with wit-bindgen-go bindings; Step 1 implements full GOOS=wasip3 support with concurrency-aware I/O and networking. As of April 22, 2026, the proposal remains open (labeled Proposal, milestone Proposal, last updated March 2026) with positive early feedback but no acceptance or implementation yet. Current Go supports GOOS=wasip1 (since Go 1.21), where host calls block all goroutines due to Wasm's single-threaded nature. wasip2 (Issue #65333) is also open in Backlog without goroutine support. No Go release notes (up to 1.26) mention wasip3.

Citations:


Clarify WASIp3 proposal status and update timeline. As of April 2026, the proposal to add GOOS=wasip3 support to Go (golang/go#77141, filed January 2026) remains open with no acceptance or implementation. The document's claim that WASIp3 is "planned for early 2026" is outdated; update to reflect that the proposal is still under discussion. Additionally, clarify that the features described—idiomatic goroutine support, zero-copy data processing, and composable concurrency—are proposed features in the open proposal, not confirmed features of Go's wasip3 implementation.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@summary/20260422_000856_golang_trend.md` around lines 121 - 128, Update the
"WASIp3 / WASI 0.3 (2026年初頭予定)" section to reflect that the wasip3/wasm
GOOS=wasip3 proposal (golang/go#77141, filed January 2026) is still open as of
April 2026 and not accepted or implemented; change the timeline phrase "planned
for early 2026" to indicate "under discussion" or "proposal open (April 2026)".
Also revise the bullets that assert features—particularly the lines mentioning
"イディオマティックなゴルーチン", "ゼロコピーデータ処理による高性能ストリーミング", and "異なる言語間のコンポーザブル並行性"—to state
these are proposed features in the open proposal rather than confirmed
implementation details.

### WASI 1.0

- 2026年後半〜2027年初頭をターゲット

---

## 7. 今後の注目ポイント

1. **Go 1.27 (2026年8月予定)**: ジェネリクスメソッドの導入が最大の目玉。複雑なデータ構造やインターフェース設計のパターンが大きく変わる可能性
2. **AI エージェント開発**: GoでのLLMアプリケーション構築が本格化。Eino, LangChain Goを中心としたエコシステムの成熟
3. **WASI 1.0**: WebAssemblyのポータブルランタイムとしてGoの適用範囲がさらに拡大
4. **Green Tea GC の成熟**: 新GCによるレイテンシ・スループットの改善がプロダクション環境で実証されていく
5. **ポスト量子暗号**: Go標準ライブラリでのポスト量子暗号サポートが業界をリード

---

*調査日: 2026年4月22日*