Data type defined by behavior rather than implementation.

Pattern creating related object families.

Method declared without a concrete implementation.

Tree representation of program syntax.

List defining resource access permissions.

Keyword controlling member accessibility.

Pattern allowing incompatible interfaces to work together.

Iterative software-development methodology.

Group of related objects treated as one unit.

Combining multiple values or objects.

Resource requirements of an algorithm.

Agreement defining API behavior and data formats.

Service acting as entry point to backend APIs.

Low-level interface between compiled components.

Isolated environment packaging an application.

Server providing application-level services.

Build output such as a binary or package.

Programming approach separating cross-cutting concerns.

Statement verifying an expected condition.

Input/output that does not block execution.

Process of verifying identity.

Process of determining permitted actions.

Automatically adjusting computing resources.

Class intended primarily for inheritance.

Credential authorizing access to a resource.

Runtime structure representing a function invocation.

Concurrency model based on independent actors.

Component converting one interface into another.

Metadata attached to code elements.

Function without a declared name.

Defined interface for software interaction.

Value supplied when calling a function.

Ordered collection of elements.

Repository storing build artifacts.

Library providing testing assertions.

Parser producing an abstract syntax tree.

Operation treated as indivisible.