LoopingConstructs are a fundamental element of programming. Without looping (i.e. repeating) you couldn't abstract away anything. Looping is at the very least required in the hardware, e.g. in the form of a ProgramCounter?.
Looping can be realized by Recursion: See TailRecursionElimination and RecursionVsLoop.
There are quite a few pages here, but there is no category or else for them: