Introduction
Here in CMSC330, we ask questions all about languages.
- What is a programming language?
- Why do so many exist, when we could (theoretically) use one to solve every problem?
- How can we design and implement a language?
To answer these questions, we do a deep dive of various topics, using the Python, Ocaml, and Rust programming languages. We also discuss classifications of languages, and how to use them to build our own programming language (see Language Theory).