Programming Languages

Programming Languages

memorize.aimemorize.ai (lvl 286)
Section 1

Preview this deck

Dynamic type checking adds some execution-time overhead, but improves reliability of programs

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (23)

Section 1

(23 cards)

Dynamic type checking adds some execution-time overhead, but improves reliability of programs

Front

True

Back

Axiomatic semantics is an approach that is often used to prove that programs correctly implement their requirements

Front

True

Back

In languages with dynamic typing, type errors are in general only detected at run time

Front

True

Back

For languages that automatically manage memory ('Garbage Collection') there has to be a run-time component

Front

True

Back

A variable's lifetime is the time during which the variable is bound to a storage location in memory

Front

True

Back

Most modern programming languages use dynamic scoping for functions.

Front

False

Back

Most programming languages prohibit redeclaring the same subroutine name within a scope

Front

False

Back

A variable's scope is the time during which the variable is bound to a storage location

Front

False

Back

Programming languages use scopes (e.g., {...}, begin...end) to limit the lifetime of a variable name and its binding

Front

True

Back

Misuse of union types can be a source of errors in some programming languages

Front

True

Back

Operational semantics is the meaning of statements, in a programming language, on a particular machine.

Front

True

Back

A union type is a type that can store different type values at different times during the execution of a program

Front

True

Back

Static type checking adds some execution-time overhead, but improves reliability of programs

Front

False

Back

Languages where reclaiming memory is the responsibility of the programmer generally produce slower running code

Front

False

Back

Automatic memory management is incompatible with free union data types

Front

False

Back

A programming language is considered 'strongly typed' if and only if all type errors are detected statically by the compiler.

Front

False

Back

A variable's type constrains the values it can take on and also the kinds of operations that can be applied to it

Front

True

Back

One of the advantages of Java is that its pointers are represented as objects, making pointer arithmetic easier.

Front

False

Back

A language is dynamically typed if the type of a variable can vary at run time depending on the value being assigned to it

Front

True

Back

Strongly typed language: type errors are more likely to be detected (at compile or at runtime) than weakly typed language

Front

True

Back

Static typed programming languages are those in which variables need to be explicitly declared, including type, before used

Front

True

Back

Languages with static typing do not allow user-defined types.

Front

False

Back

A programming language is considered 'strongly typed' if every variable must be associated with a single primitive data type.

Front

False

Back