A programming language design paradigm that is derived from the way a Turing machine operates, i.e. a language that encourages programming based on notions of an internal state and operations that change that state. Statements in an imperative language consist of commands for the computer to perform. Also known as procedural languages.

The vast majority of modern machine languages are almost totally imperative in their design, and most programming languages people are familiar with also generally follow this style of programming. C, Pascal, Java, C#, COBOL, and many many others are all variations on this theme.