プログラミング言語 I(型システム)
10 問言語を横断する型システムの設計概念を学びます。静的型付けと動的型付け、強い型付けと弱い型付け、型推論、公称型と構造的型、ジェネリクス、null安全などを扱います。
プログラミング言語 II(メモリ管理)
10 問言語を横断するメモリ管理の設計概念を学びます。手動管理とガベージコレクション、参照カウントとトレース方式、所有権、スタックとヒープ、value型とreference型などを扱います。
プログラミング言語 III(パラダイムと評価)
10 問言語を横断するパラダイムと評価戦略の概念を学びます。命令型と宣言型、純粋関数と副作用、不変性、高階関数、クロージャ、遅延評価と正格評価、参照透過性などを扱います。
プログラミング言語 IV(コンパイルと実行方式)
10 問ソースコードが機械語として動くまでの工程を学びます。コンパイラとインタプリタ、AOTとJIT、バイトコードと仮想マシン、字句解析から構文解析・意味解析・コード生成までの流れ、リンクやトランスパイルを扱います。
プログラミング言語 V(並行と並列)
10 問複数の処理を同時に扱う仕組みを学びます。並行と並列の違い、プロセスとスレッド、共有メモリとメッセージパッシング、ロックやデッドロック、非同期処理とイベントループ、goroutineやアクターモデル、PythonのGILなどを扱います。
プログラミング言語 VI(主要言語の特徴)
10 問主要なプログラミング言語を「一番の特徴」で見分ける力を養います。C・C++・Rust・Go・Java・Python・JavaScript・TypeScript・Swift/Kotlin・Haskellなどの代表的な性質を、他言語の特徴と対比しながら学びます。