Concepts

Plain-language explanations of the ideas behind software - compilers, garbage collection, objects, types.

628 entries, all primary-sourced
concept

Permissive License

A class of open source licenses that impose minimal restrictions, typically only attribution, and place no copyleft requirement on derivative works, so the code may be incorporated into proprietary software; the philosophical counterpoint to copyleft.

concept

Persistent Data Structure

An immutable data structure whose 'modified' versions are new values that share most of their structure with the old, giving efficient immutable collections.

concept

Physical vs Logical Clocks

The trade-off between physical clocks, which track real wall-clock time but drift and need synchronization, and logical clocks, which count event order without real time; hybrid approaches like Google's TrueTime combine both.

concept

Pipeline as Code

The practice of defining a project's build, test, and deploy pipeline in a version-controlled file checked into the repository, rather than configuring it by clicking through a UI.

concept

Pipes and Filters

The Unix idea, championed by Doug McIlroy, of building large jobs from small programs that each do one thing well and pass text to each other through pipes.

concept

Pipes and Redirection

The shell facilities that connect one program's output to another's input (the pipe |) and route a program's input and output to files (>, <, >>).

concept

Polynomial Time

The property of an algorithm whose running time is bounded by a polynomial in the size of its input; it is the formal stand-in for efficient computation and defines the complexity class P.

concept

Primary Key

The column or columns that uniquely identify each row in a table and may not be null, serving as the anchor for relationships and indexing.

concept

Priority Queue

An abstract data type that always serves the highest-priority element next, usually implemented with a heap, and the engine behind Dijkstra's algorithm, scheduling, and event simulation.

concept

Pseudocode

An informal, language-independent way of describing an algorithm's logic in structured, human-readable steps without committing to any programming language's syntax.

concept

Public Key Infrastructure (PKI)

The system of certificate authorities, certificates, and policies that binds public keys to real-world identities, so a public key can be trusted to belong to a specific website or person.

concept

Public-Key Cryptography

Encryption using a key pair, a public key to encrypt or verify and a private key to decrypt or sign, letting parties who never met communicate securely.

concept

Publish-Subscribe

A messaging pattern where publishers send messages to topics without knowing the subscribers, and subscribers receive all messages on topics they follow - enabling loosely coupled, fan-out communication.

concept

Pull Request

A way to propose changes by asking a project to pull from your branch or fork, with discussion and review happening before the change is merged.

concept

Pure Function

A function whose output depends only on its inputs and which has no side effects, making it deterministic, testable, and safely parallelizable.

concept

Pushdown Automaton

A finite automaton augmented with a stack, which recognizes exactly the context-free languages and underlies parsers that handle nesting.

concept

PyCon

The Python community's flagship conference, produced by the Python Software Foundation and held annually since 2003, known for its development sprints and a culture that prizes community as much as the language.

concept

Query Execution

How a database actually runs a chosen query plan: an engine of operators - scans, index lookups, joins, sorts, aggregations - that pipeline rows to produce a result.

concept

Query Language

A language for retrieving and manipulating data by describing what you want rather than how to get it, leaving the database system to work out an efficient plan.

concept

Query Optimizer

The database component that turns a declarative SQL query into an efficient execution plan by estimating the cost of alternative strategies, pioneered by Selinger's System R optimizer.

concept

Queue

A first-in-first-out collection with enqueue and dequeue, underlying scheduling, buffering, breadth-first traversal, and message passing.

concept

Quicksort

Tony Hoare's divide-and-conquer sorting algorithm that partitions data around a pivot, with average O(n log n) running time and in-place operation.

concept

Quorum

Requiring a minimum number of replicas to acknowledge a read or write (for example R + W > N) so a distributed system stays consistent and available despite some node failures.

concept

Ransomware

Malware that encrypts a victim's files or locks their systems and demands payment, usually in cryptocurrency, for the key; major outbreaks such as WannaCry and NotPetya in 2017 caused billions in damage.

concept

Rate Limiting

Capping how many requests a client may make in a window to protect a service from overload, typically signaled with the HTTP 429 status and RateLimit response headers.

concept

Read-Your-Writes Consistency

A session guarantee that after a process performs a write, its own later reads will observe that write, even if other clients might not see it yet.

concept

Recursion

Defining something in terms of itself, such as a function that calls itself or a structure built from smaller copies of itself.

concept

Refactoring

Changing the internal structure of existing code to make it easier to understand and cheaper to modify, without changing its observable behavior.

concept

Referential Transparency

The property that an expression can be replaced by its value without changing the program's behavior, which requires pure functions with no side effects.

concept

Regular Expressions

A compact notation for describing text patterns, rooted in Kleene's 1951 theory of automata and made into a practical search tool by Ken Thompson and the Unix utilities built on his work.

concept

Regular Language

The simplest class in the Chomsky hierarchy: languages recognized by finite automata and described by regular expressions.

concept

Relational Algebra

The formal set of operations on relations (select, project, join, union, and others) that gives relational databases their mathematical foundation and powers query optimization.

concept

Relational Database

A database built on Codd's relational model that stores data in tables of rows and columns, accessed through SQL, with keys and constraints that enforce integrity.

concept

Relational Model

A way of organizing data as relations (tables of rows and columns) with keys and set-based operations, kept independent of how the data is physically stored.

concept

Replicated Log

An append-only log of commands kept consistent across replicas via consensus, so each replica applies the same operations in the same order.

concept

Replication (Distributed Data)

Keeping copies of the same data on multiple machines for fault tolerance, lower latency, and higher read throughput.

concept

Replication Lag

The delay between a write on the leader and its appearance on followers, which causes anomalies like reading stale data.

concept

Reproducible Builds

The property that building the same source in the same environment always yields a bit-for-bit identical artifact, so anyone can verify a binary matches its source.

concept

Requirements Engineering

The discipline of eliciting, analyzing, specifying, and validating what a software system must do and the constraints it must meet.

concept

REST

Roy Fielding's architectural style for networked software, built around resources, uniform interfaces, and stateless interaction over HTTP.

concept

RISC (Reduced Instruction Set Computer)

A processor design philosophy built on a small set of simple, fixed-length, load-store instructions that pipeline efficiently, argued for by Patterson and Ditzel in 1980.

concept

Root Name Server

The authoritative name servers that serve the DNS root zone -- the apex of the naming tree. Resolvers start here to find which server is responsible for a top-level domain. There are thirteen named root server identities, A through M.

concept

Root-Cause Analysis

The practice of tracing a failure back to its underlying cause rather than stopping at the visible symptom, using techniques like the Five Whys to follow the causal chain to where a fix actually prevents recurrence.

concept

RSA (Public-Key Cryptosystem)

The first practical public-key cryptosystem, whose security rests on the difficulty of factoring the product of two large prime numbers.

concept

Saga Pattern

A way to manage a long-running transaction across multiple services as a sequence of local transactions, each with a compensating action to undo it if a later step fails.

concept

Scalability

The ability of a system to handle growing load by adding resources, either a bigger machine (vertical) or more machines (horizontal).

concept

Scope Creep

The uncontrolled growth of a project's requirements after it has begun, when new features are added without adjusting time, budget, or resources.

concept

Scrum

An agile framework that organizes work into fixed-length sprints with defined accountabilities, events, and artifacts; the most widely used agile method.