Instrukcje iteracyjne, takie jak for i while, to absolutny fundament programowania praktycznie w każdym języku. Pozwalają nam na wielokrotne powtarzanie fragmentu kodu aż do spełnienia określonego warunku. Moim zdaniem to jest jedna z tych rzeczy, które naprawdę trzeba opanować, bo bez tego trudno budować jakiekolwiek sensowne algorytmy. Najczęściej używa się ich do przetwarzania tablic, list czy sprawdzania warunków aż do momentu osiągnięcia oczekiwanego rezultatu. Na przykład, w pętli for bardzo wygodnie można przejść przez każdy element tablicy w języku C++ czy Python, a while pozwala na bardziej elastyczne powtarzanie, gdy nie znamy z góry ilości powtórzeń – np. dopóki użytkownik nie poda właściwego hasła. W praktyce warto pamiętać, żeby pętle dobrze kontrolować, bo bardzo łatwo stworzyć tzw. pętlę nieskończoną, która zatrzyma cały program. W standardach branżowych, jak np. w Pythonie czy Javie, składnia pętli for i while jest bardzo czytelna i zachęca do pisania zrozumiałego kodu. No i jeszcze – często w projektach spotykam się z zaleceniem, żeby nie nadużywać zagnieżdżonych pętli, bo to może prowadzić do spadku wydajności. Krótko mówiąc: for i while to podstawa, która daje ogromną kontrolę nad logiką programu.
Pojęcia takie jak if, switch, begin, end, var czy set mogą wydawać się na pierwszy rzut oka powiązane z wykonywaniem różnych fragmentów kodu, ale to jednak zupełnie inne kategorie niż instrukcje iteracyjne. Instrukcje warunkowe, czyli if oraz switch, służą do wyboru jednej z wielu ścieżek działania programu w zależności od spełnienia określonych warunków – ale nie powtarzają kodu wielokrotnie. To jest typowy błąd, bo niektórzy mylą rozgałęzienia z powtarzaniem – a te rzeczy mają zupełnie inne zastosowania. Z kolei begin i end czy choćby klamry w C/C++ służą głównie do grupowania instrukcji, czyli tworzenia bloków kodu – to nie są polecenia służące do powtarzania akcji, tylko raczej do wyznaczania zakresu, gdzie dany zestaw instrukcji obowiązuje. Co ciekawe, często widzę, jak osoby początkujące utożsamiają te słowa z samym ruchem po kodzie, a one są po prostu narzędziami organizacyjnymi. Jeszcze inna sprawa z var i set – to polecenia związane z deklaracją i przypisywaniem wartości zmiennym. Używane są do zarządzania danymi, a nie do sterowania przepływem programu w kontekście powtarzalności. Typowym problemem jest tutaj łączenie wszystkiego, co ma jakąś składnię instrukcyjną, z pętlami, ale moim zdaniem warto rozdzielić: pętle (czyli for, while, do-while itd.) są dedykowane do iteracji, a reszta to zupełnie inna bajka. W dokumentacjach i dobrych materiałach edukacyjnych ten podział jest bardzo wyraźny, więc warto się tego trzymać. Podsumowując – tylko for i while nadają się do realizowania powtarzalnych operacji według określonych reguł, a pozostałe wymienione polecenia pełnią zupełnie inne, choć też ważne role.