2026-07-12時点の公式Carbon設計・nightly toolchainを基準に、Carbonの言語設計を学びながら、同じ題材をC++23で製品品質まで仕上げるハンズオンです。
Carbonはまだ0.1未到達の実験的言語です。公式nightlyは動きますが、構文・標準ライブラリ・CLIは変更されます。Carbon部分は評価・学習用であり、本番利用を保証しません。
この教材では役割を分けます。
| 領域 | 目的 | 実行保証 |
|---|---|---|
hands-on/carbon/nightly-smoke |
現在のtoolchainを実際にcompile/link/runする | pinned nightlyを基準 |
hands-on/carbon/design-labs |
classes、generics、choice、package設計を学ぶ | design-first。一部は未実装の可能性あり |
hands-on/cpp |
Carbonの狙いをC++23と比較する | GCC 13+/Clang 17+ |
product/loglens |
ストリーミングログ集計CLIを製品品質で実装する | C++23版v1.0.0をテスト済み |
issues |
学習から製品化までの作業をGitHub Issues化する | そのまま転記可能 |
Ubuntu 24.04またはWSL2を推奨します。Carbon nightlyの配布対象は限定されています。
cd carbon-cpp-learning
./scripts/bootstrap-carbon.sh
./scripts/run-carbon-smoke.sh
./scripts/verify.shC++製品だけ先に動かす場合:
cd product/loglens
make test
make release
./build/release/loglens --input samples/access.log- 現在地と制約
- 環境構築
- Carbon構文ハンズオン
- Carbonの設計思想
- Modern C++23比較
- C++相互運用
- LogLensアーキテクチャ
- 8週間プラン
- 公式リソース
- Toolchain設計
- 検証結果
- Product readiness review
- Report schema contract
- Issuesバックログ
- Carbonの
compile→link→実行を自力で説明できる。 let/var、tuple、class、interface、checked generics、choiceをC++と比較できる。- CarbonがC++を置換する完成言語ではなく、段階移行を狙う実験であると説明できる。
- LogLensのparser、aggregator、bounded-memory percentile、CLI、testを変更できる。
- RFC 3339 validation、入力/resource limits、schema versionを説明できる。
- sanitizer、fuzzing、benchmark、SBOM、CI、release buildを含む品質判断ができる。
- 調査基準日: 2026-07-12
- pinned Carbon nightly:
0.0.0-0.nightly.2026.07.11 - syntax driftが起きたらIssue 023のnightly refresh手順を実施する。
教材固有コードはMIT。参照先のCarbonプロジェクトはApache-2.0 with LLVM Exceptionsです。