1. Foren
  2. » Kommentare
  3. » Software-Entwicklung
  4. » Alle Kommentare zum Artikel
  5. » Visual Studio: "Go to…

Es gibt 2 Arten von Programmierer die Goto verwenden....

Anzeige
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Verappler 19.01.12 - 19:47

    Sehr schlechte und sehr gute !

    Die meisten Coder denken sie wären superschlau, und machen es anderen nach und ächten deswegen goto. Es gibt aber einige, die wirklich gut sind, und für die ist das nur ein weiteres Tool, das für bestimmte Fälle sehr wohl seine Daseinsberechtigung hat. Jeder der mir da widerspricht, ist wohl eben nicht so gut wie er/sie denkt.

    :-)

  2. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor c3rl 19.01.12 - 19:49

    Das stimmt allerdings. Die Anzahl der sinnvollen Szenarien ist zwar stark beschränkt, aber im Prinzip ist eine Funktion ja auch nichts anderes als ein abstraktes "goto".

  3. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Mimus Polyglottos 19.01.12 - 19:52

    c3rl schrieb:
    --------------------------------------------------------------------------------
    > Das stimmt allerdings. Die Anzahl der sinnvollen Szenarien ist zwar stark
    > beschränkt, aber im Prinzip ist eine Funktion ja auch nichts anderes als
    > ein abstraktes "goto".

    Ich denke nicht - eine Funktion hat eine Rücksprungadresse und einen Rückgabewert, beides haben GOTO-Konstrukte nicht.

    Und mir fällt kein Fall ein, in dem GOTO guter Code wäre. "Dann bin ich halt nicht so gut" aber das Gegenteil müsst ihr mir erst beweisen.

  4. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Loolig 19.01.12 - 20:10

    Naja auf eine Teilmenge der Funktionen schon.. muss ja keinen Rückgabewert haben..und den Rücksprung könnte man ja durch ein weiteres Goto... *graus*

    Ich benutze Goto auch ab und an, aber nur für "On Error Goto Errorhandler" Dinge, wenns kein Try/Catch gibt..

  5. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor ggggggggggg 19.01.12 - 20:22

    na dann nenn doch mal ein Beispiel welches sich nicht anders oder nur hässlicher ohne Goto lösen lässt...

    Das Problem ist ja nicht das goto an sich, sondern die potenziell gruselige Wartbarkeit des Codes bei Verwendung des Befehls.

  6. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor enolive 19.01.12 - 20:23

    objection! Es gibt einige Fälle, in denen tatsächlich ein goto Sinn macht. Etwa um in paar Sprachen das Fehlen von bestimmten Konstrukten zu kompensieren (z.B. Exceptions in C) oder für Inlineoptimierungen. Ist keines von beiden Kriterien erfüllt, so tut man gut daran, gotos zu meiden wie der Teufel das Weihwasser :)

    Allerdings bin ich persönlich bei weitem kein so guter Programmierer, dass ich von so etwas Gebrauch machen würde -- ich fürchte außerdem, die Lehren von Wirth und Dijkstra sind bei mir auf fruchtbaren Boden getroffen ;)

    Es gab dazu btw. eine interessante Diskussion rund um gotos im Linux-Kernel. Auch wenn ich den Argumenten nicht ganz zustimmen kann, halte ich es dennoch für wichtig, gotos nicht per se zu verdammen (wie ich es früher gemacht habe):

    http://kerneltrap.org/node/553/2131

  7. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Knutchen 19.01.12 - 20:30

    Ich finde goto vor allem nützlich wenn man mit Locks arbeitet und mehrere exit stellen im Code hat weil unterschiedliche Fehler auftreten können. An den Stellen kommt dann ein goto release hin und bei dem Label wird der ganze Lock release Kram gemacht.

  8. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor enolive 19.01.12 - 20:39

    Knutchen schrieb:
    --------------------------------------------------------------------------------
    > Ich finde goto vor allem nützlich wenn man mit Locks arbeitet und mehrere
    > exit stellen im Code hat weil unterschiedliche Fehler auftreten können. An
    > den Stellen kommt dann ein goto release hin und bei dem Label wird der
    > ganze Lock release Kram gemacht.

    jo, wenn die Sprache kein finally anbietet, ist das genau der richtige Weg das zu tun ;)

  9. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor vlad_tepesch 19.01.12 - 20:40

    das zeigt, dass du üerhaupt keine Ahnung hast.
    das eine ist auf unterester Ebene ein jmp, das andere ein call

  10. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Martin F. 19.01.12 - 20:47

    try-with-resources!

    --
    Bitte prüfen Sie, ob Sie diesen Beitrag wirklich ausdrucken müssen!

  11. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Wolf als Gast 19.01.12 - 20:59

    es gab bei mir noch nie eine Situation wo mir goto den Arsch gerettet hat.
    Wobei um deinem Beispiel zu folgen. Bei guten Programmierern ist die Sprache und der Code nicht das Problem, sondern die Logik das Problem zu lösen.
    Die Sprache ist Mittel zum Zweck das Ziel zu erreichen.
    Ich würde mal behaupten, du bis keiner der guter Programmierer.



    1 mal bearbeitet, zuletzt am 19.01.12 21:05 durch Wolf als Gast.

  12. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor BLi8819 19.01.12 - 21:04

    Der einzige sinnvolle Einsatz, der mir einfällt ist "GoTo ErrorHandler".
    Aber der ist auch nur Sinnvoll, wenn die Sprache kein "Try Catch Finally" kennt.

    Wann ist es denn noch Sinnvoll?

  13. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor irata 19.01.12 - 21:40

    enolive schrieb:
    --------------------------------------------------------------------------------
    > ich fürchte außerdem, die Lehren von Wirth und Dijkstra sind bei mir auf fruchtbaren Boden getroffen ;)

    Wirth und Dijkstra?
    Na ja, was sind dagegen schon ein McConnell, Torvalds oder Knuth ("Structured Programming with go to Statements")?
    ;-)

  14. /sign

    Autor chuck 19.01.12 - 22:20

    Schade, wirst du nicht eines Besseren belehrt werden...

  15. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor blubbsi 19.01.12 - 23:51

    vllt um verschachtelte schleifen anschaulich abzubrechen

  16. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Martin F. 19.01.12 - 23:54

    break $n;

    --
    Bitte prüfen Sie, ob Sie diesen Beitrag wirklich ausdrucken müssen!

  17. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor blubbsi 20.01.12 - 00:00

    stimmt schon, aber verschachtelungen abzählen, $n irgendwann anpassen... labels find ich manchmal hübsch

  18. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor Martin F. 20.01.12 - 00:03

    blubbsi schrieb:
    --------------------------------------------------------------------------------
    > stimmt schon, aber verschachtelungen abzählen, $n irgendwann anpassen...
    > labels find ich manchmal hübsch

    Mir scheint da in den meisten Fällen eher ein return angebracht zu sein.

    --
    Bitte prüfen Sie, ob Sie diesen Beitrag wirklich ausdrucken müssen!

  19. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor blubbsi 20.01.12 - 00:20

    ja, das sieht insgesamt dann wirklich besser aus, stell ich mir vor

    ich glaube, ich habe so eine fan-in daumenregel falsch vertanden, nach der ich selten eine funktion mache, die nur an einer stelle aufgerufen wird. nur wenn es ein code gerüst ist. in dem genannten fall return zu verwenden setzt vorraus, dass man mit dem mehr an funktionen klar kommt.

  20. Re: Es gibt 2 Arten von Programmierer die Goto verwenden....

    Autor theonlyone 20.01.12 - 01:44

    Goto hin oder her ; was hat man davon einen Insel-Menschen seinen Code schreiben zu lassen der dann nur dazu führt das den kein anderer versteht.

    Genau solche furchtbaren Konstrukte und pseudo "Leet" Style sorgen ja nur dafür das Code viel aufwendig zu warten ist als in einmal runter zuschreiben.


    Wenn deine Sprache ein "Goto" erfordert, wäre vielleicht ganz angebracht die Sprache zu wechseln ; den in dem Fall ist die gewählte Sprache einfach unzureichend ausgestattet.


    Man kann auch in diversen Sprachen Klassenstrukturen nachbauen ; aber warum sollte man das tun ? Man benutzt einfach eine Sprache die das von vorn herein bietet.


    Gibt ja auch nicht umsonst Coding-Styles an die man sich halten sollte ; schlicht damit der Code allgemein verstanden wird und nicht eine "Besonderheit" darstellt.


    Wenn man Goto dennoch aus irgendwelchen ominösen Gründen benutzt, dann extrem reduziert und über die Massen gut dokumentiert was genau passieren soll.

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Meistgelesen
  1. Libreoffice

    "Wir wollen Nutzer in die ODF-Welt ziehen"

  2. Browser

    Kauft Facebook Opera?

  3. Blackberry

    RIM plant Massenentlassungen

  4. Datenschutz

    Neue EU-Regeln zu Cookies treten in Kraft

  5. Samsung Galaxy S3

    Siri braucht sich nicht zu fürchten


