Declarative programming describes what result is desired rather than how to compute it. The programmer specifies constraints, rules, or transformations, and the runtime determines the execution strategy. SQL, HTML, CSS, and Prolog are declarative: they express the desired outcome without prescribing control flow.