Code Abstraction
Any programming language should provide ways to specify a lot of computation with a little code.
Execution sequences that contain a lot of similar subcomputations should be represented using abstractions:
An abstraction is a representation of what two or more things have in common.
E.g. Two or more iterations of a loop have the sequence of instructions in the loop body in common.
E.g., Two square-root computations have the square-root algorithm in common.