Subprograms are similar to both functions and classes in other commonly used programming languages.
Consequently, subroutine calls and interrupts are dealt with without incurring branch penalties.
It was developed by Tony Brooker and Derrick Morris as a variant of the ALGOL programming language, removing some Algol features such as "passing parameters by name" (which in Algol 60 means passing the address of a short subroutine to recalculate the parameter each time it was mentioned).
Fox played a signifficant part in the early days of the Numerical Algorithms Group (NAG), which set out as a collaborative venture between Oxford, Nottingham and Manchester to provide a reliable and well-tested mathematical subroutine library.
in Internet — Remote procedure call (RPC), a communication process that allows for executing a subroutine or procedure in another address space
In Windows PowerShell all evaluated expressions which are not captured (e.g., assigned to a variable, cast to void or piped to $null) are returned from the subroutine as elements in an array, or as a single object in the case that only one object has not been captured.