プログラミングと言語

ページ一覧

このセクションで扱うこと

プログラミングと言語は、コードを書く行為そのものを理解するためのセクションです。文法を覚えるだけではなく、型、抽象化、処理系、メモリ、安全性、並行性を通じて、なぜ言語ごとに書き味や設計の向き不向きが変わるのかを扱います。

言語を比較するときは、人気や好みだけでは足りません。静的型付けか動的型付けか、所有権を持つかGCに任せるか、並行処理をどう表すか、標準ライブラリやエコシステムが何を重視するかを見ることで、技術選定の理由を説明しやすくなります。

flowchart LR A["ソースコード"] --> B["構文と型"] B --> C["実行モデル"] C --> D["メモリ管理"] C --> E["並行性"] B --> F["抽象化"] F --> G["言語ごとの設計思想"] D --> H["安全性"] E --> H

読み進め方

最初は プログラミング言語概論 で全体像をつかみ、次に オブジェクト指向プログラミング関数型プログラミング型システムとプログラミング原則 を読むと、設計の言葉が増えます。

処理系に関心がある場合は、コンパイラアセンブラメモリ安全性 へ進むと、ソースコードが実行されるまでの流れを追えます。

言語の考え方を起点に読む

処理系を中心に読む

  • コンパイラ: 字句解析、構文解析、型検査、最適化、コード生成を学びます。
  • アセンブラ: 機械語に近い表現から、命令、レジスタ、呼び出し規約を見ます。

実装技術を中心に読む

まとめ

プログラミング言語を学ぶ目的は、構文を増やすことだけではありません。言語がどの抽象化を助け、どの失敗を防ぎ、どの制約を受け入れているかを読むことで、コード設計と技術選定の解像度が上がります。

参考文献