In this course on programming languages, we examine programming languages
from a multi-paradigm approach.
By this, we mean that we look at languages in the whole, rather than
in the parts.
We choose languages that exemplify different points in the design
space of programming language design.
We will write lots of programs in several different programming
languages.
We will approach each language by first examining it in its essential
form, stripped of its particular syntactic expression.
Then we will examine its implementation in comparison to other
programming languages.
Then we will write programs in the syntax and environment of the real
language, giving a better feel for the languages role in a broader
context.