Ch1&2 Flashcards
(131 cards)
Why is it useful for a programmer to have the ability to learn new languages, even though he or she may have a good knowledge of a number of programming languages?
increases their capacity to express ideas;
improved background for choosing appropriate languages;
increases the ability to learn new languages.
How can knowledge of programming language characteristics benefit the whole computing community?
Lead to the development of better programming languages suited for particular tasks, improving the overall quality of software development.
What programming language has dominated scientific computing over the past 50 years?
Fortran
What programming language has dominated business applications over the past 50 years?
COBOL
What programming language has dominated artificial intelligence over the past 50 years?
LISP
In what language is most of UNIX written?
C Language
What is the disadvantage of having too many features in a language?
Programmers might not be familiar with all of the features, hence making it more difficult to learn.
How can user-defined operator overloading harm the readability of a program?
If the user does not use it sensibly or intuitively, or in a way that diverts extremely from the operator’s intended purpose.
What is one example of a lack of orthogonality in the design of C?
How arrays and records (structs) are handled
What language used orthogonality as a primary design criterion?
Algol 68
What primitive control statement is used to build more complicated control statements in languages that lack them?
Goto
What construct of a programming language provides process abstraction?
Subprogram
What does it mean for a program to be reliable?
It performs to its specifications (as expected/programmed) under all conditions.
Why is type checking the parameters of a subprogram important?
It allows the compiler/run-time system to detect type errors for the purpose of increasing program reliability.
What is aliasing?
Having two or more distinct names that can be used to access the same memory cell
What is exception handling?
The ability of a program to intercept run-time errors / other unusual conditions detected, take corrective measures, and then continue.
Why is readability important to writability?
Writing in a program requires rereading of the already-written parts of a program.
How is the cost of compilers for a given language related to the design of that language?
Complex design with many features and intricate semantics can be more difficult and expensive to accommodate with a full, efficient compiler.
What have been the strongest influences on programming language design over the past 50 years?
Computer architecture and programming design methodologies.
What is the name of the category of programming languages whose structure is dictated by the von Neumann computer architecture?
Imperative languages
What two programming language deficiencies were discovered as a result of the research in software development in the 1970s?
Incompleteness of type checking
Inadequacy of control statements
What are the three fundamental features of an object-oriented programming language?
Inheritance
Encapsulation
Polymorphism
What language was the first to support the three fundamental features of object-oriented programming?
Smalltalk
What is an example of two language design criteria that are in direct conflict with each other?
Reliability and cost of execution