Chapter 7: High-Level Programming Languages

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

1/152

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No study sessions yet.

153 Terms

1
New cards

abstract method

declared without a code block for implementation; the stubs of methods that will be implemented by a class which uses the interface

2
New cards

abstraction

way of thinking and expressing algorithms to indicate what the programmer wants the hardware to do

3
New cards

access modifier

keyword that denotes where in code to access a variable or method

4
New cards

argument

value of a function call, which must match the parameters in both number and data type

5
New cards

array

named variable that references a block of contiguous memory locations

6
New cards

array initializer

values separated by commas placed between curly braces

7
New cards

assembly

process of converting a low-level assembly language product of the compiler into machine language that the computer can execute; binary form

8
New cards

assignment statement

operation by which a value is stored in a variable

9
New cards

back end

compiler step that is responsible for code generation or production of the target code

10
New cards

basic block

minimal-length sequence of instructions that will always execute in its entirety if it executes at all, equivalent to a code block

11
New cards

best practice

most accepted style and structure of code that can be used to ensure proper software development, which makes it possible to learn new languages easily once a programmer has mastered a given one

12
New cards

binary operator

operator surrounded by two operands

13
New cards

Boolean

data types that can hold the values true or false

14
New cards

bottom-tested loop

condition for further loop iteration set at the exit from the code block

15
New cards

busy waiting

condition of a process that is continually looking to see if it has access to a critical section, taking processor time from all processes

16
New cards

bytecode

object code produced by Java compilation, which is then interpreted by the Java virtual machine

17
New cards

call stack

execution stack that is the data structure that controls the calling and return of functions

18
New cards

case-sensitive

refers to whether uppercase and lowercase letters are treated as distinct from each other

19
New cards

class

code blueprint from which objects are constructed

20
New cards

client-side script

script that runs on a client computer, usually under the control of a web browser and needs an interpreter on the client’s machine

21
New cards

code block

statement that consists of one or more statements that are structured in a sequential group and delineated as such

22
New cards

code generation

transformation of the code to the target or object language

23
New cards

coercion

ability of a variable of a data type to be forced to hold a value of a different data type

24
New cards

combined assignment

when the assignment operator is combined with another operator, usually mathematical, as a shortcut notation

25
New cards

comment

container used to hold documentation in code

26
New cards

Common Gateway Interface (CGI)

executable program residing in a special directory known to the web server management program

27
New cards

Common Language Runtime (CLR)

takes managed code and provides a JIT execution that allows all the languages to play nicely with each other

28
New cards

compilation

single process that takes the source code that the programmer creates and transforms it into another language

29
New cards

complex data type

data type consisting of multiple primitive types used as its building blocks

30
New cards

condition-controlled

loop that will continue to iterate until a specific condition is met

31
New cards

conditional expression

(also: Boolean expression) evaluates to the Boolean values of true or false

32
New cards

constructor

specialized method that is called upon to instantiate an object from a class

33
New cards

count-controlled

loop that will continue to iterate a specific number of times

34
New cards

decrement operator (--)

unary operator that lowers the value of its operand by one

35
New cards

destructor

specialized methods used in some languages to destroy an instantiated object and recover its memory

36
New cards

determinative

loop that is predictable in its number of iterations

37
New cards

dynamic linker

compilation process which allows the program to be carried over to memory for execution after it runs

38
New cards

dynamic method binding

all methods are resolved dynamically at runtime, not by the compiler, sometimes referred to as late binding

39
New cards

element

each “shelf” of an array that can hold a value of a data type

40
New cards

embedded script

script in which one language is embedded inside another

41
New cards

encapsulation

attributes and behaviors of classes and objects are self-contained and go along with them throughout their lifetime

42
New cards

event-driven

when behavior of programs is controlled by actions (events) which are listened for and then acted upon or handled

43
New cards

exception

unusual behavior that can be recovered using exception handling support the programming language provides

44
New cards

exponentiation operator (**)

operator that raises the value of one operand to the power of the second operand

45
New cards

expression

construct in a programming language that evaluates two values

46
New cards

first-class function

function that can be assigned as a value to a variable

47
New cards

floating point

data type consisting of a decimal number

