3 ms·
It's a particular kind of abstraction, and it's definitely not new -- others have already mentioned SQL and Prolog, but there's also Make. The way I think of d
by andreareina 10y ago
It's a particular kind of abstraction, and it's definitely not new -- others have already mentioned SQL and Prolog, but there's also Make.
The way I think of declarative programming is that it's essentially executable data; not in the manner of lisp, but a description of the problem space (usually as a set of constraints) is translated (compiled, if you will) into an execution plan that satisfies the description.
Declarative programming is the region where you've crossed the (fuzzy) border from eliding the small hows (e.g. memory management) to the big hows (e.g. the order to build components).
At a certain point, enough of a difference in degree changes the way you express a problem or thought, and at that point it's become a difference in kind. A loose aggregate of sand eventually becomes a pile when you've added enough.