Programming Terms
Core programming concepts, terms, and vocabulary that every developer should understand.
Abstract Class
Section titled “Abstract Class”A class that cannot be instantiated directly and is designed to be inherited by other classes. It may contain abstract methods (without implementation) that must be implemented by derived classes.
Algorithm
Section titled “Algorithm”A step-by-step procedure or formula for solving a problem. In programming, algorithms define the logic for processing data and producing results.
API (Application Programming Interface)
Section titled “API (Application Programming Interface)”A set of rules, protocols, and tools that allows different software applications to communicate with each other. See Technical Abbreviations for the abbreviation definition.
A data structure that stores a fixed-size sequential collection of elements of the same type, accessible by index.
Asynchronous
Section titled “Asynchronous”A programming model where operations can execute independently of the main program flow, allowing the program to continue executing other code while waiting for long-running operations to complete.
Boolean
Section titled “Boolean”A data type that can only have two values: true or false. Named after mathematician George Boole.
An error, flaw, or fault in a computer program that causes it to produce incorrect or unexpected results.
The process of converting source code into executable software, often involving compilation, linking, and packaging.
Callback
Section titled “Callback”A function passed as an argument to another function, which is then invoked inside the outer function to complete some action.
A blueprint or template for creating objects in object-oriented programming. Defines properties (attributes) and methods (behaviors).
Closure
Section titled “Closure”A function that has access to variables in its outer (enclosing) function’s scope, even after the outer function has returned.
Code Review
Section titled “Code Review”The systematic examination of source code by peers to find bugs, improve code quality, and share knowledge.
Compilation
Section titled “Compilation”The process of translating source code written in a high-level programming language into machine code or intermediate code.
Constructor
Section titled “Constructor”A special method in a class that is automatically called when an object of that class is created. Used to initialize object properties.
Continuous Integration (CI)
Section titled “Continuous Integration (CI)”A development practice where developers frequently merge code changes into a central repository, followed by automated builds and tests.
Data Structure
Section titled “Data Structure”A specialized format for organizing, processing, retrieving, and storing data efficiently. Examples include arrays, linked lists, stacks, queues, trees, and graphs.
Debugging
Section titled “Debugging”The process of identifying, analyzing, and removing errors (bugs) from software.
Declaration
Section titled “Declaration”A statement that introduces a variable, function, class, or other identifier to the compiler or interpreter.
Dependency
Section titled “Dependency”A relationship where one piece of code relies on another piece of code to function properly.
Deployment
Section titled “Deployment”The process of making software available for use in a production environment.
Design Pattern
Section titled “Design Pattern”A reusable solution to a commonly occurring problem in software design. Examples include Singleton, Factory, Observer, and Strategy patterns.
Dynamic Typing
Section titled “Dynamic Typing”A feature of programming languages where variable types are determined at runtime rather than at compile time.
Encapsulation
Section titled “Encapsulation”The bundling of data and methods that operate on that data within a single unit (class), and restricting direct access to some of the object’s components.
Exception
Section titled “Exception”An event that occurs during program execution that disrupts the normal flow of instructions. Exception handling allows programs to respond to errors gracefully.
Expression
Section titled “Expression”A combination of variables, operators, and values that yields a result when evaluated.
Framework
Section titled “Framework”A platform providing a foundation of pre-written code that developers can use and customize for creating applications.
Function
Section titled “Function”A reusable block of code designed to perform a specific task. Functions can accept inputs (parameters) and return outputs.
Garbage Collection
Section titled “Garbage Collection”An automatic memory management feature that reclaims memory occupied by objects that are no longer in use.
Generic
Section titled “Generic”A programming feature that allows code to be written for types to be specified later, enabling type-safe code reuse.
Hash Function
Section titled “Hash Function”A function that converts an input (or ‘key’) into a fixed-size string of bytes, typically used in hash tables for fast data retrieval.
A region of memory used for dynamic memory allocation where variables are allocated and deallocated in random order during program execution.
Immutable
Section titled “Immutable”An object whose state cannot be modified after it is created. Any modification creates a new object.
Inheritance
Section titled “Inheritance”A mechanism in object-oriented programming where a new class is derived from an existing class, inheriting its properties and methods.
Instance
Section titled “Instance”A concrete occurrence of a class. When an object is created from a class, it is called an instance of that class.
Interface
Section titled “Interface”A contract that defines a set of methods that a class must implement, without specifying how they should be implemented.
Iteration
Section titled “Iteration”The repetition of a process or set of instructions, typically using loops (for, while, do-while).
Lambda Expression
Section titled “Lambda Expression”An anonymous function (function without a name) that can be used to create delegates or expression tree types.
Library
Section titled “Library”A collection of pre-compiled code (functions, classes, etc.) that can be used by programs to perform common tasks.
A programming construct that repeats a block of code multiple times until a specified condition is met.
Memory Leak
Section titled “Memory Leak”A condition where a program fails to release memory that is no longer needed, gradually consuming available memory.
Method
Section titled “Method”A function defined within a class that describes the behaviors of objects created from that class.
Module
Section titled “Module”A self-contained unit of code that can be reused in different parts of a program or in different programs.
Mutable
Section titled “Mutable”An object whose state can be modified after it is created.
Namespace
Section titled “Namespace”A container that holds a set of identifiers (names of types, functions, variables, etc.) and allows the disambiguation of homonym identifiers.
A special value that represents the absence of a value or a reference to nothing.
Object
Section titled “Object”An instance of a class containing data (properties) and code (methods) that operate on that data.
Overloading
Section titled “Overloading”The ability to define multiple methods with the same name but different parameters within the same class.
Overriding
Section titled “Overriding”The ability of a subclass to provide a specific implementation of a method that is already defined in its parent class.
Parameter
Section titled “Parameter”A variable used in a function or method definition to accept input values when the function is called.
Pointer
Section titled “Pointer”A variable that stores the memory address of another variable.
Polymorphism
Section titled “Polymorphism”The ability of objects of different types to be accessed through the same interface, allowing a single action to behave differently based on the object type.
Primitive Type
Section titled “Primitive Type”Basic data types provided by a programming language, such as int, float, char, and boolean.
Procedure
Section titled “Procedure”A sequence of program instructions that perform a specific task, packaged as a unit (similar to a function but may not return a value).
Recursion
Section titled “Recursion”A programming technique where a function calls itself to solve a problem by breaking it down into smaller, similar problems.
Refactoring
Section titled “Refactoring”The process of restructuring existing code without changing its external behavior to improve code readability, maintainability, or performance.
Reference
Section titled “Reference”A value that enables a program to indirectly access a particular data item, such as a variable or object, in memory.
The region of code where a variable, function, or object is accessible.
A data structure that follows Last-In-First-Out (LIFO) principle, or a region of memory where local variables and function call information are stored.
Statement
Section titled “Statement”A single instruction that performs an action in a program.
Static
Section titled “Static”A keyword indicating that a member belongs to the class itself rather than to instances of the class.
String
Section titled “String”A sequence of characters used to represent text.
Syntax
Section titled “Syntax”The set of rules that define the structure and grammar of a programming language.
Thread
Section titled “Thread”The smallest unit of execution within a process, allowing multiple operations to run concurrently.
A classification that specifies which operations can be performed on a particular data item and how it is stored in memory.
Variable
Section titled “Variable”A named storage location in memory that holds a value which can change during program execution.
Virtual Method
Section titled “Virtual Method”A method in a base class that can be overridden in derived classes to provide different implementations.
A keyword indicating that a function does not return a value.
This list covers fundamental programming concepts. Understanding these terms provides a solid foundation for learning any programming language.