18 Questions
What is a key characteristic that contributes to the readability of a program?
Orthogonality
What happens when a language lacks orthogonality?
Exceptions occur in the language
What is an example of a syntax consideration that affects readability?
Use of brackets vs. endif statements
What is the benefit of having adequate predefined data types in a language?
It makes the program more readable
What is an example of a language that lacks a Boolean type and uses a numeric type as an indicator flag?
A language with no Boolean type
What is the main characteristic of a readable program?
Simplicity
What is a potential issue with a language that has too much orthogonality?
Errors in programs can go undetected
What is an advantage of a language with simplicity and orthogonality?
It has a small number of primitives and a small set of rules for combining them
What is an example of abstraction in programming?
A subprogram for a sort algorithm
What is an example of expressivity in C?
Using the notation count++
What is an example of expressivity in Java?
Using the for statement
What can occur if special words of a language are used as names for program variables?
The resulting program is confusing
What is the primary goal of compile-time type checking?
To detect type errors at an earlier stage
What can be used to intercept and correct run-time errors?
Exception handling
What is the relationship between readability and reliability?
Easier readability leads to higher reliability
What is the primary effect of aliasing on reliability?
It reduces reliability
Why is it important to detect errors early in the programming process?
To reduce the cost of repairs
What is the relationship between writability and reliability?
Easier writability leads to higher reliability
Study Notes
Evaluation Criteria for Programming Languages
- A program is said to be reliable if it performs to its specifications under all conditions.
Readability
- Main characteristics that contribute to readability are:
- Overall simplicity
- A manageable set of features and constructs
- Minimal feature multiplicity
- Minimal operator overloading
- Orthogonality
- Adequate predefined data types
- Syntax considerations (e.g., special words, methods of forming compound statements)
Readability (continued)
- Orthogonality means that a relatively small set of primitive constructs can be combined in a relatively small number of ways, and every possible combination is legal.
- Lack of orthogonality leads to exceptions in language.
- Adequate orthogonality makes programs easier to read and understand.
Writability
- Most of the language characteristics that affect readability also affect writability.
- Main characteristics that contribute to writability are:
- Simplicity and orthogonality
- Support for abstraction
- Expressivity (e.g., convenient ways of specifying operations, strength and number of operators and predefined functions)
Writability (continued)
- Abstraction means the ability to define and use complex structures or operations in ways that allow details to be ignored.
- Examples of expressivity include:
- Using
count++
instead ofcount = count + 1
in C - Using
for
statements in Java for counting loops
- Using
Reliability
- Language features that have a significant effect on reliability include:
- Type checking
- Exception handling
- Aliasing
- Readability and writability
Reliability (continued)
- Type checking involves testing for type errors at compile-time or run-time.
- Compile-time type checking is more desirable than run-time type checking.
- Exception handling involves intercepting run-time errors and taking corrective measures.
- Aliasing means having two or more distinct names that can be used to access the same memory cell.
- Readability and writability influence reliability.
This quiz covers the evaluation criteria for software design, including reliability, cost, readability, and more. It assesses understanding of the main characteristics that contribute to these criteria.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free