Języki liniowe (nieproceduralne)
Języki programowania pozwalające na pisanie programów jedynie w formie ciągłej sekwencji instrukcji (nie podzielonej na procedury). Instrukcje są wykonywane sekwencyjnie, lecz dostępna jest instrukcja skoku (JUMP, GOTO itp.), która pozwala przenosić sterowanie do określonego punktu programu - zdefiniowanego zazwyczaj przy użyciu etykiety o określonej nazwie (ang. label) lub przy użyciu numeru wiersza kodu.
Przykłady
Assembler:

Basic:

W JĘZYKACH LINIOWYCH MOŻEMY TAKŻE KORZYSTAĆ Z PĘTLI.
Przykład pętli w języku niskiego poziomu - Assembler
| pętla od i = 0 do 9 | |
| (instrukcje w pętli) | |
| kolejne instrukcje programu |
| LD 9,n (pod zdefiniowanym uprzednio adresem n wpisz wartość określającą zadaną liczbę wykonań pętli) | |
| LD 0,i (załaduj wartość 0 pod zdefiniowany uprzednio adres i określający miejsce w pamięci) | |
| PĘTLA: | CMP n,i (porównaj wartości pod adresami n oraz i) |
| IF KOLEJNE_INSTR (jeśli równe, to skocz do instrukcji o etykiecie KOLEJNE_INSTR) | |
| (instrukcje w pętli) | |
| ADD 1,i (dodaj wartość 1 do wartości pod adresem i) | |
| JLE PĘTLA (skocz do instrukcji o etykiecie PĘTLA) | |
| KOLEJNE_INSTR: | (kolejne instrukcje programu) |
Przykład pętli FOR w języku BASIC
