Any
programming language in which the programmer
specifies an explicit sequences of steps to follow to produce
a result (an
algorithm).
The term should not be confused with "
imperative language" -
a language that specifies explicit manipulation of state. An
example (non-imperative) procedural language is
LOGO, which
specifies sequences of steps to perform but does not have an
internal state.
Other procedural languages include
Basic,
Pascal,
C, and
Modula-2.
Both procedural and imperative languages are in contrast to
declarative languages, in which the programmer specifies
neither explicit steps nor explicit state manipulation.