Abstraction Glossary

Browse 47 abstraction terms defined in plain English, from the cultural dictionary of computing.

47 Abstraction Terms

AI Layer
A distinct layer in an application's architecture where AI-related logic is concentrated, such as prompting, retrieval, inference routing, or post-processing....
API Wrapper
A library or module that wraps low-level API calls behind a more convenient interface, often handling auth, retries, pagination, and error translation for the...
Class
A blueprint for creating objects that encapsulates data (fields/properties) and behavior (methods) into a single unit. Classes are the fundamental building...
Command Line Interface
A Command Line Interface is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Communication Layer
The part of a system responsible for sending, receiving, or abstracting communication between components, services, or clients. A communication layer typically...
Compute Unit
A provider-defined or system-defined unit of compute capacity used for scheduling, billing, or performance abstraction. The exact meaning varies by platform,...
Curried Function
A Curried Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Currying
The technique of transforming a function that takes multiple arguments into a sequence of functions that each take a single argument. Named after mathematician...
Custom Hook
A Custom Hook is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
Deploy Hook
A Deploy Hook is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier...
DSL
Domain-Specific Language — a programming language designed for a specific problem domain rather than general-purpose use. SQL, HTML, CSS, regular expressions,...
Durable Function
A Durable Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Factory Function
A Factory Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
First-Class Function
A First-Class Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Fluent Interface
A Fluent Interface is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Framework
A framework is a reusable software platform that provides foundational structure, conventions, and built-in functionality for building applications within a...
Free Function
A Free Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Function
A named, reusable block of code that accepts inputs (parameters), performs a computation, and optionally returns a result. The fundamental unit of abstraction...
Functional Component
A Functional Component is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Functional Core Imperative Shell
A Functional Core Imperative Shell is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it...
Functional Programming
Functional programming (FP) is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids mutable state and side...
Functional Reactive Programming
A Functional Reactive Programming is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it...
Function Composition
A Function Composition is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Function Overloading
A Function Overloading is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Function Pointer
A Function Pointer is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Function Signature
A Function Signature is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Generator Function
A Generator Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Generic
A programming construct that allows types to be parameterized, enabling code to operate on different data types while maintaining compile-time type safety...
Google Cloud Function
A Google Cloud Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
Hash Function
A Hash Function is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Higher-Order Function
A function that takes one or more functions as arguments, returns a function, or both. The foundation of functional programming patterns like map, filter,...
Hook
A Hook is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code easier to...
Interface
A contract that defines a set of method signatures without implementations, which concrete classes must fulfill. Enables polymorphism, dependency inversion,...
Interface Segregation
An Interface Segregation is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make...
LLM Wrapper
A wrapper around large language model APIs that hides provider details and exposes a cleaner project-specific interface. LLM wrappers are common when teams...
Meta Programming Slang
Informal language used when talking about code that writes, transforms, or reasons about other code. In engineering slang, metaprogramming talk often...
Monad
A design pattern from category theory that wraps values in a computational context, providing bind and return operations to chain operations while handling...
Object-Relational Mapping
A technique (and family of libraries such as Hibernate, SQLAlchemy, and Prisma) that maps database tables to classes and rows to object instances, allowing...
Opaque Type
A type whose internal representation is hidden from consumers of a module or API, exposing only the operations defined on it. In Swift (`some Protocol`),...
ORM
Object-Relational Mapping — a technique that lets you interact with a database using your programming language's objects instead of raw SQL. Beloved by those...
Polymorphism
The ability of different types to respond to the same interface — a function or method behaves differently depending on the type of object it's called on,...
Reader
An interface or trait that abstracts reading bytes from an underlying source — files, sockets, buffers, or compressed streams — through a common read() method....
Rule of Three
A software design heuristic that suggests waiting until you have implemented something three times before extracting a general abstraction. It is meant to...
Stack Depth
The number of layers, calls, or abstractions between an action and its underlying effect. In engineering slang, too much stack depth usually means slower...
Syntax Sugar
Syntactic features in a programming language that make code easier to read or write but don't add new capabilities — they're just a sweeter way to express...
Virtual File System
An abstraction layer in the operating system kernel that provides a uniform file-operation interface (open, read, write, close) regardless of the underlying...
Writer
An abstraction or interface — such as Go's io.Writer or Java's java.io.Writer — that represents a destination to which bytes or characters can be sequentially...

Related Topics