from
The Free On-line Dictionary of Computing (8 July 2008)
subroutine
procedure
routine
<programming> (Or "procedure") A sequence of {instructions}
for performing a particular task. Most programming languages,
including most {machine languages}, allow the programmer to
define subroutines. This allows the subroutine code to be
called from multiple places, even from within itself (in which
case it is called {recursive}). The programming language
implementation takes care of returning control to (just after)
the calling location, usually with the support of call and
return instructions at {machine language} level.
Most languages also allow {arguments} to be passed to the
subroutine, and one, or occasionally more, {return values} to
be passed back.
A {function} is often very similar to a subroutine, the main
difference being that it is called chiefly for its return
value, rather than for any {side effects}.
(1996-10-01)