The major programming paradigms known today are functional, object oriented and imperative programming paradigm.
In this paradigm functions are only allowed to return values to the caller of the function. They are not allowed to produce side effects.
This means that the language does not allow assignment statements. It does not provide a facility to execute statements but to evaluate expressions.
Programs written in a functional style are very robust and easier to debug in contrast to imperative programs which may produce side effects causing a complexity that is very difficult to handle.
Programming languages that require to program in a functional style are Haskell, ML, SML, Miranda and others.
Scheme is a hybrid language which favors the functional programming paradigm but can also be used to program in an object oriented or even imperative style because it does allow assignment statements, which are flagged however to indicate their potential danger.
The data are called attributes and the procedures are called methods. In most cases objects of the same type are assigned to classes of objects. Classes may be hierarchically structured. Subclasses automatically inherit all attributes and methods of their parent class.
A language that is strictly object oriented is Smalltalk. Java gets close to being strictly object oriented but not quite because it allows to program in an imperative style on a lower level (within methods). Python is another popular language that is primarily object oriented.
C++ is a hybrid language however which favors the object oriented paradigm but does allow to program in almost any style if desired.
To execute instructions or statements is the idea behind imperative programming. The early higher level languages like BASIC, FORTRAN and COBOL are precisely modelled after this way of thinking.
Structured Programming, which avoids GOTO statements, stills follows the imperative style however. A language falling into this category is Pascal, which was the language of choice for a long time at schools of higher education.
Whereas BASIC, FORTRAN, COBOL and Pascal cannot be considered popular languages anymore, the language C still is. C favors the imperative style but because it is a low level language can be used to implement any style as well.
Whereas the Lambda Calculus serves as a solid base for the functional paradigm only only, ARS, which can be looked at as a generalized lambda calculus, can serve as a base for all three paradigms.
See also:Principles of Programming.