Programming Languages

Why are there so many programming languages, and what really separates them? Underneath the surface syntax, every language is a set of deep choices — about types, evaluation, memory and meaning — and programming-language theory is the study of those choices. Learn it and you stop memorising the quirks of one language and start seeing the handful of ideas they are all built from.

This branch covers syntax versus semantics, type systems and type inference, the paradigms (imperative, object-oriented, functional, logic), the lambda calculus at the root of it all, evaluation strategies, garbage collection — and building your own interpreter to prove you understand.