ahhh nicht schlagen, war nur spass ;)
Goto StilleTreppe, aber sofort!
LOL ihr seid witzig xD
Commodore 64 :>
1 PRINT "INPUT YOUR NAME PLEASE"
2 INPUT A$
3 PRINT "(ausgestochenes Herz)"
4 PRINT "DEIN NAME WAR " A$
;P
Quelle: http://golang.org/doc/go_spec.html
Keywords
..., goto, ...
ahhhhhhhhhh.......
Lieber Go2Go, oder doch Kaffee2go? XD
Irgendwann haben alte Säcke gesagt, daß BASIC jetzt total out ist und GOTO voll überflüssig - weil es etwas Neues gibt das viel besser ist: GOTOLESS.
Und alles was neu ist, ist automatisch besser.
Seit diesem Tag wird BASIC und alles was damit in Verbindung gebracht wird belächelt.
Weil es so gesagt wurde, und das ist dann auch so.
Gut, es gibt ein paar "Rebellen" die nicht alles schlucken und sogar die Vorteile von GOTO verstehen.
Ist aber wahrlich nichts für Schwarz/Weiß-Denker.
;-)
Dazu sag ich einmal: Autsch!
Es hat seinen Grund warum man goto nicht verwenden sollte. Es wird schlicht unübersichtlich. Man schreibt auch keine 200 Zeilen Funktionen nur weil es rein praktisch geht.
Tingelchen schrieb:
--------------------------------------------------------------------------------
> Es hat seinen Grund warum man goto nicht verwenden sollte.
Das sagen meistens Leute, die nie ernsthaft in Basic programmiert haben bzw. Basic wahrscheinlich nicht mal kennen ;-)
Ein Kollege hat mir zu meiner Verwunderung kürzlich gesagt, er findet GOTOs (in C) trotzdem es verpöhnt ist gar nicht mal so schlecht - für spezielle Anwendungsgebiete (z.B. Robotersteuerung).
Etwas aus Prinzip zu verteufeln halte ich für engstirnig.
irata_ schrieb:
--------------------------------------------------------------------------------
> Etwas aus Prinzip zu verteufeln halte ich für engstirnig.
Ich auch! Prinzipien haben bei der Auslese nichts verloren! :)
Es geht um die Produktivität und den Nutzen-Faktor! ;)
Goto hat seine Existenzberechtigung, ich kenn nur die eine, aber ich bin froh, dass ich da goto nutzen kann (wahrscheinlich der einzige grund warum es selbst in C# ein goto gibt).
ein simples beispiel in c# soll verdeutlichen wo goto genutzt werden kann:
--SNIP--
...
foreach(var child in node)
{
foreach(var item in child.Items)
{
if(item.IsEnabled)
{
DoSomething(item);
}
else
{
goto breakForeach;
}
}
}
breakForeach:
...
--SNIP--
DrAgOnTuX schrieb:
--------------------------------------------------------------------------------
> Goto hat seine Existenzberechtigung, ich kenn nur die eine, aber ich bin
> froh, dass ich da goto nutzen kann (wahrscheinlich der einzige grund warum
> es selbst in C# ein goto gibt).
>
> ein simples beispiel in c# soll verdeutlichen wo goto genutzt werden kann:
>
> --SNIP--
> ...
> foreach(var child in node)
> {
> foreach(var item in child.Items)
> {
> if(item.IsEnabled)
> {
> DoSomething(item);
> }
> else
> {
> goto breakForeach;
> }
> }
> }
> breakForeach:
> ...
> --SNIP--
Was spricht hier gegen eine Variable "found" im Kontext der äußeren Schleife, die als Abbruchkriterium dient?
Ein "goto" ist hier jedenfalls auch nicht nötig. Im Gegenteil: Es liest sich schlechter, weil man wenn man nicht betrachtet, was die innere Schleife macht, sich vielleicht darüber wundert, warum die äußere Schleife plötzlich beendet wird.
Hab mit Basic angefangen, da war ich so... 10 Jahre alt ;) goto's fand ich damals schon zum kotzen. Das man aber in Basic gern auf goto zurück greift, wundert mich nicht im geringsten. Das ist auch keine Sprache, sondern ne frechheit ^^
Aber gut... jedem das seine. Von mir aus kannst du deinen Code mit gotos zupflastern wie du willst. Dein Nachfolger, der den Code dann weiter pflegen muss, wird dich dafür allerdings erschießen.
Noch nie was von Rekursion gehöhrt? ^^
Also ich habe im C64 immer sehr GERNE GOTO eingetippt! :D
Meistens dann sowas wie hier
1 PRINT "SPAM IST EIN DOSENSCHINKEN!"
2 GOTO 1
RUN
xD
lol
alleine schon bei "child" und "node" musste ich automatisch an rekursion denken *_*;
Tingelchen schrieb:
--------------------------------------------------------------------------------
> Das ist auch keine Sprache, sondern ne
> frechheit ^^
Du weißt aber schon das es da die unterschiedlichsten Dialekte gibt?
Zu einer Zeit als man nur zwischen Maschinensprache (nicht Assembler!) und Basic wählen konnte, war Basic schon eine Wohltat ;-)
Zumindest für den Einstieg.
> Von mir aus kannst du deinen Code mit gotos zupflastern wie du willst.
Von "zupflastern" war ja nie die Rede.
Gut, in den Ur-Versionen von Basic gab es kaum andere Möglichkeiten - da würde ich gern sehen wie du ohne GOTO auskommen willst ;-)
Man kann seinen Code aber auch GOTOLESS verstümmeln und unleserlich machen, das ist bei manchen sogar Absicht gewesen.
Hab schon sehr viel schlimmeres an Code gesehn, ganz ohne GOTO.
Aber man muß ja nicht immer vom schlimmsten ausgehn so wie du.
Zur Ablaufsteuerung ist GOTO schon ganz praktisch, das kann man zwar auch anders regeln - wird aber dann nicht unbedingt leserlicher.
Angeblich lassen sich GOTOs sogar besser in Maschinencode abbilden und optimieren als abstraktere gotoless-Sprachen.
Aber das Thema muß ich noch genauer recherchieren.
break- und continue-anweisungen sind in den meisten sprachen eh nix anderes als goto... und selbst goto hat seine daseinsberechtigung und sollte nicht zum teufel gejagd werden.
der code ist nur so dumm wie der programmierer der es geschrieben hat. ;)
Einfach die 2 Loops in 2 Funktionen kapseln würde das goto 1. überflüssig und 2. den Code deutlich verständlicher machen.
Das ist nicht der Grund. Goto "nach oben" verleitet zu schnell dazu schlechten code zu produzieren. Goto "nach unten" ist eigentlich OK - nicht schön...
Mein liebling ist aber noch immer das "COMEFROM" aus INTERCAL. Da wundert man sich dann immer wieso der Code übersprungen wird, weil man unten das COMEFROM nicht gesehen hat...
Selten so einen schrott gelesen. Was soll an der gestaltung einer Robotersteuerung anders sein als bei übrigen Programmen? Wenn er ahnung hätte würde er anders Programmieren. GOTO ist was für Anfänger die nicht wissen wie mit Schleifenkonstukten umgegangen wird. Und ich kenne Basic - ich kenne aber auch Designpatter. Etwas wovon jemand der GOTO benutzt höchstwarscheinlich noch nie was gehört hat!
Kommentare: 173 | letzter Beitrag 27.05. 23:42
Kommentare: 94 | letzter Beitrag 26.05. 19:45
Kommentare: 79 | letzter Beitrag 27.05. 22:43
Kommentare: 71 | letzter Beitrag 27.05. 22:20
Kommentare: 63 | letzter Beitrag 00:03 Uhr
E-Mail an news@golem.de

Der japanische Spieldesigner Goichi Suda - Fans sagen schlicht "Suda 51" - ist für schräge Actionspiele bekannt. Sein nächstes Werk schickt ein scheinbar braves Schulmädchen in den Kampf gegen Zombies.

Weitgehend unbemerkt hat der US-Händler Tigerdirect die ersten Chromebox-Systeme von Google ausgeliefert. Für 330 US-Dollar bekommt der Nutzer recht gute Hardware in Nettop-Form, die sehr viel leistungsfähiger ist als die des Chromebook mit ChromeOS.

Der neue Chef der Piratenpartei steht im Verteidigungsministerium unter Druck. Elektronische Kommunikation für seine Partei ist ihm in der Dienstzeit untersagt. "Es gibt Leute im Ministerium, die darauf warten, dass ich Fehler mache", sagte Schlömer.

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.

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.

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