Concepts of Programming Languages - Chapter 1 Preliminaries

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/38

flashcard set

Earn XP

Description and Tags

Comprehensive vocabulary flashcards covering language evaluation criteria, domains, design trade-offs, architecture influences, and implementation methods from Chapter 1 Preliminaries.

Last updated 2:24 AM on 9/1/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

39 Terms

1
New cards

Readability

The ease with which programs can be read and understood.

2
New cards

Writability

The ease with which a language can be used to create programs.

3
New cards

Reliability

Conformance to specifications (i.e., performs to its specifications).

4
New cards

Cost

The ultimate total cost of a programming language, including training, writing, compiling, executing, compiler availability, and reliability costs.

5
New cards

Orthogonality

A language evaluation criterion where a relatively small set of primitive constructs can be combined in a relatively small number of ways, and every possible combination is legal.

6
New cards

Support for Abstraction

The ability to define and use complex structures or operations in ways that allow details to be ignored.

7
New cards

Expressivity

A set of relatively convenient ways of specifying operations, referring to the strength and number of operators and predefined functions.

8
New cards

Type Checking

Testing for type errors in a programming language.

9
New cards

Exception Handling

The ability to intercept run-time errors and take corrective measures.

10
New cards

Aliasing

The presence of two or more distinct referencing methods for the same memory location.

11
New cards

Portability

The ease with which programs can be moved from one implementation to another.

12
New cards

Generality

The applicability of a programming language to a wide range of applications.

13
New cards

Well-definedness

The completeness and precision of the language's official definition.

14
New cards

Scientific Applications Domain

A programming domain characterized by large numbers of floating point computations and the use of arrays, prominently using Fortran.

15
New cards

Business Applications Domain

A programming domain focused on producing reports, using decimal numbers and characters, prominently using COBOL.

16
New cards

Artificial Intelligence Domain

A programming domain where symbols rather than numbers are manipulated using linked lists, prominently using LISP.

17
New cards

Systems Programming Domain

A programming domain requiring high efficiency due to continuous use, prominently using C.

18
New cards

Web Software Domain

An eclectic collection of languages including markup (e.g., XHTML), scripting (e.g., PHP), and general-purpose languages (e.g., Java).

19
New cards

Von Neumann Architecture

A computer architecture where memory stores both instructions and data separately from the CPU, piping instructions and data from memory to CPU.

20
New cards

Fetch-Execute Cycle

The process on a von Neumann architecture computer that initializes the program counter, then repeatedly fetches, increments, decodes, and executes instructions.

21
New cards

Imperative Languages

The dominant category of programming languages whose central features are variables, assignment statements, and iteration, modeled around von Neumann architecture.

22
New cards

Functional Languages

A category of programming languages where the main means of making computations is by applying functions to given parameters, such as LISP and Scheme.

23
New cards

Logic Languages

A rule-based category of programming languages where rules are specified in no particular order, such as Prolog.

24
New cards

Markup/Programming Hybrid

Markup languages extended to support some programming capability.

25
New cards

Compilation

An implementation method that translates high-level source programs into machine language, featuring slow translation but fast execution.

26
New cards

Lexical Analysis

The compilation phase that converts characters in the source program into lexical units.

27
New cards

Syntax Analysis

The compilation phase that transforms lexical units into parse trees representing the syntactic structure of the program.

28
New cards

Semantics Analysis

The compilation phase responsible for generating intermediate code.

29
New cards

Code Generation

The compilation phase where machine code is generated.

30
New cards

Load Module

An executable image consisting of the user and system code together.

31
New cards

Linking and Loading

The process of collecting system program units and linking them to a user program.

32
New cards

Von Neumann Bottleneck

The connection speed limitation between a computer's memory and processor, which serves as the primary limiting factor in computer speed.

33
New cards

Pure Interpretation

An implementation method where programs are interpreted directly by an interpreter without translation, resulting in easier error display but 10 to 100 times slower execution.

34
New cards

Hybrid Implementation Systems

An implementation method that compromises between compilers and pure interpreters by translating high-level programs to an intermediate language for easy interpretation.

35
New cards

Just-in-Time Implementation Systems

Systems that initially translate programs to an intermediate language, then compile subprograms into machine code when called, saving the machine code for subsequent calls.

36
New cards

Preprocessors

Tools that process a program immediately before compilation to expand embedded macros, such as expanding #include and #define in C.

37
New cards

UNIX

An older operating system and tool collection nowadays often used through a GUI (e.g., CDE, KDE, or GNOME) running on top of UNIX.

38
New cards

Microsoft Visual Studio.NET

A large, complex visual environment used to build Web applications and non-Web applications in any .NET language.

39
New cards

NetBeans

A software environment related to Visual Studio .NET, specifically designed for Web applications in Java.