While many programming courses focus on the syntax of Python, Java, or C++, 15312 asks a more fundamental question: What is 15312 All About?
Imagine a sentence in English: “Colorless green ideas sleep furiously.” It’s grammatically correct but meaningless. Similarly, a program can be syntactically correct but nonsensical. 15312 foundations of programming languages
With BNF, we could now generate all valid programs and reject the invalid ones. Parsers—tools that check syntax—became the first gatekeepers of every programming language. While many programming courses focus on the syntax
Each method reveals different truths. Operational semantics is good for implementation. Denotational semantics is good for compositionality. Axiomatic semantics is good for reasoning about correctness. With BNF, we could now generate all valid
A typical week in "15312 foundations of programming languages" CMU:
Every language needs a form. The first foundation is : the rules that determine which strings of characters are valid programs.
Practical Foundations for Programming Languages (PFPL) by Robert Harper.