Wieso ist eine if-Schleife KEINE Schleife?

Im Umfeld der Softwareentwickler trifft man immer wieder auf verschiedene Begriffe, wie z.B. Schleifen, Anweisungen und Klassen. Dabei hört man auch immer wieder von if-Schleifen – dieser Begriff ist unter erfahrenden Entwicklern jedoch sehr verpönt. Wieso dies so ist wird in diesem Blog-Artikel beschrieben.

Obwohl das Reden von if-Schleifen geächtet und eigentlich tabu ist, passiert es auch erfahrenden Entwicklern immer wieder. In Gesprächen zwischen Entwicklern hört man diesen Begriff raus, im Internet liest man diese immer wieder in Foreneinträgen und auch einige meiner Professoren (ironischerweise denen, die das Modul der Programmierung unterrichtet hatten) haben immer wieder von if-Schleifen gesprochen.

ABER: if-Schleifen sind keine Schleifen, sondern Kontrollstrukturen.

Um verstehen zu können wieso dies so ist, muss erstmal der Begriff der Schleife in der Programmierung geklärt werden:

Eine Schleife ist ein Konstrukt in Programmiersprachen, welche eine Menge von Anweisungen (dem sgn. Schleifenrumpf) unter definierten Bedingungen wiederholt ausführt. In der Praxis haben sich verschiedene Formen von Schleifen durchgesetzt. while-Schleifen überprüfen zum Beispiel ob ihre Bedingung erfüllt ist, um dann, wenn dies der Fall ist, ihren Rumpf auszuführen. Dies erfolgt solange, bis die Bedingung dieser Schleife nicht mehr erfüllt ist. Eine andere Schleifenform wird mit einer iterativen Menge aufgerufen (z.B. eine Liste mit verschiedenen Elementen) und führt die Rumpfanweisungen für jedes der Elemente der mitgegebenen Menge einmal aus.

Defacto wiederholen Schleifen also Anweisungen – und dies ist der Grund dafür, dass if-Schleifen keine Schleifen, sondern Kontrollstrukturen sind, da Anweisungen, die diesen untergeordnet sind, nicht wiederholt ausgeführt werden. Anweisungen, die der if-Struktur untergeordnet sind, werden nur ausgeführt, wenn eine bestimmte Bedingung erfüllt ist. Eine if-Struktur kann also als eine Art Verzweigung im Programmablauf betrachtet werden.

Aber wieso werden if-Strukturen so häufig – selbst von Experten – als Schleifen bezeichnet? Eine mögliche Erklärung ist, dass die Darstellung von Schleifen und diesen if-Strukturen in vielen verbreitete Sprachen wie Java oder C sehr ähnlich aussehen – dies ist im Beispiel unten gut zu sehen. Konkret steht im Kopf ein Schlüsselwort (wie while oder if), eine Menge an Attributen (in diesem Beispiel sind es Bedingungen) und dann in geschweiften Klammern eine Menge an Anweisungen. Defacto unterscheiden sich die Schleife und die if-Struktur hier nur durch ein Wort.

while (irgendeine_bedingung) {
    // Anweisung 1
// Anweisung 2
// Anweisung 3
// ...
} if (irgendeine_bedingung) {
// Anweisung 1
// Anweisung 2
// Anweisung 3
// ...
}

Eine andere Erklärung, weshalb die if-Strukturen so häufig als Schleife bezeichnet werden ist vielleicht auch, dass sich diese Ausdrucksweise "in der Welt der Programmierer" schon durchgesetzt hat.

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.