Ruankao Programmer (Junior) key terms
Ruankao Programmer (Junior) · Get comfortable with the vocabulary.
- recursion
- Related: stack, sorting algorithm
A technique in which a method calls itself on a smaller version of the same problem. It needs a base case that stops the calls and a recursive case that makes measurable progress toward that base case.
- variable
- Related: data type, scope
A named storage location whose value can change during program execution. In most languages a variable has a declared or inferred data type, a scope, and a lifetime determined by where it is declared.
- data type
- Related: variable, type casting
A classification that specifies which values a variable may hold and which operations apply, such as integer, floating point, character, Boolean, or string. It determines memory representation and allowed behavior.
- type casting
- Related: data type
Converting a value from one data type to another. Whether a conversion is implicit and lossless depends on the language, source type, target type and actual value. Integer-to-floating conversions can lose precision when the integer exceeds the target’s exact range; narrowing conversions also require careful checks.
- scope
- Related: variable, parameter passing
The region of a program where a declared name is visible and usable. Block scope limits a variable to the braces where it is declared, while global scope makes it accessible throughout the file or program.
- parameter passing
- Related: scope, recursion
How arguments move into a method. Pass-by-value copies the argument, so changes stay local; pass-by-reference gives access to the caller's variable. Java passes object references by value.
- object-oriented programming
- Related: inheritance, polymorphism, encapsulation
A paradigm organizing code into classes that bundle data and behavior, with objects as instances. Its pillars are encapsulation, inheritance, polymorphism, and abstraction, which support reuse and manageable large programs.
- encapsulation
- Related: object-oriented programming, polymorphism
Hiding an object's internal state behind private fields and exposing controlled access through public methods such as getters and setters. It protects invariants and lets implementation details change without breaking callers.
- inheritance
- Related: polymorphism, object-oriented programming
A relationship in which a subclass acquires fields and methods from a superclass and may extend or override them. It models an is-a relationship and promotes code reuse, though deep hierarchies can become brittle.
- polymorphism
- Related: inheritance, encapsulation
The ability of one interface or method name to work with multiple types. Dynamically dispatched overridden methods, such as calls through virtual functions in C++, can resolve at run time. Ordinary overload resolution depends on the language’s compile-time rules; not every same-named method implies dynamic dispatch.
- syntax error
- Related: compiler, runtime error, logic error
A violation of a language's grammar, such as a missing semicolon or unbalanced parenthesis, detected during compilation or parsing. The program cannot run until the error is corrected.
- runtime error
- Related: syntax error, logic error, exception
A failure arising during program execution rather than parsing, with behavior defined by the language and operation. Some languages raise exceptions for invalid indexing or division; in C++ certain invalid operations instead have undefined behavior and need not produce a predictable exception.
- logic error
- Related: runtime error, syntax error
A mistake in the program's reasoning that produces incorrect output without crashing, such as using less-than instead of less-than-or-equal in a loop condition. It is found by testing and tracing, not by the compiler.
- exception
- Related: runtime error, compiler
An object signaling an abnormal condition during execution. Languages use try, catch, and finally blocks or similar constructs to handle it, allowing recovery instead of abrupt termination.
- CPU
- Related: Instruction cycle, Cache memory, RAM
The central processing unit is the main processor in a computer. It fetches instructions, decodes them, and carries out arithmetic, logic, and control operations while coordinating other components.
- RAM
- Related: Cache memory, CPU
Temporary, volatile computer memory that holds programs and data currently in use. Its contents disappear when power is lost, but it allows fast reading and writing.
- Cache memory
- Related: CPU, RAM
A small, fast memory area close to the processor that stores frequently used instructions and data. It reduces average access time by keeping likely-needed information nearby.
- Addressable unit
The quantity identified by one memory address, such as a byte or a word. A bus-width calculation requires this convention before converting address counts into byte capacity.
- TLB miss
A failed lookup in the translation cache, requiring the processor’s defined translation procedure. It does not alone establish that the target virtual page is absent from physical memory.
- Page fault
An architectural exception caused by an absent or disallowed page translation or access under the platform model. Handling depends on mapping, protection and residency rather than always reading a disk.
- Quality scenario
A stated stimulus, operating condition and observable response with a measurement criterion, allowing alternative designs and tests to be compared against an actual requirement.
- Relational database
- Related: SQL, Primary key, Foreign key
A database that stores data in tables made of rows and columns and uses relationships between tables. It is queried with languages such as SQL and follows the relational model.
- Primary key
- Related: Foreign key, Relational database
A column or set of columns whose values uniquely identify each row in a database table. It cannot contain duplicate or null values.
- Foreign key
- Related: Primary key
A column or set of columns in one table that refers to the primary key of another table. It enforces referential integrity between related records.
- SQL
- Related: Relational database, Normalization
Structured Query Language, a standard language for defining, querying, updating, and managing data in relational databases. It includes statements for creating tables and retrieving rows.
- Normalization
- Related: Primary key, Foreign key, Relational database
The process of organizing relational database tables to reduce duplicated data and avoid update anomalies. It typically involves dividing data into related tables and defining keys.
- Database index
- Related: Primary key, SQL
A data structure that speeds up searches on a database table by providing quick lookup paths to rows. It uses extra storage and must be updated when data changes.
- Metadata
- Related: Relational database, Database index
Data that describes other data, such as a file's author, creation date, format, or size. In databases, it describes table structures, constraints, and other schema information.
- OSI reference model
- Related: Encapsulation, PDU
A seven-layer framework describing how network functions are divided, from physical transmission up to application services, used as a common vocabulary for comparing protocols and equipment across vendors.
- PDU
- Related: Encapsulation, MTU
Protocol Data Unit: the named chunk of data at a given layer, such as frame at the data link layer, packet at the network layer, and segment at the transport layer. Naming makes troubleshooting discussions precise.