Meistkommentiert
  1. Kommentare: 171 | letzter Beitrag 20:42 Uhr

  2. Kommentare: 94 | letzter Beitrag 26.05. 19:45

  3. Kommentare: 77 | letzter Beitrag 20:57 Uhr

  4. Kommentare: 70 | letzter Beitrag 18:56 Uhr

  5. Kommentare: 62 | letzter Beitrag 21:44 Uhr

Mehr



Haben wir etwas übersehen?

E-Mail an news@golem.de


Zulieferer: Sony soll iPhone 5 mit In-Cell-Touchscreen ausrüsten
Zulieferer
Sony soll iPhone 5 mit In-Cell-Touchscreen ausrüsten

Laut Apple-Zulieferern wird das iPhone 5 mit einem neuartigen In-Cell-Touchscreen ausgerüstet. Als Hersteller soll Sony infrage kommen. Bislang hieß es, dass Apple Sharp und Toshiba bevorzugen würde.

  1. iPhone 5 Kleinerer Dock-Connector im Gespräch
  2. Streit um Domains Apple hat Domain iPhone5.com erhalten
  3. 4 Zoll iPhone 5 wohl mit größerem Display

Owncloud Inc.: "Wir sind kein Serviceprovider"
Owncloud Inc.
"Wir sind kein Serviceprovider"

Das Unternehmen Owncloud entwickele nur Software und biete Support für Kunden, sagte Technikchef Frank Karlitschek auf dem Linuxtag 2012. Darüber hinaus verriet er einige technische Details zu Owncloud 4 und kommenden Entwicklungen.

  1. Persönlicher Onlinespeicher Owncloud 4.0 verschlüsselt Daten auf dem Server
  2. Persönlicher Onlinespeicher Owncloud erhält Android-Applikation
  3. Persönlicher Onlinespeicher Owncloud 2012 auch mit kostenpflichtigem Support

Landgericht Hamburg: Blogger haftet für eingebettetes Youtube-Video
Landgericht Hamburg
Blogger haftet für eingebettetes Youtube-Video

Das Landgericht Hamburg hat entschieden, dass der Blogger und Rechtsanwalt Markus Kompa für ein via Youtube eingebettetes ZDF-Video als Verbreiter haftet. Geklagt hat ein umstrittener Arzt aus München, der zuvor erfolgreich gegen den Bericht der ZDF-Sendung Wiso vorgegangen war.

  1. Youtube-Streit Gema legt Berufung ein und pocht auf Transparenz
  2. Gema gegen Youtube Beide sehen sich als Gewinner
  3. Gema gegen Youtube Medienanwalt erwartet ab morgen weitere Youtube-Sperren

  1. Renesas: Chiphersteller will ein Drittel der Beschäftigten loswerden
    Renesas
    Chiphersteller will ein Drittel der Beschäftigten loswerden

    Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

  2. Blackberry: RIM plant Massenentlassungen
    Blackberry
    RIM plant Massenentlassungen

    RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

  3. Browser: Kauft Facebook Opera?
    Browser
    Kauft Facebook Opera?

    Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.


  1. 15:41

  2. 13:23

  3. 14:48

  4. 14:29

  5. 14:24

  6. 12:30

  7. 12:23

  8. 18:49