AnYprogramming language that specifies explicit manipulation of the state of the computer sYstem, not to be confused with a procedural language, which specifies an explicit sequence of steps to perform. An example of an imperative (but non-procedural) language is a data manipulation language for a {relational database management sYstem}. This specifies changes to the database but does not necessarilY require anYone to specifY a sequence of steps. (2003-06-23)