Obserwacja ta znalazła zastosowanie w konstrukcji procesorów i wyrażenia tego w języku asemblera, gdzie dostępne są te właśnie instrukcje (instrukcje skoku bezwarunkowego JMP i warunkowego Jxx w architekturze x86, gdzie xx symbolizują stan flag rejestru stanu zmienianego przez część instrukcji procesora).

Pierwsze języki, przede wszystkim ze względu na nacisk na łatwość konstrukcji kompilatorów nie odbiegały znacząco zasobem instrukcji od asemblera, np. w pierwszych wersjach Fortranu jedyną instrukcją warunkową był właśnie skok – nie można było warunkowo przypisać wartości czy wykonać grupy poleceń. Z czasem do popularnych języków (wyrosłych na podstawie Fortranu) zaczęto dodawać inne instrukcje kontroli przepływu: wykonania warunkowego (if (warunek) { polecenie1 } else { polecenie2 }), różne rodzaje pętli (while, for), rekurencyjność, instrukcje ponowienia (redo), następnej iteracji (next lub continue) lub zakończenia wykonywania (last lub break) pętli, te same instrukcje z wielopoziomowymi pętlami (X: foreach $a(@A) { foreach $b(@B) { …; if (…) { last X;