Concepts

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

628 entries, all primary-sourced
concept

Hello, World

The traditional first program a learner writes in a new language, printing the words hello world; born in Kernighan's 1972 B tutorial and canonized by K&R in 1978 as the universal smoke test.

concept

Here Document

A shell redirection that feeds an inline block of multi-line text to a command as its standard input, written between <<EOF and a matching closing word.

concept

High Availability

Designing a system to minimize downtime, often measured in 'nines' of uptime, by eliminating single points of failure through redundancy and fast failover.

concept

Higher-Order Function

A function that takes other functions as arguments or returns a function, enabling general patterns like map, filter, and reduce.

concept

Hindley-Milner Type System

A type system and inference algorithm that deduces the most general type of a program with let-polymorphism, without type annotations; it underlies ML, Haskell, and much of modern typed functional programming.

concept

Hofstadter's Law

Douglas Hofstadter's self-referential rule from Godel, Escher, Bach that a task always takes longer than you expect, even when you account for Hofstadter's Law.

concept

Homoiconicity

The property that a language's code is represented using its own ordinary data structures, so programs can easily generate and transform code.

concept

HOSTS.TXT

The single centralized host table that mapped names to addresses on the early ARPANET, maintained by hand at SRI-NIC and distributed to every host. Its inability to scale is what motivated the invention of DNS.

concept

Hydration

The process of attaching client-side JavaScript interactivity to server-rendered HTML, turning a static HTML snapshot into a fully interactive application in the browser.

concept

Hypertext

Text linked to other text by clickable references, a term coined by Ted Nelson in 1965 and realized at global scale by the World Wide Web.

concept

Hypervisor

The software layer, also called a virtual machine monitor, that creates and runs virtual machines by sharing one computer's physical hardware among them.

concept

IaaS, PaaS, and SaaS

The three classic cloud service models defined by NIST - Infrastructure as a Service (rent raw VMs and storage), Platform as a Service (deploy code without managing servers), and Software as a Service (use finished applications).

concept

Idempotency

A property of an operation that produces the same result no matter how many times it is applied, which lets clients safely retry requests in a distributed system.

concept

Immutability

The property that a value cannot be changed after it is created; instead of mutating data, you build new values from old ones.

concept

Immutable Infrastructure

The practice of never modifying running servers in place; instead you build a new image and replace the old one wholesale, eliminating configuration drift.

concept

In-Memory Database

A database that keeps its working data in RAM rather than on disk for very low latency, trading durability and cost for speed.

concept

In-Place Algorithm

An algorithm that transforms its input using only a small, constant amount of extra memory, modifying the data directly instead of copying it elsewhere.

concept

Incremental Build

Rebuilding only the parts of a project whose inputs changed, instead of rebuilding everything - the trick that keeps large builds fast.

concept

Information Theory

Claude Shannon's mathematical theory of communication, which shows how to quantify information and sets the limits of data compression and reliable transmission over noisy channels.

concept

Instruction Pipelining

Overlapping the fetch, decode, and execute stages of successive instructions like an assembly line, so a new instruction starts before the previous one finishes; managing the hazards and stalls this creates.

concept

Instruction Set Architecture

The contract between hardware and software: the instructions, registers, and memory model a processor exposes, and the boundary that lets the same binary run on many different chip implementations.

concept

Integer Overflow

When an arithmetic result exceeds the range of its integer type and wraps around to a wrong, often small or negative, value; a subtle bug that can cause buffer overflows, security holes, and famous failures.

milestone

Integrated Circuit

The chip that places many electronic components on a single piece of semiconductor, conceived by Jack Kilby at Texas Instruments in 1958 and made practical by Robert Noyce's planar silicon process at Fairchild.

concept

Islands Architecture

A frontend pattern named by Jason Miller in 2020 (crediting Katie Sylor-Miller): render pages as static server HTML and hydrate only small, independent interactive 'islands', leaving the rest as inert markup.

concept

Isolation Levels

