Definitions
Definitions
o Static Binding: Associations made at compile time, fixed before the program
runs.
2. Binding Time: The time when an association is created. It can occur during
language design, implementation, program writing, compilation, linking, loading, or
execution
4. Static Allocation: Memory allocation with fixed addresses that do not change
during program execution
7. Heap: Memory used for dynamic allocation. It can have issues such as internal and
external fragmentation
8. Fragmentation:
9. Overloading: Using the same name for different functions or operators distinguished
by context, parameter types, or numbers
10. Side Effect: An operation that modifies some state outside its scope or observable
state beyond returning a value
12. Strong Typing: A language characteristic where type errors are detected and
prevented, either at compile or runtime
Name Equivalence: Types are equivalent only if explicitly declared the same.
15. Type Compatibility: Rules for when and how values of one type can be used as
another
17. Casting (Explicit Type Conversion): Explicitly converting a value from one type to
another
18. Row Major, Column Major: Ways of storing multi-dimensional arrays in memory.
Row-major stores rows consecutively; column-major stores columns consecutively
19. Lost Heap Variable: A situation where a heap-allocated object is inaccessible due
to all references being lost
21. Exception Handling: Exceptions refer to conditions that require a program to "back
out" to a context where it can recover, triggered when a component cannot fulfill its
"contract." Many modern languages provide an exception-handling mechanism,
where a handler is appended to computations that might raise exceptions to allow for
recovery
24. Higher-Order Functions Functions that operate on other functions, either by taking
them as arguments or returning them. Examples include functions that manipulate
other functions to encapsulate context or computation
25. Unification: A process in logic programming (e.g., Prolog) used to determine if two
terms can be made identical by finding suitable substitutions for their variables. It
underpins operations like type inference in other languages
26. Slice or Section (of Array): A slice typically refers to a subset of an array or data
structure. This concept wasn’t explicitly detailed in the snippets, but slicing is a
standard operation in many programming languages like Python and MATLAB