Procedural programming is a method (a programming paradigm) of computer programming based upon the concept of the unit and scope (the data viewing range of an executable code statement). A procedural program is composed of one or more units or modules--either user coded or provided in a code library; each module is composed of one or more procedures, also called a function, routine, subroutine, or method, depending on programming language. It is possible for a procedural program to have multiple levels or scopes, with procedures defined inside other procedures. Each scope can contain variables which cannot be seen in outer scopes.
Procedural programming offers many benefits over simple sequential programming: Procedural programming code is easier to read and more maintainable; Procedural code is more flexible; Procedural programming allows for the easier practice of good program design.