Chapter 1 Review Notes

Currently, the links below won't work - once you need the answers, they will!

  1. Why is it useful for a programmer to have some background in language design, even though (s)he may never actually design a programming language?

  2. How can knowledge of programming language characteristics benefit the whole computing community?

  3. What programming language has dominated scientific computing over the past 50 years?

  4. What programming language has dominated business computing over the past 50 years?

  5. What programming language has dominated artificial intelligence over the past 50 years?

  6. In what language was UNIX written?

  7. What is the disadvantage of having too many features in a language?

  8. How can user-defined operator overloading harm the readability of a program?

  9. What is one example of a lack of orthogonality in the design of C?

  10. What language used orthogonality as a primary design criterion?

  11. What primitive control statement is used to build more complicated control statements in languages that lack them?

  12. What construct of a programming language provides process abstraction?

  13. What does it mean for a program to be reliable?

  14. Why is type checking the parameters of a subprogram important?

  15. What is aliasing?

  16. What is exception handling?

  17. Why is readability important to writability?

  18. How is the cost of compilers for a given language related to the design of that language?

  19. What has been the strongest influence on programming language design over the last 50 years?

  20. What is the name of the category of programming languages whose structure is dictated by the von Neumann compuer architecture?

  21. What two programming language deficiencies were discovered as a result of the research in software development in the 1970's?

  22. What are the three fundamental features of an object-oriented programming language?

  23. What language was the first to support the three fundamental features of object-oriented programming?

  24. What is an example of two language design criteria that are in direct conflict with each other?

  25. What are the three general methods of implementing a programming language?

  26. Which produces faster program execution, a compiler or a pure interpreter?

  27. What role does the symbol table play in a compiler?

  28. What does a linker do?

  29. Why is the von Neumann bottleneck important?

  30. What are the advantages in implementing a language with a pure interpreter?