The SQL-standard levels - read uncommitted, read committed, repeatable read, serializable - that trade transaction isolation against concurrency by choosing which anomalies they permit.

concept

Issue Tracker

A system for recording, prioritizing, and tracking bugs and feature requests through their lifecycle - the shared to-do list and memory of a software project.

concept

Jamstack

A web architecture (JavaScript, APIs, Markup) coined by Netlify's Mathias Biilmann around 2015: pre-rendered static markup served from a CDN, made dynamic with client-side JavaScript and reusable APIs.

concept

JSX

An XML-like syntax extension to ECMAScript, popularized by React, that lets developers write HTML-like markup directly inside JavaScript to describe user interfaces.

concept

Kanban

A lean, flow-based method that visualizes work and limits work-in-progress to expose bottlenecks, adapted to software from Toyota's manufacturing system.

concept

Kerckhoffs's Principle

The principle, stated by Auguste Kerckhoffs in 1883, that a cryptosystem should remain secure even if everything about it except the key is public knowledge.

concept

Kernel

The innermost part of an operating system, running in a privileged mode with full control of the hardware; designs range from large monolithic kernels to small microkernels.

concept

Kerning

Adjusting the space between specific pairs of letters so that text appears evenly spaced -- distinct from tracking, which adjusts spacing uniformly -- encoded in fonts through kern tables and OpenType's GPOS positioning data.

concept

Key Exchange

The problem and protocols for two parties to establish a shared secret key securely, the classic obstacle for symmetric encryption that Diffie-Hellman solved.

concept

Key-Value Store

The simplest NoSQL model: a distributed hash map of unique keys to opaque values, optimized for fast, scalable lookups.

concept

Kludge

Hacker term, also spelled kluge, for an inelegant solution that nonetheless works: a clumsy patch or clever programming trick that handles a nasty case efficiently if not cleanly, central to the engineering folklore collected in the Jargon File.

concept

Lambda (Anonymous Function)

An anonymous function written inline without a name, such as x => x + 1; named after the lambda calculus and now found in nearly every modern language.

concept

Lambda Calculus

Church's formal system of function definition and application that is a universal model of computation and the theoretical basis of functional programming.

concept

Lazy Evaluation

Delaying the evaluation of an expression until its value is actually needed, which enables infinite data structures and can avoid unnecessary work.

concept

Leader Election

The process by which distributed nodes choose a single node to coordinate, and choose a new one when it fails.

concept

Leader-Follower Replication

The most common replication scheme: one leader accepts writes and streams them to followers that serve reads.

concept

Leap-Second Bug

To keep clocks aligned with the Earth's uneven rotation, an extra second (shown as 23:59:60) is occasionally inserted into UTC. Software that assumes every minute has exactly 60 seconds can break when it sees the 61st, and the disruption pushed metrology bodies to vote in 2022 to phase the leap second out by 2035.

concept

Linear Search

The simplest search: check each element in turn until the target is found or the data is exhausted, running in O(n) time.

concept

Linearizability

The strongest single-object consistency condition: every operation appears to take effect instantaneously at one moment between its call and its return, so the system behaves like a single up-to-date copy.

concept

Linked List

A sequence of nodes each pointing to the next, giving cheap insertion and deletion at a known position but slow access by index.

concept

Linux Namespaces

A Linux kernel feature that gives a process group its own isolated view of system resources such as process IDs, network stacks, mount points, and user IDs.

concept

Locality of Reference

The empirical tendency of programs to reuse data they accessed recently (temporal locality) and to access data near what they just touched (spatial locality) - the regularity that makes caches and the whole memory hierarchy work, formalized by Peter Denning's 1968 working-set model.

concept

Lockfile

A generated file that pins the exact resolved versions of every dependency so installs are reproducible across machines and over time.

concept

Logical Clock

A counter-based mechanism introduced by Leslie Lamport in 1978 for ordering events across a distributed system without relying on synchronized physical clocks.