Skip to content

Repository files navigation

Carbon × Modern C++ 実践ラボ

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化する そのまま転記可能

5分で開始

Ubuntu 24.04またはWSL2を推奨します。Carbon nightlyの配布対象は限定されています。

cd carbon-cpp-learning
./scripts/bootstrap-carbon.sh
./scripts/run-carbon-smoke.sh
./scripts/verify.sh

C++製品だけ先に動かす場合:

cd product/loglens
make test
make release
./build/release/loglens --input samples/access.log

学習順

  1. 現在地と制約
  2. 環境構築
  3. Carbon構文ハンズオン
  4. Carbonの設計思想
  5. Modern C++23比較
  6. C++相互運用
  7. LogLensアーキテクチャ
  8. 8週間プラン
  9. 公式リソース
  10. Toolchain設計
  11. 検証結果
  12. Product readiness review
  13. Report schema contract
  14. Issuesバックログ

完了条件

  • Carbonのcompilelink→実行を自力で説明できる。
  • 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です。

About

Carbon nightly and Modern C++23 hands-on lab with the production-grade LogLens CLI

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages