Seite 2 von 2
Verfasst: Dienstag 6. November 2007, 13:53
von Zap
mq hat geschrieben:Wusstet ihr, dass beim simplen Starten eines Python-Interpreters mehrere tausend mal goto ausgefuehrt wird?
Ne, wusste ich noch nicht. Mir ist beim portieren des CPython-Interpreters zumindest nichts deartiges aufgefallen. Würde gerne die Sourcen dazu sehen. Kann mir das irgendwie nur schwer vorstellen, da auch in C Goto zurecht sehr verpöhnt ist. Oder meinst du die vielen defines in den C-Sourcen?! Das ist kein Goto...
Verfasst: Dienstag 6. November 2007, 14:01
von Leonidas
Vielleicht sind ja die Assembler-Sprunganweisungen gemeint. Aber ich finde nicht dass das zählt, denn der Interpreter ist nicht in Assembler geschrieben und welchen Code der Compiler letztendlich erzeugt ist vollständig egal.
Verfasst: Dienstag 6. November 2007, 14:22
von BlackJack
Nein es sind schon ``goto``\s gemeint. Die werden bei CPython oft benutzt um in Fehlerfällen ans Ende zu einer Fehlerbehandlung zu springen um die Verschachtelungstiefe geringer zu halten.
Der (gute) Einsatzzweck von ``goto`` ist da also der gleiche wie Ausnahmebehandung in höheren Sprachen. Das ist ja auch ein unbedingter Sprung aus der verschachtelten Kontrollfluss-Struktur heraus.
Verfasst: Dienstag 6. November 2007, 14:35
von keppla
Der (gute) Einsatzzweck von ``goto`` ist da also der gleiche wie Ausnahmebehandung in höheren Sprachen.
Womit es dann aber in jeder sprache, die (subjektiv) höher als c++ angesiedelt ist, keine Rechtfertigung für ein goto sein kann, dank Exceptions.
Also eher: es gibt in c gute Gründe für goto, nicht, es gibt gute Gründe für goto.
Achja, noch cooler wäre ja ein
comefrom 
Verfasst: Dienstag 6. November 2007, 14:47
von Leonidas
keppla hat geschrieben:Also eher: es gibt in c gute Gründe für goto, nicht, es gibt gute Gründe für goto.
Mag jemand
Exceptions für C haben?

Verfasst: Dienstag 6. November 2007, 15:27
von keppla
wow. das ist schon etwas unheimlich...