48
New cards

flow of control

order in which, or if, the statements of a program are executed

49
New cards

for loop

particular loop construct that is top-tested and count-controlled

50
New cards

formal parameter

represent values that the function needs to receive to do its job

51
New cards

front end

compilation step that is responsible for the analysis of the source code

52
New cards

function

code sequence that is designed to perform a particular task

53
New cards

function call

code which invokes the function and passes to it values that may be needed for it to do its job

54
New cards

function signature

defines a function and informs the compiler or interpreter about the details that it needs to call upon that function and what it may return

55
New cards

functional programming

programming model in which the key concept is that programs are constructed by composing functions and applying them

56
New cards

garbage collection

process used to destroy unneeded objects and recover memory when there are no longer any references to them in the code

57
New cards

global optimization

code improvements at multiple layers that include loop performance improvement, register allocation, and instruction scheduling

58
New cards

high-order function

function that can take one or more first class functions as arguments

59
New cards

hybrid implementation

method of language translation which involves the use of both a compiler and an interpreter

60
New cards

identifier

name given to a variable or other construct

61
New cards

imperative language

emphasizes a “tell the computer what to do” approach

62
New cards

increment operator (++)

unary operator that raises the value of its operand by one

63
New cards

indexed array

array in which the elements are numbered with an index, starting at zero

64
New cards

information hiding

masking of the actual bits and bytes of implementation that the user of a module does not need to know

65
New cards

inheritance

feature of OOP in which classes and objects take on specified attributes from their ancestors

66
New cards

initialization

assigning its first value to a variable

67
New cards

instantiation

process of building an instance (an object) of a class

68
New cards

integer

data type consisting of whole numbers

69
New cards

interface

construct which resembles a class definition but contains only methods which are constructed as abstract methods

70
New cards

intermediate code

language translation phase that produces a code level between the source code and the object code

71
New cards

intermediate form (IF)

middle end compilation product created after semantic analysis if the program passes all checks

72
New cards

intermediate language

generated from programming source code, but the CPU typically cannot execute directly

73
New cards

iteration

looping, going around and re-executing sequences of statements

74
New cards

Java virtual machine (JVM)

Java interpreter that translates bytecode into executable code

75
New cards

just-in-time (JIT) compilation

process when intermediate code gets its final compilation (or usually interpretation) phase right at the start of runtime

76
New cards

just-in-time (JIT) translation

process in which intermediate language is translated and executed exactly when needed

77
New cards

keyword

word reserved by the language that has a special meaning

78
New cards

late binding

when all methods are resolved dynamically at runtime, not by the compiler; sometimes referred to as dynamic binding

79
New cards

lexical analysis

compilation step that converts the source code strings of characters into tokens

80
New cards

literal

value of one of the legal data types of an HLL that can be written directly into the code

81
New cards

local optimization

elimination of redundant operations in a basic block

82
New cards

lvalue

left-hand operand in an expression

83
New cards

managed code

code targeted to run under a particular runtime environment

84
New cards

member

attribute or method that is encapsulated within a class or object

85
New cards

metadata

data about data

86
New cards

middle end

compilation step responsible for performing optimizations of the code

87
New cards

modularization

splitting a large job into independent units which may be then called upon to perform tasks

88
New cards

module

component of a program

89
New cards

modulo operator (%)

operator which evaluates to the remainder left after division

90
New cards

multiple inheritance

ability to inherit attributes and methods from more than one parent

91
New cards

multitask

ability of an application to process more than one task at the same time or to engage in concurrency

92
New cards

mutable

something that is changeable, possibly referring to state

93
New cards

name-value pair

construct-like variables that is named and can hold values

94
New cards

named constant

container that can be assigned the value of a data type which may not be changed thereafter

95
New cards

non determinative

loop for which we cannot predict the number of iterations (condition controlled)

96
New cards

object code

machine code produced by a compiler or interpreter

97
New cards

operator

performs various types of operations (processes) on values

98
New cards

optimization

producing what will be needed to generate the fastest and most efficiently running code possible

99
New cards

override

define another method with the same name and modify its signature

100
New cards

parallelism

when programs can have more than one part of the code running simultaneously