Language Design: Evaluation Language Design & Feature Interaction Flashcards

1
Q

List some examples of fully compiled languages

A

C, C++, Ada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

List some examples of interpreted languages

A

Perl, Python, LISP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List some examples of hybrid languages

A

Java, C#

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

List the 3 criteria for evaluation criteria for languages

A

Readability
Writability
Reliability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

List the 3 language characteristics

A

Simplicity
Expressivity
Orthogonality

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

T/F: the evaluation criteria for languages often compete with one another.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What complicates language design?

A

It is hard to maximize all desirable language characteristics

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

type checking corresponds to what evaluation criteria?

A

reliability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

T/F: There is usually an inverse relationship between simplicity and expressivity

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is expressivity?

A

The ability to write programs that solve a range of problems with that language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

what does orthogonal mean in mathematics?

A

perpendicular

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does orthogonal mean in regards to programming

A

When various language features are arranged along different axes, and all possible combinations are valid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the advantage to having more features in a language?

A

it can make the language more expressive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does it mean for a language to be expressive?

A

It is easier to write programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

too many features can cause …

A

undesirable feature interactions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the best case for undesirable feature interactions? and why is this not that big of a deal?

A

They only cause ambiguity

the compilers can detect this

17
Q

What is the worst case for undesirable feature interactions? and why is this that big of a deal?

A

can cause logic errors

this compromises reliability of the language and programs written in it

18
Q

give an example of an interaction causing ambiguity.

A

type coercion of parameter X method overloading

19
Q

give an example of feature interactions causing misinterpretations.

A

assignments are expressions X No Boolean data type, ints are used