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.

.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.