Seite 4 von 8

Verfasst: 14.12.2008 13:08
von cxAlex
hardfalcon hat geschrieben:Goto braucht eigentlich kein Mensch, man kann jeden Code auch so (um)strukturieren, dass er ohne Goto auskommt.
Du hast recht. Trozdem:
Wikipedia hat geschrieben: In der Praxis hat sich jedoch gezeigt, dass der Verzicht auf Goto zwar möglich ist, jedoch in einigen Fällen zu sehr aufwändigen Konstrukten führt. Besonders in zeitkritischen Programmteilen ist ein goto deutlich effektiver als am Ende von mehreren geschachtelten Schleifen jeweils eine Abbruchprüfung durchzuführen.

Verfasst: 14.12.2008 13:15
von Kaeru Gaman
cxAlex hat geschrieben:Du hast recht. Trozdem:
Wikipedia hat geschrieben: In der Praxis hat sich jedoch gezeigt, dass der Verzicht auf Goto zwar möglich ist, jedoch in einigen Fällen zu sehr aufwändigen Konstrukten führt. Besonders in zeitkritischen Programmteilen ist ein goto deutlich effektiver als am Ende von mehreren geschachtelten Schleifen jeweils eine Abbruchprüfung durchzuführen.
das ist ja auch schön und gut, aber um das anwenden zu können muss man wissen, welche schleife was aufm stack ablegt und wieviel.

und das weiß kein Anfänger, das weiß ja kaum ein Fortgeschrittener.
ich selber müßte erstmal Freak oder Fred fragen,
damit ich weiß wie oft ich !POP einsetzen muss oder auch nicht,
vor nem Goto aus x schleifen heraus.

Verfasst: 14.12.2008 13:18
von cxAlex
Hab auch nie gesagt das es unbedingt was für Anfänger ist. Nur allgemein das es doch Situationen gibt wo GoTo bevorzugt werden sollte.

Verfasst: 14.12.2008 14:20
von NicTheQuick
Seit wann legen Schleifen etwas auf dem Stack ab? Das ist doch gar nicht nötig.
Jede While-Schleife lässt sich durch ein If und ein Goto simulieren. Genauso wie jede
andere Schleife. Da braucht man also kein Stack.

Verfasst: 14.12.2008 14:22
von THEEX
in dem Artikel wird lediglich eine differenzierte Sichtweise vermittelt.
da steht aber nirgens, dass man Anfängern die verwendung von Goto empfehlen sollte,
damit sie erstmal richtig Müll produzieren bevor sie anständig Programmieren lernen...
Ich konnte nirgends lesen, daß irgendwer hier empfiehlt, Anfängern Goto zu verwenden.

Verfasst: 14.12.2008 14:23
von Kaeru Gaman
@NTQ

ich weiß es nicht.
wie ist das bei For?
und gibt es noch andere Problemverursacher außer dem Stack?

ich habe mich um solche Problematiken noch nicht gekümmert, weil ich Goto einfach nicht mehr benutze, seit es keine Zeilennummern mehr gibt.

also wenn ich wieder Goto benutzen wollte, müßte ich erstmal noch einen Stapel Informationen einholen, um mich sicher zu fühlen.

... der IMA beginnt im Kopf, bzw. bei dem an das man nicht denkt.

Verfasst: 14.12.2008 14:25
von Captn. Jinguji
cxAlex hat geschrieben: Nur allgemein das es doch Situationen gibt wo GoTo bevorzugt werden sollte.
Hmmm.... sorry, hört sich irgendwie so an, als habe jemand vorher sich nicht sauber überlegt/abgefragt, was alles "schief gehen" könnte, dann im Fluge einen Fehler feststellt um dann "bevorzugt" mit dem Fallschirm
auszusteigen....

Gab es nicht so eine ähnliche Diskussion bei dem "On Error...Resume" Konstrukt ?

Verfasst: 14.12.2008 14:32
von cxAlex
Captn. Jinguji hat geschrieben:
cxAlex hat geschrieben: Nur allgemein das es doch Situationen gibt wo GoTo bevorzugt werden sollte.
Hmmm.... sorry, hört sich irgendwie so an, als habe jemand vorher sich nicht sauber überlegt/abgefragt, was alles "schief gehen" könnte, dann im Fluge einen Fehler feststellt um dann "bevorzugt" mit dem Fallschirm
auszusteigen....

Gab es nicht so eine ähnliche Diskussion bei dem "On Error...Resume" Konstrukt ?
Natürlich muss man sich im klaren sein das man auf alles Mögliche achten muss wenn man GoTo verwendet, es aber grundsätzlich nicht unnütz ist.

Es kann überall was schief gehen wenn man nicht aufpasst, GoTo ist nur eines von vielen Beispielen.

Verfasst: 14.12.2008 15:13
von Thorium
KatSeiko hat geschrieben:Okay... Dann erklärt mir doch mal bitte folgendes: Dune 2077 funktioniert auf meinem Laptop hervorragend. Der ist auf XP 32bit. Auf meinem virtuellen PC ebenfalls, der ist Vista 32bit. Auf meinem Arbeitsrechner (auf dem ich übrigens auch mit PB programmiere) aber funktioniert es einfach nicht. Auch nicht mit dem WOW64-Kram, von dem Thorium erzählt, wird es nicht besser... :shock:
Wie sage ich so gerne in solchen Fällen: 1+1 ergibt immer 2, aber die Fragestellung ist sogut wie nie: Was ergibt 1+1? :wink:

Es ist totaler Käse was du da erzählst. Die Inkompatiblität kann durch ganz andere Sachen zustande kommen, z.b. durch API-Funktionen, die so unter einem 64Bit System nicht mehr funktionieren. Oder auch ganz einfach durch Bugs im OS. Du kannst garnicht 64Bit Adressieren, wenn dein Programm 32Bit kompiliert wird. Das ist einfach nicht möglich.

Verfasst: 14.12.2008 15:41
von AND51
hardy hat geschrieben:Goto braucht eigentlich kein Mensch, [...] zumindest Einsteiger sollten Komplett die Finger davon lassen.
Das finde ich gerade nicht.
Wenn Anfänger Goto nicht benutzen sollten und Experten stets darauf Schleifen verzichten, ja wozu gibt's dann noch Goto?

Was ich aber eigentlich sagen wollte: Gerade Anfänger sollten in ihren ersten zwei, drei Progrämmchen Goto verwenden, das habe ich auch so gemacht. Ganz einfach, damit sie die Abläufe/Arbeitsweise ihres Programms verstehen. Ist doch gut, wenn sie denken: "So, jetzt wurde das Gadget angeklickt, dann soll das Programm da-und-da hinspringen." Mit der Zeit lernen sie dann Schleifen und Rekursionen so geschickt einzusetzen, dass Gotos überflüssig werden.