Warum stößt man so "häufig" auf den Begriff "if-Schleife" obwohl es das gar nicht gibt?

Das Ergebnis basiert auf 46 Abstimmungen

if-Schleife kenne ich, weiß aber, dass das Unsinn ist 54%
if-Schleife, nie gehört 30%
if-Schleife verwende ich selbst weil ... 15%

24 Antworten

Ein "if-Schleife" gibt es nicht. Jedoch können if-Bedingungen innerhalb von Schleifen vorkommen, und if-Bedingungen können z. B. in einer for-Schleif mit definiert sein.

Ich rate mal:

Ich habe mit dem C64 das Basic Programmieren gelernt. Da kam dann diesese Anweisung:

10 If "Bla, bla, bla......" than.......

20 If "Bla, bla, bla......" than........

30 If "Bla, bla, bla......" than .......

40 Goto 10 (Oder so ähnlich.

Das war dasnn meiner Meinung nach diese If Schleife. Die Tastatur hat auf eine bestimmte Taste oder Aktion gewartet.

Ev. hat man dieses alte Relikt in die Neuzeit übernommen (?), obwohl das deiner Beschreibung nach nicht mehr zutrifft.

AldoradoXYZ 
Fragesteller
 04.09.2020, 19:15

Nein, das denke ich eher nicht.

Also klar kann irgenwie daher kommen.

Aber ich habe selbst erlebt wie Leute dieses Wort erschaffen haben und die hatten nichts mit Basic am Hut. Anfänger eben die grad alles mögliche Lernen und dann zu einer Wortschöpfung kommen.

Was ich daran interessant finde ist, dass das wohl häufiger vorkommt. Ausgerechnet bei dem einen Begriff. Daher die Frage.

Gruß

0
if-Schleife kenne ich, weiß aber, dass das Unsinn ist

Interessant an diesem Phänomen ist ja, dass dieser Begriff auch im englischen Sprachraum (als if loop) herumgeistert. 🤨

Ich denke, ein großer Faktor liegt darin, dass Schleifen und Verzweigungen in Tutorials meist unter einem Kapitel / in aneinandergrenzenden Kapiteln geführt werden und gewisse Ähnlichkeiten aufweisen.

  • while, do-while und if fordern jeweils eine Bedingung im Kopf/Fuß
  • die switch-case-Struktur erlaubt break-Statements in ihrem Körper
  • die Tatsache, dass all diese Kontrollstrukturen den Programmfluss durch ihren Körper leiten, sofern die Bedingung stimmt (die mögliche Häufigkeit wird außer Acht gelassen oder missinterpretiert)

Dabei wird der Unterschied womöglich nicht immer klar genug herausgearbeitet. Entweder vom Autor selbst oder vom Leser, der nur oberflächlich liest / den Inhalt nicht richtig versteht.

Ein weiterer wichtiger Grund ist meines Erachtens das ständige Aufleben des Begriffs in der Kommunikation. Sei es in Foren, hier auf GF, in Videos, usw..

Es wäre gut, wenn man solche falschen Quellen ausheben könnte, doch das ist oft nicht einfach.

  • Wenn man auf Anfänger stößt, die mit diesem Begriff jonglieren, gelingt es nicht immer, nachhaltig zu korrigieren oder die Ursprungsquelle zu ermitteln, da der Anfänger sie nicht verrät.
  • Ich halte es für möglich, dass es auch Leute gibt, die bewusst falsche Ausdrücke aus persönlichem Spaß heraus streuen.
  • Autoren solcher falschen Quellen sind nicht immer erreichbar oder Willens, ihre Fehler einzugestehen / zu korrigieren (unabhängig davon, ob sie es eigentlich besser wissen oder nicht; sie könnten ja Klicks/Views/o.ä. verlieren). Stattdessen wird gern die Begründung, es sei eine Frage des Geschmacks, vorgeschoben.

Noch einen Ursprung dürfte der Begriff in dem goto-if-Konstrukt haben, der ja immer wieder von verschiedenen Programmierern als if-Schleife hochgejubelt wird.

Beispiel in Perl:

#!/usr/bin/perl

$i = 0;

LOOP:
  print $i++;

if ($i < 3) {
  goto LOOP;
}

Es gibt da so einige besonders kreative Personen, die sich aus Spaß heraus mit C++-Makros und dergleichen Konstrukte zusammenbauen, um Schleifen ersetzen können. Auch Lehrkräfte stellen manchmal Aufgaben, in denen sie ihre Schüler dazu auffordern, einen Ersatz für eine Schleife zu bauen.

if-Schleife verwende ich selbst weil ...

Bei einer While Schleife in der ein If dauernd abgefragt wird, kann man es verwenden. Aber man muss es nicht und verwenden tut man das nur um weniger wörter für den selben inhalt zu brauchen.

JanMarcel01  04.09.2020, 07:33

In diesem Fall wäre es eine while-Schleife. if-Schleifen sind logisch nicht möglich

2
if-Schleife kenne ich, weiß aber, dass das Unsinn ist

Hallo,

IF ist eine Bedingung, keine Schleife, denn sie wird ja nicht wiederholt aufgerufen, bis sie verlassen wird, sondern nur einmal.

Der Charakter einer schleife ist ja die wiederholung, bis sie beendet wird.

Repeat...until und While...do sind schleifen,

IF...ThEN...ELSE...ENDIF ist eine bedingung

MFG

Harry

AldoradoXYZ 
Fragesteller
 03.09.2020, 16:53

Ja, nur meine Frage ist warum man ausgerechnet den Begriff so häufig hört.

Okay, das ist subjektiv. Aber ich könnte mir auch andere Begriffe ausdenken, die man aber nie hört. Was ist genau an dem Begriff "if-Schleife" so besonderes?

Vielleicht weil es eine for-Schleife, while-Schleife gibt und man den Ausdruck "if" auch einfach vor das Wort "Schleife" hängt?

Mit dem Arguement müsste man auch mal das Wort "return-Schleife" hören. Ist mir noch nie untergekommen.

Es ist also mehr also nur der sprachliche Aspekt.

Gruß

0
heizfeld  03.09.2020, 16:58
@AldoradoXYZ

Return ist das ende einer subroutine/ eines Unterprogramms oder eines Programms und wird im Allgemeinen von der Übergabe eines EXIT-codes begleitet

kann innerhalb einer schleife ausgeführt werden, terminiert aber auch dann

0