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.