Woher kommt die berüchtigte "If-Schleife"?
Übersicht

![]() |
Mr.KeksBetreff: Woher kommt die berüchtigte "If-Schleife"? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, wir alle kennen sie, die ominöse "If-Schleife". Die meisten sind der festen Überzeugung, der Begriff sei einfach nur Schwachsinn. Dennoch taucht er immer wieder auf, meistens bei Neulingen, die ja viel durcheinander bringen - aber wo sollten sie die "If-Schleife" aufgeschnappt haben? Oder erfindet Generation für Generation von Noobs die If-Schleife immer wieder neu?
Vereinzelt hört man auch Geschichten von Professoren, die angeblich was von If-Schleifen erzählten. Es gibt ja durchaus Professoren mit seltsamen Angewohnheiten da draußen. Andererseits verteidigen diese dann auch recht glühend ihre Macken als Positionen. Doch fand ich bei einer schnellen Google-"Recherche" keine Aufsätze oder andere Verteidigungsschriften für die arme If-Schleife. Also, woher kommt sie jetzt? Habt ihr Ideen oder wisst ihr gar genaueres? Hat man vielleicht dereinst Schleifen einfach mit Sprüngen als If-Schleifen ausgeschrieben? Zumindest auf niederer Ebene ist ja jede Schleife tatsächlich sowas wie ein If mit Sprung... Code: [AUSKLAPPEN] .loop
foo() If Not bar Then Goto loop ;############# Repeat foo() Until bar Allerdings hört man If-Schleife meistens im Zusammenhang mit gewöhnlichen If-EndIf-Konstrukten. Und irgendwie stimmt es ja, dass If-EndIf maschinenmäßig betrachtet auch nur ein If+Sprung ist. Von wegen, Code: [AUSKLAPPEN] If Not foo Then Goto fi
Das hat eine gewisse Ähnlichkeit zu ner Schleife im klassischen Sinn, nur dass ein Code eben nur maximal einmal ausgeführt wird, da kein Zyklus entsteht im Codefluss, wenn man den Code so PAP-mäßig als Graphen auffasst. Soll heißen: If-EndIf überspringt Code, während Schleifen zurückspringen.
bar() .fi ;############# If foo bar() EndIf Vielleicht habt ihr ja noch Ideen. |
||
MrKeks.net |
![]() |
ChriseBetreff: Re: Woher kommt die berüchtigte "If-Schleife"? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Manche finden das Wort Schleife vielleicht einfacher zu schreiben als Bedingung. Bedingung ist so schwer zu buchstabieren, dazu muss man schon richtig gut in Deutsch sein, damit man das Wort Bedingung schreiben kann. Bedingung hat ja immerhin 2 Buchstaben mehr zu schreiben als Schleife ![]() ![]() |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich sag auch manchmal If-Schleife. Hab es mal ziemlich oft gesagt, allerdings kam das vom Info-Lehrer den ich jetzt endlich auch davon abbringen konnte das zu sagen(Kurzzeitig war CAD-Programmierung Thema).
Ich hatte es also vom Lehrer/Prof/usw @Chrise: man kann auch If-Abfrage sagen, ist sogar kürzer \o/ |
||
Warbseite |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme an, dass das Wort dadurch entsteht, das If-Verzweigungen oft im zusammen mit For/Repeat/wasnich-Schleifen genannt und in Tutorials erklärt werden. Eigentlich sehen die sich auch recht ähnlich; Kopf - Anweisungen - Ende | ||
Starfare: Worklog, Website (download) |
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, es gibt die For-Schleife, While-Schleife, Repeat-Schleife..
Man gewöhnt sich vielleicht einfach an das Wort Schleife, weil diese ganzen Dinger Schleifen sind, und gerade weil eine If-Abfrage einer Schleife (besonders While) doch recht ähnlich ist (Wird halt nur einmal ausgeführt und nicht öfters). |
||
![]() |
Chrise |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht sollte man die Bezeichnung einfach als legetime Wortneuschöpfung einführen ![]() Schließlich fällt der Fehler ja nur den Erfahrenen Programmierer auf. Dann gäbs auch nichts mehr zu reklamieren und alle wären glücklich ![]() ![]() |
||
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet. |
![]() |
WüstLing |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Schulkollege hatte unlängst ein Buch (glaube über PHP wars) mit, in dem über if-Schleifen berichtet wurde. Eigentlich unglaublich, dass so etwas in einem Sachbuch übersehn wird. | ||
![]() |
Suco-XBetreff: ..... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Betrachten wir mal folgenden Code:
i = 10 if i<10 i = i+1 endif Übersetzt ins Deutsche : Wenn i kleiner als 10 dann i + 1. Aber die Bedeutung des Wortes hält in diesem Fall nicht das was es verspricht, da if nur einmal aufgerufen wird. Andernfalls müsste es halt das Wort "WennEinmalig" geben. Für den Anfänger könnte es sich genausogut um eine Schleife handeln, da für ihn bis dahin nirgendwo geschrieben steht, dass sich die Abfrage nicht bis zur Erfüllung wiederholt. Ich kann also die verirrten If-Schleifen-Seelen irgendwie verstehen. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um jetzt mal aus meinem BCC Beitrag zu zitieren(Schleichwerbung):
Zitat: IF-Schleife
Der Klassiker unter Neulingen. Es gibt keine IF-Schleifen verdammt!!EinsElf 0Wn3D! Hier gibt es sie doch! ![]() Okay, mal ernsthaft. Wenn man sich mal genauer Gedanken darüber macht, ist der Begriff eigentlich gar nicht so falsch. Denn was ist z.b. eine While-Schleife? Richtig, eine Schleife, die läuft, wenn(IF) eine Bedingung erfüllt ist. Das Keyword While hat sich eben eingebürgert, aber eigentlich könnte man in einer Programmiersprache genauso einbauen: If <Bedingung> LOOP <Anweißung> Und es wäre logisch und wörtlich eine If-Schleife. In Maschinensprache wird es ja - mangels IF oder While - noch deutlicher: Code: [AUSKLAPPEN] // Pseudo Assembler .loop CMP AX,BX JE .ende DEC BX JMP loop .ende Hier gibt es einfach eine Bedingung, zusammen mit einer Schleife. Wenn wir jetzt Wörter wie While, Until, etc. nicht kennen würden, warum nicht die Bezeichnung If-Schleife verwenden? Mfg Chester |
||
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
ZaP hat Folgendes geschrieben: Ich nehme an, dass das Wort dadurch entsteht, das If-Verzweigungen oft im zusammen mit For/Repeat/wasnich-Schleifen genannt und in Tutorials erklärt werden. Eigentlich sehen die sich auch recht ähnlich; Kopf - Anweisungen - Ende
Genau so seh ich das auch Code: [AUSKLAPPEN] //if-"schleife" if(Bedingung) { //Anweisung } Code: [AUSKLAPPEN] //while-Schleife while(Bedingung) { //Anweisung } Der Unterschied ist ganz gering... MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verwende den Begriff If-Schleife oft bei Assembler, da man nur Bedingungen und Bedingte Sprünge
verwenden kann um Schleifen zu erzeugen. Ich denke aber eher, dass er aus dem Uralt-Basic stammen könnte(falls er da schon existiert hat): Code: [AUSKLAPPEN] 10 X=X+1 20 PRINT X 30 IF X<=100 THEN GOTO 10 mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um genau zu sein waren zu der Zeit ab von for-next if die einzige Steuermöglichkeit.
Das Basic des C64 zB. kannte weder while-wend noch repeat-until. Es war also durchaus üblich aus if und Goto eigene Schleifen zu konstruieren. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist doch logisch:
Schleifen ohne Bedingung aus denen man selbst springen muss sind einfache Schleifen. Schleifen mit Bedingung sind folglich Wenn-Schleifen Dann dass Ganze in Denglisch damits auch technisch klingt: IF-Schleife oder für die Vollchecker gar IF-LOOP. ![]() |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
gameworx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich stimme Bladerunner absolut zu, denn ich wollte gerade das gleiche schreiben. | ||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
kay, das heißt also, if-schleife ist schon ein korrekter ausdruck und bezieht sich nur auf ein heute in höheren sprachen unüblich gewordenes konstrukt? ergo sind all die "es gibt keine ifschleifen!"-besserwisser nur halbwissende? | ||
MrKeks.net |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wird niemand wirklich beantworten können, schätze ich.
Heutzutage ist es ja idR keine Schleife mehr, da goto verpönt ist. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein Bewerber ist bei uns abgewiesen worden weil er IF-Schleife im Vorstellungsgespräch gesagt hatte ![]() |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Arrangemonk |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine If-schleife ist der unbeholfene ausdruck für eine If abfrage
es kommt in jedem semester einer der von den vilen schleifen arten verwirrt ist und if schleife dazu sagt, und andere übernehmen es (möglich ist auch, dass if schleife kürzer und einfacher auszusprechen ist als if abfrage, und zumindest hier an der fh weiß jeder was gemeint ist, auch wenn sich derjenige, der das ausspricht , als "dumm" outet) aber es gibt auch while(true){ if(dings) {break;} } das kann man für manche sachen brauchen durch richtige code anordnung kann man das auch durch while(!dings){} ersetzen es sagen alle immer goto sei verpönt aber in manchen fällen (wie z.b. betriebssysteme isses unersetzlich, da break nur aus der aktuellen schleife geht, und man noch aus 20 übergeordneten schleifen müsste etc, deswegen machen die da nen goto zum ende des schleifengewirrs und sparen zeit, (auf kosten des caches natürlich, aber es gibt genug situationen, wo sich das sogar mehr als rentiert) |
||
ingeneur |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaub, dass da dahinter nicht soviel Hokuspokus steckt ... If-Bedingungen und Schleifen sind beides Konstrukte die (meistens) einen Block als folgenden Teil haben:
Code: [AUSKLAPPEN] for (;;)
{ } for local i:Int = 0 To 10 Next if ... then end if Der Aufbau ist gleich, das eine sind Schleifen (und zwar meist mehrere Stück) und das andere halt eine Bedingung. Neulinge stecken das halt wohl alles in einen Topf und die If-Schleife kommt raus. |
||
Blog. |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
If...Then... war schon 1983 im Microsoft Basic integriert. Phillips MSX Homecomputer waren damals schon mit dem Microsoft Basic Rom ausgestattet. Im Gegenzug wie BladeRunner schon erwähnte war das beim C64 Mangelware. Aber beim C64 hat man sich eben mit Peeks und Pokes geholfen...!
Ohne If...Then... würde ein Basic Programm traurig aussehen... lg. Jamagin ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group