Das finde ich jetzt toll und sehr schön zusammengefaßt. Danke.
Druckbare Version
GOTOs sind bei einem erfahrenen Programmierer ein (seltener) Ausnahmefall und nicht die Regel.
Du wirst da GOTOs bei der Fehler- oder Ausnahme-Behandlung finden, also immer nur dann, wenn der normale Programmablauf abgebrochen werden muss, bzw. eine lineare Abarbeitung des Programms nicht mehr möglich ist.
In C wären noch setjmp() und longjmp(), bzw. in C++ catch(), throw usw. Damit kann man dann auch an eine Position ausserhalb der aktuellen Funktion springen.
MfG Peter(TOO)
- - - Aktualisiert - - -
In C darf überall wo ein Befehl stehen darf auch ein Block (ein oder mehrere Befehle in geschweiften Klammern) stehen!
Hinzu kommt noch, dass bei den neueren C-Versionen (ab C99 ?) in so einem Block auch lokale Variablen deklariert werden dürfen, welche dann nur innerhalb diese Blocks gültig und sichtbar sind.
MfG Peter(TOO)
meine Profs in "Didaktik der Naturwissenschaften" haben alle unisono 1 wesentliche Regel für dieses Thema propagiert:
Die Kunst des Erklärens besteht im Weglassen.
(Ich habe das immer gern und efolgreich im Unterricht von Studenten beherzigt.)
genauso wenig wie man Kindern in der 1. Klasse fürs Kleine Einmaleins was von Gruppen- und Körperaxiomen, Vektorräumen und Abgeschlossenheit bei Polynomen erklärt, muss man zur Erklärung bei einer Frage nach {} und ; hinter einem while() die Theorie und Praxis der Entwicklung der Programmiersprache C seit K+R samt ANSI Standards und C++ Erweiterungen über 1999 bis 2016 auf verschiedenen Pattformen mit verschiedenen Compilern erklären. Zu viel des Guten erschlägt die Fragenden, während man im Falle von Verständnisproblemen anschließend bei eventuellen Nachfragen immer noch etwas mehr an Erklärungen bedarfsweise, häppchenweise, nachschieben kann.
Schon in Spoerls "Feuerzangenbowle" heißt das da:
"Da stelle mer uns amal janz dummmm und saachen mer sooo...:"
Andere sagen dazu:
K.I.S.S.
8)
Oder wie ich es mal schön gelesen habe "wie Funktioniert das Erklären von Wissenschaft"
Es gibt Lügen für Kinder (Grundschule)
Lügen für Jugendliche (weiterführende Schule)
Und Lügen für Erwachsene (Uni)
Und dann gibt es die die glauben die Wahrheit zu kennen (Wissenschaftler)
Ich persöhnlich ziehe das Fachbuch vor wo alles drin steht und lese den Teil den ich jeweils brauche.
Wenn ich mehr Infos brauche lese ich das selbe Buch nochmal.
Dann gibt es die die es vorziehen 10 Bücher zum selben Thema zu kaufen, Das sind oft diejenigen die sich schlau fühlen wenn sie einen Meter Regal füllen mit etwas wo ein einziges 5cm dickes Buch in dem das alles einmal steht, reicht.
Hier verhält es sich denke ich ähnlich.
Genau, hier verhält es sich ähnlich, aber kaum einer hält sich dran.
Oder andersrum:
Manche glauben, mit wahnsinnig viel an (möglicherweise oder auch sicherlich) richtigen Informationen eine Anfänger-Frage umfassend richtig zu beantworten.
Dann ist zwar oft vielleicht das Niveau gestiegen, aber es ist keiner mehr drauf.
Auf eine einfache Frage eines "Anfängers" gebe man also bitte eine einfache Antwort, wie bei Lügen für Kinder (Grundschule) oder Lügen für Jugendliche (weiterführende Schule).
(Wissenschaftler fragen sicher anders und erwarten auch eine Antwort auf einem anderen Niveau, doch gerade Naturwissenschaftler (zumindest ernsthafte) wissen, dass sie nichts wissen, und dass sie nur mit Modellen arbeiten, nicht mit der "Wahrheit", denn die können wir - erkenntnistheoretisch betrachtet - niemals erfahren. Aber weder ist dieses Topic hier eines auf diesem Niveau, noch erfordert es ein solches Niveau bei der Beantwortung, und es ist auch völlig unabhängig von der Anzahl von Zentimetern im Bücherregal)
ich habe gerade dir das schon öfter versucht zu verklickern, wenn es um "bedarfsgerechte Informationen, häppchenweise" ging....
Ne häufige Variante : zu "meiner" Zeit in der Aerodynamik gabs den Schlichting-Truckenbrodt, Aerodynamik des Flugzeugs, zwei Bände, voll mit Differentialgleichungen, SEHR gut geschrieben, ziemlich kopflastig, da BRAUCHTE man Mathe. Diese beiden Bände "hatte man" eben, fast jeder, ich hab die noch immer, überall standen oder lagen die am Schreibtisch, griffbereit UND gut sichtbar. Und sehr viele Kollegen hatten dazu - IN der Schublade, nicht offen - den "Dubs", Aerodynamik der reinen Unterschallströmung - darin war alles übersichtlich, schön verständlich erklärt (hab ich noch immer *gg* - steht wie immer in der Gruppe "Truckenbrodt" im Regal zusammen mit allerlei Strömungsmechanik). Keine/kaum Differentialgleichungen, anschaulich, leicht verständlich. Und das Schubladenbuch brauchen diese Kollegen um die Theorie des "Truckenbrodts" zu verstehen und sie erläutern zu können - für sich, den Vorstand und ähnliche Nonkompos.
Das gilt für Leute die wirklich was von ihrem Handwerk verstehen. Deine Erklärung zu while klang für mich wie die eines Schülers, der zeitweise draußen war, als sein Lehrer das Wesentliche vorgetragen hat; "Bedingung" und "Körper" wie aus einem Vokabelbuch für Touristen.
Beim Lesen hatte ich den gleichen Impuls zum Geraderücken des Bildes empfunden wie Klebwax. Zum Glück gibt es hier Leute, die das viel besser können als ich.
@un: was besser können?
unregistriert rumtrollen?
@oberallgeier
welchen Teil von meinen Posts bezüglich K.I.S.S. hattest du nicht verstanden oder habe ich dich etwa missverstanden?
Oder meinst du wie ich (was nicht ganz klar durchkommt), dass überzogene und unangemessen komplizierte Antworten verwirrend sind und stimmst mir dann auch zu, wie ich z.B. das while() ohne {} "Körper" erklärt habe?
Ich fühle mich gedrängt, nochmal zu antworten, weil ich diese Aussagen von HaWe für sehr richtig und für Anfänger sehr hilfreich halte. Man ist als Anfänger doch schon überglücklich, wenn man eine Programmnuss überhaupt geknackt bekommt und kapiert was da passiert. Da schwirrt einem doch sowieso schon der Kopf. Auch als Anfänger weiß man doch, dass es immer andere und optimalere Lösungen gibt.Zitat:
Zitat von HaWe
vG
fredyxx