This homework is designed to get you familiar with a number of important language design and implementation terms. You will need to do a lot of research on the Internet to answer these questions properly.
| Answer these questions in your own words no cutting and pasting from the Internet! Aside from being plagiarism, cutting and pasting will teach you nothing. |
1. Briefly define the following terms:
- Language
- Grammar
- Lexical analysis
- Parsing
- Symbol table
2. What is the difference between a compiler and an interpreter?
3. Define the following general programming language classifications and give two examples of each:
- Imperative
- Functional
4. Define object-oriented programming and give the name of the first object-oriented programming language. Can we add object-oriented technology to both imperative and functional languages?
5. What is the difference between strong typing and loose typing? Give an example of each type of language.
6. Research and carefully define static typing and dynamic typing. What is the difference between the two? Give an example of each type of language.
7. Static and dynamic typing systems both have advantages and disadvantages. Research the pros and cons on the net and describe them your own words.
8. What is the difference between static and dynamic scoping of variables and methods?
Add Comment