-
Notifications
You must be signed in to change notification settings - Fork 0
Add Go language trend summary 2026-04-22 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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年のジェネリクス導入以来最大の進化であり、具体的なメソッド宣言に型パラメータを含めることが初めて可能になる。 | ||
|
|
||
| --- | ||
|
|
||
| ## 3. コミュニティと採用状況 | ||
|
|
||
| ### TIOBE Index・市場動向 | ||
|
|
||
| - **TIOBE Index 7位**(2025年4月時点、過去最高順位) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 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 |
||
| - 世界の開発者の **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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result: In the April 2026 TIOBE Index, Go (Golang) is ranked Citations:
🌐 Web query:
💡 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:
💡 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:
💡 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: Citations:
🌐 Web query:
💡 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:
💡 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:
💡 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:
The TIOBE ranking ( 🤖 Prompt for AI Agents |
||
| --- | ||
|
|
||
| ## 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
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 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:
💡 Result: There is an open Go proposal (Issue 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 |
||
| ### 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日* | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: tknry1216/tk-core
Length of output: 201
🌐 Web query:
Go proposal 77273 generic methods approval status 2026💡 Result:
Go proposal
#77273for 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
#77273for 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