Programming(177 terms)
A full list of the Programming terms and explanations covered by ITBGM.
Use the search box below to filter by term name.
Each term links to a page with a more detailed, engineer-oriented explanation.
No terms match " ".
.NET Languages & Frameworks ☆
A development platform from Microsoft that supports multiple languages.
Abstract Class Object-Oriented Programming ☆
A class that has some shared logic while leaving part of its implementation to subclasses.
Access Modifier Object-Oriented Programming ☆
A keyword controlling where a class member can be accessed from.
Adapter Pattern Development Methods & Design ☆
A design pattern that inserts a converter between two incompatible interfaces so they can work together.
Angular Languages & Frameworks ☆
A frontend framework from Google geared toward large-scale development.
Argument Basic Syntax ☆
A value passed when calling a function.
Array Basic Syntax ☆
A data structure that stores multiple values arranged in order.
ASP.NET Languages & Frameworks ☆
A framework for web applications that runs on .NET.
Astro Languages & Frameworks ☆
A static site generation framework built for content-focused sites.
async/await Asynchronous Processing ☆
Syntax that lets you write asynchronous code that reads like synchronous code.
Asynchronous Processing Asynchronous Processing ☆
An execution scheme that lets the next step proceed without waiting for the current one to finish.
Builder Pattern Object-Oriented Programming ☆
A design pattern that constructs a complex object with many optional fields step by step.
Bun Languages & Frameworks ☆
A fast JavaScript/TypeScript runtime built with execution speed as its top priority.
Bytecode Memory Management ☆
Intermediate code for a runtime environment, generated after compilation.
C Languages & Frameworks ☆
A long-standing programming language widely used even at low levels, such as OSes and hardware control.
C# Languages & Frameworks ☆
A programming language developed by Microsoft, widely used in the .NET environment.
C++ Languages & Frameworks ☆
A high-performance programming language that adds object orientation and other features to C.
Callback Function Asynchronous Processing ☆
A function passed in to be called once some operation finishes.
Cast Basic Syntax ☆
Converting data of one type so it can be treated as another type.
Checked Exception Exception Handling ☆
A category of exception where handling it is mandatory at compile time.
CI/CD Development Methods & Design ☆
A set of development practices for continuously building and testing code changes and automatically releasing them to production.
Class Object-Oriented Programming ☆
A blueprint for an object that bundles data and behavior together.
Closure Basic Syntax ☆
A mechanism where a function remembers variables from the scope it was defined in.
Code Review Development Methods & Design ☆
The process where other developers check written code and give feedback.
Compilation Memory Management ☆
The process of converting source code into an executable form.
Conditional Branching Basic Syntax ☆
Switching which code runs based on a condition.
Constant Basic Syntax ☆
A container whose value can't be changed once defined.
Constructor Object-Oriented Programming ☆
Initialization logic that's automatically called when an instance is created.
CQRS Development Methods & Design ☆
A design pattern that deliberately separates the paths for updating data (commands) from reading data (queries).
Currying Basic Syntax ☆
Transforming a function that takes multiple arguments into a chain of functions that each take one argument.
Custom Exception Exception Handling ☆
A custom, application-specific exception class.
Dart Languages & Frameworks ☆
A programming language developed by Google, used with the Flutter framework.
Data Type Basic Syntax ☆
A classification indicating the kind of data being handled, such as a number or string.
Decorator Pattern Development Methods & Design ☆
A design pattern for dynamically adding new behavior to an existing object.
Deno Languages & Frameworks ☆
A security-focused JavaScript/TypeScript runtime created by the original author of Node.js.
Dependency Injection Development Methods & Design ☆
A design pattern where an object's dependencies are supplied from the outside rather than created internally.
Design Pattern Development Methods & Design ☆
A catalog of standard solutions to common design problems.
Destructuring Assignment Basic Syntax ☆
Syntax for unpacking elements of an array or object into individual variables in one step.
Django Languages & Frameworks ☆
A full-stack web application framework written in Python.
do-while Loop Basic Syntax ☆
A loop construct that runs the body once before checking the condition to decide whether to repeat.
DRY Principle Development Methods & Design ☆
The idea of avoiding writing the same information or logic more than once.
Duck Typing Object-Oriented Programming ☆
An approach that cares about whether an object has the necessary methods, rather than its declared type.
Dynamic Typing Basic Syntax ☆
A scheme where a variable's type is determined at runtime.
E2E (End-to-End) Test Development Methods & Design ☆
A test that operates an actual browser or similar client to verify an entire system, from the user's action all the way through to what's displayed on screen.
Elixir Languages & Frameworks ☆
A functional language with high concurrency and fault tolerance, running on the Erlang VM.
Encapsulation Object-Oriented Programming ☆
The idea of hiding internal data and logic, exposing only the necessary interface to the outside.
Error Handling Exception Handling ☆
Appropriately dealing with errors that occur while a program is running.
Event Loop Asynchronous Processing ☆
A mechanism that pulls queued events one at a time to drive processing forward.
Event Sourcing Development Methods & Design ☆
An architectural pattern that records every change (event) leading up to the current state, rather than storing only the latest state itself.
Event-Driven Architecture Development Methods & Design ☆
A system design where services are loosely coupled, communicating through the occurrence of "events."
Exception Exception Handling ☆
An unexpected error condition that occurs during execution.
Express Languages & Frameworks ☆
A simple web application framework running on Node.js.
Facade Pattern Development Methods & Design ☆
A design pattern that bundles access to a complex set of interrelated classes behind a single, simple entry point (a facade).
Factory Pattern Object-Oriented Programming ☆
A design pattern that delegates instance creation to a dedicated class.
FastAPI Languages & Frameworks ☆
A Python framework that leverages type hints to build fast APIs.
Feature Flag Development Methods & Design ☆
A mechanism that lets you turn a specific feature on or off without redeploying code.
Field Object-Oriented Programming ☆
Data (a variable) that a class holds.
finally Exception Handling ☆
A block of code that always runs regardless of whether an exception occurred.
Flask Languages & Frameworks ☆
A lightweight Python web framework where you pick and combine the features you need.
for Statement Basic Syntax ☆
A control construct that repeats processing a specified number of times.
Function Basic Syntax ☆
A named, reusable bundle of processing.
Garbage Collection Memory Management ☆
A mechanism that automatically frees memory that's no longer in use.
Generics Collections ☆
A mechanism for generically specifying the data type being handled.
Go Languages & Frameworks ☆
A language developed by Google, characterized by simplicity and strong concurrency performance.
GraphQL Languages & Frameworks ☆
A query language for APIs that lets the client specify exactly what shape of data it needs.
gRPC Languages & Frameworks ☆
An RPC (remote procedure call) framework developed by Google for fast communication.
Heap Area Memory Management ☆
A memory region where objects and the like are allocated dynamically.
Higher-Order Function Basic Syntax ☆
A function that takes a function as an argument or returns one as its result.
Immutable Basic Syntax ☆
The property of a value that can't be changed once created.
Inheritance Object-Oriented Programming ☆
A mechanism for creating a new class by carrying over the functionality of an existing one.
Instance Object-Oriented Programming ☆
A concrete entity actually created from a class.
Integration Test Development Methods & Design ☆
A test run with multiple modules combined together.
Interface Object-Oriented Programming ☆
A definition of only the method specifications that a class must implement.
Iterator Collections ☆
A mechanism for retrieving elements from a collection one at a time, in order.
Java Languages & Frameworks ☆
A leading object-oriented language widely used in enterprise system development.
JavaScript Languages & Frameworks ☆
A widely used programming language that runs in the browser, adding interactivity to web pages.
JVM Memory Management ☆
A virtual machine for executing Java bytecode.
KISS Principle Development Methods & Design ☆
A basic software design principle meaning "keep it simple."
Kotlin Languages & Frameworks ☆
A language highly compatible with Java, also used as a standard in Android development.
Lambda Expression Basic Syntax ☆
A concise way to define a function on the spot without giving it a name.
Laravel Languages & Frameworks ☆
A leading, feature-rich web application framework for PHP.
Linked List Collections ☆
A list structure where elements are linked together by references to the next one.
Linter Development Methods & Design ☆
A tool that automatically checks code style and potential mistakes against a predefined set of rules.
List Collections ☆
A data structure that stores multiple elements while preserving order.
Loop Basic Syntax ☆
Repeating the same processing until a condition is met.
Map Collections ☆
A structure that stores data as key-value pairs.
Memory Leak Memory Management ☆
A bug where memory that's no longer needed is never freed and keeps being consumed.
Method Object-Oriented Programming ☆
A procedure (function) defined on a class.
Microservices Development Methods & Design ☆
An architecture that splits a single system into small, independently deployable services.
Mixin Object-Oriented Programming ☆
A technique for incorporating functionality into multiple classes, separate from inheritance.
Mock Development Methods & Design ☆
A type of test double that records how many times it was called and with what arguments, letting you verify it was used as expected.
Modular Monolith Development Methods & Design ☆
A design approach that deploys as a single application while clearly dividing its internals into independent, well-bounded modules.
Monolithic Architecture Development Methods & Design ☆
A design approach that bundles all of an application's functionality into a single deployable unit.
Monorepo Development Methods & Design ☆
A practice of managing multiple projects or packages together in a single repository.
Mutable Memory Management ☆
A property of an object or data whose internal state can be changed after it's created.
Mutual Exclusion Asynchronous Processing ☆
Controlling access so that multiple processes don't touch the same resource at the same time.
Namespace Basic Syntax ☆
A mechanism for grouping identifiers to avoid naming collisions.
NestJS Languages & Frameworks ☆
A backend framework for Node.js, written in TypeScript.
Next.js Languages & Frameworks ☆
A framework built on React that adds features such as server-side rendering.
Node.js Languages & Frameworks ☆
A runtime for executing JavaScript on the server side.
npm Languages & Frameworks ☆
The standard package manager for managing JavaScript and Node.js libraries.
null Basic Syntax ☆
A special value representing the absence of a value.
NullPointerException Exception Handling ☆
A common exception thrown when code tries to operate on something that doesn't exist (null).
Nuxt Languages & Frameworks ☆
A full-stack framework built on Vue.js with SSR and SSG capabilities.
Observer Pattern Object-Oriented Programming ☆
A design pattern that automatically notifies multiple registered objects when state changes.
Operator Basic Syntax ☆
A symbol that performs an operation on values, such as addition or comparison.
Overload Object-Oriented Programming ☆
Defining multiple methods with the same name but different parameters.
Override Object-Oriented Programming ☆
Redefining a parent class's method in a child class.
Pair Programming Development Methods & Design ☆
A development style where two people write code together while looking at one screen.
Pass by Reference Memory Management ☆
A parameter-passing scheme where the location of a value (a reference) is passed.
Pass by Value Memory Management ☆
A parameter-passing scheme where a copy of the value itself is passed.
PHP Languages & Frameworks ☆
A scripting language widely used for writing web server-side logic.
Pointer Memory Management ☆
A variable used to directly handle an address in memory.
Polymorphism Object-Oriented Programming ☆
The property that the same call can behave differently depending on the actual object.
Promise Asynchronous Processing ☆
An object that lets you handle the eventual result of an asynchronous operation.
Pure Function Basic Syntax ☆
A function that, given the same arguments, always returns the same result and does not modify any external state.
Python Languages & Frameworks ☆
A programming language with simple syntax, used broadly from AI development to web development.
Queue Collections ☆
A first-in, first-out data structure where the first item added is the first one removed.
R Languages & Frameworks ☆
A programming language specialized for statistical analysis and data visualization.
React Languages & Frameworks ☆
A JavaScript library from Facebook for building UIs out of components.
Recursion Basic Syntax ☆
A technique where a function calls itself to carry out processing.
Refactoring Development Methods & Design ☆
Reorganizing and improving code's internal structure without changing its external behavior.
Reference Counting Memory Management ☆
A scheme that counts how many places reference an object and frees it once that count reaches zero.
Remix Languages & Frameworks ☆
A React-based full-stack framework that emphasizes leaning on the web platform's built-in features.
REST API Development Methods & Design ☆
A standard API design style for web services, built around the mechanics of HTTP.
Return Value Basic Syntax ☆
The value returned as the result of a function's processing.
Ruby Languages & Frameworks ☆
An object-oriented language from Japan that prioritizes ease of writing.
Ruby on Rails Languages & Frameworks ☆
A highly productive web framework in Ruby, built around convention over configuration.
Rust Languages & Frameworks ☆
A relatively new language that combines memory safety with high performance.
Scala Languages & Frameworks ☆
A JVM-based language combining features of both object-oriented and functional programming.
Scope Basic Syntax ☆
The range within which a variable, for example, can be referenced.
Semantic Versioning Development Methods & Design ☆
A convention for expressing the compatibility of a change in a version number, in the form "major.minor.patch."
Semaphore Asynchronous Processing ☆
A concurrency-control mechanism that uses a counter to limit how many callers can access a resource at the same time.
Server-Side Rendering Development Methods & Design ☆
A rendering approach where a web page's initial HTML is generated on the server rather than in the browser.
Set Collections ☆
A data structure that stores elements without allowing duplicates.
Singleton Pattern Object-Oriented Programming ☆
A design pattern that guarantees a class has at most one instance.
SOLID Principles Development Methods & Design ☆
A set of five principles for creating maintainable designs.
SPA (Single Page Application) Development Methods & Design ☆
A web application architecture that loads the full page only once, then uses JavaScript to rewrite just parts of the screen from then on.
Spring Boot Languages & Frameworks ☆
A mechanism that simplifies Spring Framework configuration so development can start quickly.
Spring Framework Languages & Frameworks ☆
A framework for Java, widely used in enterprise system development.
Stack Collections ☆
A last-in, first-out data structure where the most recently added item is removed first.
Stack Area Memory Management ☆
A memory region where function-call information and the like is temporarily pushed.
Stack Trace Exception Handling ☆
A record showing where an exception occurred and how it was called.
Static Analysis Development Methods & Design ☆
A technique that analyzes source code to detect problems without actually running the program.
static Modifier Object-Oriented Programming ☆
A modifier marking a member as belonging to the class, usable without creating an instance.
Static Typing Basic Syntax ☆
A scheme where a variable's type is fixed at compile time.
Strategy Pattern Development Methods & Design ☆
A design pattern that extracts an algorithm as an interchangeable component that can be swapped out at runtime.
Stream API Collections ☆
A mechanism for describing collection operations as a single chain.
super Object-Oriented Programming ☆
A keyword used to refer to members of the parent class being inherited from.
Svelte Languages & Frameworks ☆
A JavaScript framework that compiles at build time to keep the runtime lightweight.
Swift Languages & Frameworks ☆
A programming language from Apple for iOS/macOS app development.
SwiftUI Languages & Frameworks ☆
A framework for building UI declaratively in Apple's Swift language.
switch Statement Basic Syntax ☆
A control construct that branches into multiple paths based on a single value.
Synchronous Processing Asynchronous Processing ☆
An execution scheme where the next step waits until one step finishes.
Tailwind CSS Languages & Frameworks ☆
A utility-first CSS framework for styling by combining small, single-purpose class names.
Ternary Operator Basic Syntax ☆
An operator that simplifies an if statement, letting a condition be written in one line.
Test Double Development Methods & Design ☆
An umbrella term for techniques that replace an external element a test subject depends on with a stand-in built for testing.
Test-Driven Development Development Methods & Design ☆
A development method where you write a test first, then implement code that satisfies it.
this Object-Oriented Programming ☆
A keyword used inside a method to refer to its own instance.
Thread Pool Asynchronous Processing ☆
A mechanism that creates a fixed number of threads in advance and reuses them.
Thread-Safe Asynchronous Processing ☆
The property of working correctly even when accessed simultaneously from multiple threads.
throw Exception Handling ☆
An operation that deliberately raises an exception.
Trait Object-Oriented Programming ☆
A reusable collection of methods used to add functionality to a class.
try-catch Exception Handling ☆
Syntax that wraps code that might throw an exception and separates out what happens if it does.
Tuple Collections ☆
A data structure that bundles values of different types together in a fixed order.
Type Inference Basic Syntax ☆
A mechanism where the compiler determines a type automatically, without it being written explicitly.
Type Safety Basic Syntax ☆
A property where operations that violate a data type are caught, at compile time or run time, to prevent unintended bugs.
TypeScript Languages & Frameworks ☆
A statically typed programming language that adds a type system to JavaScript.
Unchecked Exception Exception Handling ☆
A category of exception that occurs at runtime and isn't enforced at compile time.
Unit Test Development Methods & Design ☆
A test performed on a small unit, such as a function or class.
Variable Basic Syntax ☆
A named container for temporarily storing a value.
Vite Languages & Frameworks ☆
A next-generation frontend build tool focused on fast startup and updates during development.
Vue.js Languages & Frameworks ☆
A JavaScript framework with a gentle learning curve and easy to work with.
WebAssembly Languages & Frameworks ☆
A binary instruction format that runs in the browser at close to native speed.
Webpack Languages & Frameworks ☆
A module bundler that combines multiple JavaScript files, CSS, images, and more into one (or a few) output files.
while Statement Basic Syntax ☆
A control construct that repeats processing while a condition is true.
YAGNI Principle Development Methods & Design ☆
A software development principle cautioning against building anything beyond what's needed right now.
© 2026 ITBGM