Declarative Languages (nonprocedural languages) Definition/Meaning:
A class of programming
languages. With a declarative language a program explicitly states what
properties the desired result is required to exhibit but
does not state how the desired result is to be obtained; any means of producing
a result that displays the required properties is acceptable (compare imperative
languages).
Since declarative languages are concerned with static rather than dynamic
concepts (i.e. what rather than how), they do not depend on any inherent notion
of ordering and there is no concept of flow of control and no assignment
statement. Ideally a program in a declarative language would consist solely of
an unordered set of equations sufficient to characterize the desired result.
However, for reasons of implementation and efficiency, the existing languages
fall somewhat short of this, either in semantics or in style of use (or both).
Declarative languages are not tied to the von Neumann model of computation and
typically there is scope for employing a high degree of parallelism in obtaining
the desired result.
See also functional languages.
|