はじめに

プログラミング言語の構文差を体系的に理解するには、個別の記号やキーワードを覚える前に、すべての言語が共通して解決しようとしている問題を理解することが重要です。

本書では、主要な比較軸を次のように整理します。

  1. 値と型
  2. 変数と状態
  3. 制御構造
  4. データ構造
  5. 関数
  6. 抽象化
  7. null・欠損
  8. エラー処理
  9. 不変性と副作用
  10. メモリ管理
  11. ジェネリクスと多相
  12. メタプログラミング
  13. モジュールと可視性
  14. 非同期処理と並行性
  15. コンパイル・実行モデル

後半では、旧世代から現代言語への共通変化と、新しい言語を学ぶときの確認項目をまとめます。