Concept of Programming Languages by Robert W. Sebesta Answer
Review Questions
1. Why is it useful for a programmer to have some background
in language design, even though he or she may never actually design a
programming language ?
Having some background in language design will help a
programmer to learn about new programming language easily and make the
programmer be able to select the most suitable language for particular project
.
2. How can knowledge of programming language characteristics
benefit the whole computing community ?
By knowing the fundamentals of a programming language, a
programmer will know what happen in computer underneath the hood and making the
programmer to have an ability to
understand any new programming language. This will give an insight on what
functionality of certain languages works well and what doesn’t work well.
3. What programming language has dominated scientific
computing over the past 50 years ?
FORTRAN is the language used in past 50 years for scientific
applications.
4. What programming language has dominated business
applications over the past 50 years ?
COBOL is the language used in past 50 years for business
applications.
5. What programming language has dominated artificial
intelligence over the past 50 years ?
LISP
6. In what language is most of UNIX written ?
C programming language.
7. What is the disadvantage of having too many features in a
language ?
It will reduce the software development itself, since the
programmers will not have a full control to the language.
8. How can user-defined operator overloading harm the
readibility of a program ?
User-defined operator overloading can harm the readability
in case that user doesn’t realize the difference in operands and a possible
confusion between functions of an operator.
9. What is one example of a lack of orthogonality in the
design of C ?
For example of the lack of orthogonality in C is that C has
2 types of structured data types, they are array and struct.
10. What language used orthogonality as a primary design
criterion ?
ALGOL 68.
11. What primitive control statement is used to build more
complicated control statements in languages that lack them ?
GO TO is used to build more complicated control statements
such as the FOR loop statement.
12. What construct of a programming language provides
process abstraction ?
The use of a subprogram to implement a sort algorithm that is
required several times in a program. Without the subprogram, the algorithm
would need to be copy-pasted at all places it need to be and thus making the
code longer and harder to understand and read.
13. What does it mean for a program to be reliable ?
A program is said reliable if and only if it performs its
normal function specified under all conditions including good memory management
that means there will be no memory leak.
14. Why is type checking the parameters of a subprogram
important ?
Because parameters of a subprogram is like a command-line
arguments that means if the paremeter is wrong, it will make the program error
or not run properly. Also it is possible for a subprogram to receive a type of
variable that is different from what is expected that can make an error too.
15. What is aliasing ?
Aliasing is having two or more distinct name to access the
same memory cell. It is considered dangerous feature. For example, assigning
two pointers with different name into one variable. In some languages, aliasing
is used to overcome deficiencies in the language’s data abstraction facilities.