Page 4 of the lecture notes from Mitch Wand's first Principles of Programming Languages lecture:
When looking at a language, we will always ask four questions. As we proceed through the course, we will ask these questions in more and more sophisticated ways; I’ll show some of these subquestions now, even though we haven’t yet covered enough to understand what they mean:
- What are the values in the language?
- What are the values manipulated by the language, and what operations
on those values are represented in the language?
- What are the expressed and denoted values in the language?
- What are the types in the language?
- What are the scoping rules of the language?
- How are variables bound? How are they used?
- What variables are in scope where?
- What are the effects in the language?
- Are there side-effects in the language?
- Can execution of programs have effects in the world?
- Can execution of programs have effects on other programs?
- Can execution of a program fail to terminate?
- Are there non-local control effects in the language?
- What are the static properties of the language?
- What can we predict about the behavior of a program without knowing
the run-time values?
- How can we analyze a program to predict this behavior?
What do you consider the fundamental properties of a programming language?
Recent comments
27 weeks 2 days ago
27 weeks 2 days ago
27 weeks 2 days ago
49 weeks 3 days ago
1 year 1 week ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 5 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago