Programming Languages

Syntax and Parsing

Semantics and Transformations

Functions

Mutation and State

Parallel and Concurrent

Type Checking

Objects

Lazy Evaluation