Chapter 1 Key Vocabulary (Concepts of Programming Languages)

0.0(0)
studied byStudied by 0 people
0.0(0)
linked notesView linked note
full-widthCall with Kai
GameKnowt Play
New
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/37

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering major terms from Chapter 1 notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

38 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 and predictable behavior; programs should perform as intended.

4
New cards

Cost

Total cost of using a language, including training, writing, executing, and maintaining programs.

5
New cards

Portability

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

6
New cards

Generality

Applicability of a language to a wide range of applications.

7
New cards

Well-definedness

Completeness and precision of the language’s official definition.

8
New cards

Simplicity

A manageable set of features and constructs with minimal feature multiplicity.

9
New cards

Orthogonality

A small set of primitive constructs that can be combined in a small number of ways; every combination is legal.

10
New cards

Data types

Adequate predefined data types provided by the language.

11
New cards

Abstraction

The ability to define and use complex structures or operations while hiding unnecessary details.

12
New cards

Expressivity

The strength and convenience of the ways a language can specify operations (operators, functions, etc.).

13
New cards

Type checking

The process of verifying that operations are applied to compatible data types.

14
New cards

Exception handling

Mechanisms to intercept runtime errors and take corrective action.

15
New cards

Aliasing

Existence of two or more distinct references to the same memory location.

16
New cards

Structured programming

A programming paradigm emphasizing clear control structures and readability; often linked to top-down design.

17
New cards

Top-down design

A development approach that solves a problem by breaking it into progressively smaller parts.

18
New cards

Data abstraction

Hiding the internal representation of data and exposing operations on that data.

19
New cards

Inheritance

A mechanism in object-oriented programming for reusing and extending code.

20
New cards

Polymorphism

Ability to treat objects of different types through a common interface; supports flexibility in operations.

21
New cards

Von Neumann architecture

Computer architecture where programs and data reside in memory and share the same bus to the CPU.

22
New cards

Fetch-execute cycle

The repeating process of fetching, decoding, and executing instructions in a Von Neumann machine.

23
New cards

Compilation

Translating a high-level language into machine code; typically involves lexical analysis, syntax analysis, semantic analysis, and code generation.

24
New cards

Interpretation

Executing a program directly by an interpreter without a separate compilation step.

25
New cards

Hybrid implementation

An approach that blends compilation and interpretation, often using intermediate code to improve performance.

26
New cards

Operator overloading

which a single operator symbol has more than one meaning

27
New cards

COBOL

A high-level programming language primarily used in business, finance, and administrative systems for companies and governments.

28
New cards

Fortran

A high-level programming language used primarily for numeric computation and scientific computing, notable for its efficiency in handling complex mathematical calculations.

29
New cards

Optimization

the process of improving a program's performance, efficiency, or resource usage through various techniques.

30
New cards

Imperative language

programming languages that use statements to change a program's state, emphasizing commands for the computer to perform.

31
New cards

Program counter

A special register in a computer processor that holds the address of the next instruction to be executed in a sequence. It increments automatically after each instruction.

32
New cards

Logic language

a type of programming language that uses logical statements to express computation, focusing on rules and facts to derive conclusions.

33
New cards

Functional language

A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It emphasizes the use of functions to model the behavior of a program.

34
New cards

Object oriented language

A programming paradigm based on the concept of "objects", which contain data in the form of fields and code in the form of procedures or methods. It focuses on using these objects to design applications and computer programs.

35
New cards

Preprocessor

A tool that processes input data before it is passed to a compiler, often used to include files, define macros, or conditionally compile code.

36
New cards

Byte code

A low-level code generated by a compiler that is platform-independent and can be executed by a virtual machine rather than directly by the hardware.

37
New cards

Microsoft Visual Studio .NET

A comprehensive integrated development environment (IDE) from Microsoft for building applications across various platforms, supporting multiple programming languages and tools for development, debugging, and deployment.

38
New cards

UNIX

A powerful, multiuser operating system originally developed in the 1960s and 1970s, known for its stability, multitasking capabilities, and use in servers and workstations.