1/152
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
abstract method
declared without a code block for implementation; the stubs of methods that will be implemented by a class which uses the interface
abstraction
way of thinking and expressing algorithms to indicate what the programmer wants the hardware to do
access modifier
keyword that denotes where in code to access a variable or method
argument
value of a function call, which must match the parameters in both number and data type
array
named variable that references a block of contiguous memory locations
array initializer
values separated by commas placed between curly braces
assembly
process of converting a low-level assembly language product of the compiler into machine language that the computer can execute; binary form
assignment statement
operation by which a value is stored in a variable
back end
compiler step that is responsible for code generation or production of the target code
basic block
minimal-length sequence of instructions that will always execute in its entirety if it executes at all, equivalent to a code block
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
binary operator
operator surrounded by two operands
Boolean
data types that can hold the values true or false
bottom-tested loop
condition for further loop iteration set at the exit from the code block
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
bytecode
object code produced by Java compilation, which is then interpreted by the Java virtual machine
call stack
execution stack that is the data structure that controls the calling and return of functions
case-sensitive
refers to whether uppercase and lowercase letters are treated as distinct from each other
class
code blueprint from which objects are constructed
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
code block
statement that consists of one or more statements that are structured in a sequential group and delineated as such
code generation
transformation of the code to the target or object language
coercion
ability of a variable of a data type to be forced to hold a value of a different data type
combined assignment
when the assignment operator is combined with another operator, usually mathematical, as a shortcut notation
comment
container used to hold documentation in code
Common Gateway Interface (CGI)
executable program residing in a special directory known to the web server management program
Common Language Runtime (CLR)
takes managed code and provides a JIT execution that allows all the languages to play nicely with each other
compilation
single process that takes the source code that the programmer creates and transforms it into another language
complex data type
data type consisting of multiple primitive types used as its building blocks
condition-controlled
loop that will continue to iterate until a specific condition is met
conditional expression
(also: Boolean expression) evaluates to the Boolean values of true or false
constructor
specialized method that is called upon to instantiate an object from a class
count-controlled
loop that will continue to iterate a specific number of times
decrement operator (--)
unary operator that lowers the value of its operand by one
destructor
specialized methods used in some languages to destroy an instantiated object and recover its memory
determinative
loop that is predictable in its number of iterations
dynamic linker
compilation process which allows the program to be carried over to memory for execution after it runs
dynamic method binding
all methods are resolved dynamically at runtime, not by the compiler, sometimes referred to as late binding
element
each “shelf” of an array that can hold a value of a data type
embedded script
script in which one language is embedded inside another
encapsulation
attributes and behaviors of classes and objects are self-contained and go along with them throughout their lifetime
event-driven
when behavior of programs is controlled by actions (events) which are listened for and then acted upon or handled
exception
unusual behavior that can be recovered using exception handling support the programming language provides
exponentiation operator (**)
operator that raises the value of one operand to the power of the second operand
expression
construct in a programming language that evaluates two values
first-class function
function that can be assigned as a value to a variable
floating point
data type consisting of a decimal number
flow of control
order in which, or if, the statements of a program are executed
for loop
particular loop construct that is top-tested and count-controlled
formal parameter
represent values that the function needs to receive to do its job
front end
compilation step that is responsible for the analysis of the source code
function
code sequence that is designed to perform a particular task
function call
code which invokes the function and passes to it values that may be needed for it to do its job
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
functional programming
programming model in which the key concept is that programs are constructed by composing functions and applying them
garbage collection
process used to destroy unneeded objects and recover memory when there are no longer any references to them in the code
global optimization
code improvements at multiple layers that include loop performance improvement, register allocation, and instruction scheduling
high-order function
function that can take one or more first class functions as arguments
hybrid implementation
method of language translation which involves the use of both a compiler and an interpreter
identifier
name given to a variable or other construct
imperative language
emphasizes a “tell the computer what to do” approach
increment operator (++)
unary operator that raises the value of its operand by one
indexed array
array in which the elements are numbered with an index, starting at zero
information hiding
masking of the actual bits and bytes of implementation that the user of a module does not need to know
inheritance
feature of OOP in which classes and objects take on specified attributes from their ancestors
initialization
assigning its first value to a variable
instantiation
process of building an instance (an object) of a class
integer
data type consisting of whole numbers
interface
construct which resembles a class definition but contains only methods which are constructed as abstract methods
intermediate code
language translation phase that produces a code level between the source code and the object code
intermediate form (IF)
middle end compilation product created after semantic analysis if the program passes all checks
intermediate language
generated from programming source code, but the CPU typically cannot execute directly
iteration
looping, going around and re-executing sequences of statements
Java virtual machine (JVM)
Java interpreter that translates bytecode into executable code
just-in-time (JIT) compilation
process when intermediate code gets its final compilation (or usually interpretation) phase right at the start of runtime
just-in-time (JIT) translation
process in which intermediate language is translated and executed exactly when needed
keyword
word reserved by the language that has a special meaning
late binding
when all methods are resolved dynamically at runtime, not by the compiler; sometimes referred to as dynamic binding
lexical analysis
compilation step that converts the source code strings of characters into tokens
literal
value of one of the legal data types of an HLL that can be written directly into the code
local optimization
elimination of redundant operations in a basic block
lvalue
left-hand operand in an expression
managed code
code targeted to run under a particular runtime environment
member
attribute or method that is encapsulated within a class or object
metadata
data about data
middle end
compilation step responsible for performing optimizations of the code
modularization
splitting a large job into independent units which may be then called upon to perform tasks
module
component of a program
modulo operator (%)
operator which evaluates to the remainder left after division
multiple inheritance
ability to inherit attributes and methods from more than one parent
multitask
ability of an application to process more than one task at the same time or to engage in concurrency
mutable
something that is changeable, possibly referring to state
name-value pair
construct-like variables that is named and can hold values
named constant
container that can be assigned the value of a data type which may not be changed thereafter
non determinative
loop for which we cannot predict the number of iterations (condition controlled)
object code
machine code produced by a compiler or interpreter
operator
performs various types of operations (processes) on values
optimization
producing what will be needed to generate the fastest and most efficiently running code possible
override
define another method with the same name and modify its signature
parallelism
when programs can have more than one part of the code running simultaneously