-
GOTO
Autor: T. 23.11.05 - 11:06
juhuu!!! back to (the) basic(s)!
damit wird PHP noch spaghetti-mässiger als
es jetzt schon ist! ich finde PHP ist eine
sacklangsame, unlesbare mistseuche....
verwunderlich das sich dieser haufen so verbreitet
hat, aber das ist bei prolls die IT kaufen halt
so: M$-server mit PHP drauf....*kotzwürg*
T.
-
bittteeee nicht!!!!
Autor: noquarter 23.11.05 - 11:29
das ist ja der horror.. das ist doch der tod jeder anwendung. Verstehe das echt nicht, die sollen lieber weiter an dem klassen Modell arbeiten..
-
Re: bittteeee nicht!!!!
Autor: syntaxx 23.11.05 - 11:51
noquarter schrieb:
-------------------------------------------------------
> das ist ja der horror.. das ist doch der tod jeder
> anwendung. Verstehe das echt nicht, die sollen
> lieber weiter an dem klassen Modell arbeiten..
>
>
Ich bin auch dieser Meinung. Falls goto wirklich kommen wird, ist PHP für mich gestorben.
Ich persönlich würde es toll finden, wenn die typisierung von PHP erweitert würde. z.b. dass man Variablen als int deklarieren kann und diese Variable auch nur int aufnehmen kann. Natürlich sollte man das optional machen können, damit man die 'alten' PHP-Variablen auch noch benutzen kann.
mfg -
Re: bittteeee nicht!!!!
Autor: Putzlappen 23.11.05 - 11:52
noquarter schrieb:
-------------------------------------------------------
> das ist ja der horror.. das ist doch der tod jeder
> anwendung. Verstehe das echt nicht, die sollen
> lieber weiter an dem klassen Modell arbeiten..
Keine Sorge, das GOTO in PHP wird keinesfalls wie das GOTO in Basic implementiert werden. Man wird nicht beliebig im Code umherspringen können, sondern lediglich aus Schleifen heraus "nach unten" ausbrechen können. Das ging zwar bisher auch schon, neu ist aber, das man - wie bei GOTO in Basic - zu einem benamsten Label springen können wird. Da das mit dem bekannten GOTO eigentlich nicht mehr viel zu tun hat, wird es auch nicht so heißen. In PHP heißt das dann "break". Gab es bisher auch schon, aber jetzt ist halt dazu noch die Angabe eines Labels möglich.
-
Re: bittteeee nicht!!!!
Autor: noquarter 23.11.05 - 11:53
jap das fehlt mir in php auch. wenn man es wenigstens anstellen könnte..
-
Re: bittteeee nicht!!!!
Autor: pennbruder 23.11.05 - 11:55
noquarter schrieb:
-------------------------------------------------------
> jap das fehlt mir in php auch. wenn man es
> wenigstens anstellen könnte..
sehe ich auch so. zumindest das type-hinting sollte man
auf diese typen erweitern. -
Re: bittteeee nicht!!!!
Autor: pennbruder 23.11.05 - 12:01
Putzlappen schrieb:
-------------------------------------------------------
>
> Keine Sorge, das GOTO in PHP wird keinesfalls wie
> das GOTO in Basic implementiert werden. Man wird
> nicht beliebig im Code umherspringen können,
> sondern lediglich aus Schleifen heraus "nach
> unten" ausbrechen können. Das ging zwar bisher
> auch schon, neu ist aber, das man - wie bei GOTO
> in Basic - zu einem benamsten Label springen
> können wird. Da das mit dem bekannten GOTO
> eigentlich nicht mehr viel zu tun hat, wird es
> auch nicht so heißen. In PHP heißt das dann
> "break". Gab es bisher auch schon, aber jetzt ist
> halt dazu noch die Angabe eines Labels möglich.
>
>
das wirft aber fragen auf:
1. wer braucht das, sodass die implementierung gerechtfertigt ist? (immerhin werden andere viel sinnvollere erweiterungen aufgrund dieser frage eben nicht implementiert)
2. labels gibt es bisher nicht. sie sind ein völlig neuer sprachkonstrukt der die sprache nicht unbedingt schöner und übersichtlicher machen wird.
3. wird die faulheit der leute nicht dadurch unterstützt? für mich sieht der sprung zu einem label nach unsauberer programmierung aus. ich habe GOTO nach den anfängen im interpreterbasic (mit zeilennummern) nie mehr verwendet oder gar vermisst. es kann mir niemand erzählen, dass das ein essenzielles feature ist, wenn andere viel sinnvollere features wie named paramaters oder namespaces gar nicht oder nur schlampig implementiert werden.
-
Re: GOTO
Autor: dabbes 23.11.05 - 12:01
T. schrieb:
-------------------------------------------------------
> damit wird PHP noch spaghetti-mässiger als
> es jetzt schon ist! ich finde PHP ist eine
> sacklangsame, unlesbare mistseuche....
> verwunderlich das sich dieser haufen so
> verbreitet
Oh, wieder eine der nicht programmieren kann... mir kommen die Tränen ;-)
Wenn man nicht programmieren kann, dann sollte man es vielleicht sein lassen.
Jeder der will, kann dir in jeder belieben Programmiersprache "spaghetti-mässigen" Code, der zudem eine "sacklangsame, unlesbare mistseuche" ist, zaubern.
Aber wie gesagt das hat nix mit PHP zu tun.
> hat, aber das ist bei prolls die IT kaufen halt
> so: M$-server mit PHP drauf....*kotzwürg*
Ich kaufe keine M$-server -
Kein Schlüsselwort "GOTO"
Autor: ji (Golem.de) 23.11.05 - 12:01
T. schrieb:
-------------------------------------------------------
Ob der Diskussion hier habe ich den Text verändert: Es wird soll kein Schlüsselwort "goto" geben, wenn auch die geplante Funktion dem sehr Nahe kommt und unter der Überschrift "goto" steht. Die Formulierung führte so aber in eine Falsche Richtung.
... jens -
Re: Kein Schlüsselwort "GOTO"
Autor: pennbruder 23.11.05 - 12:03
ji (Golem.de) schrieb:
-------------------------------------------------------
> T. schrieb:
> --------------------------------------------------
> -----
>
> Ob der Diskussion hier habe ich den Text
> verändert: Es wird soll kein Schlüsselwort "goto"
> geben, wenn auch die geplante Funktion dem sehr
> Nahe kommt und unter der Überschrift "goto" steht.
> Die Formulierung führte so aber in eine Falsche
> Richtung.
>
> ... jens
nunja - das schlüsselwort 'goto' wird es nicht geben,
aber die erweiterung von 'break' und die einführung von
labels kommt diesem eben sehr nahe. egal wie man es nennt:
es bleibt meiner ansicht nach ein übles ding. pfui!
-
Re: GOTO
Autor: T. 23.11.05 - 12:08
dabbes schrieb:
-------------------------------------------------------
> Oh, wieder eine der nicht programmieren kann...
> mir kommen die Tränen ;-)
>
> Wenn man nicht programmieren kann, dann sollte man
> es vielleicht sein lassen.
>
halt dein mowl! ich kann bestimmt 10x mal besseren code bauen als du! wollen wir wetten?
T.
-
Re: bittteeee nicht!!!!
Autor: Chaoswind 23.11.05 - 12:14
pennbruder schrieb:
-------------------------------------------------------
> 1. wer braucht das, sodass die implementierung
> gerechtfertigt ist? (immerhin werden andere viel
> sinnvollere erweiterungen aufgrund dieser frage
> eben nicht implementiert)
Jeder der den Code sauber und übersichtlich halten will. Gezielte Breaks sind sehr nuetzlich um aus verschachtelten Schleifen auszubrechen. Anstatt in jeder Schleife irgendwelche Status-Variablen abzufragen oder die Schleife in der Ebene auszuweiten, kann man kleine kompakte kontrukte realisieren.
> 2. labels gibt es bisher nicht. sie sind ein
> völlig neuer sprachkonstrukt der die sprache nicht
> unbedingt schöner und übersichtlicher machen
> wird.
Ist kein grosser aufwand.
> 3. wird die faulheit der leute nicht dadurch
> unterstützt? für mich sieht der sprung zu einem
> label nach unsauberer programmierung aus. ich habe
> GOTO nach den anfängen im interpreterbasic (mit
> zeilennummern) nie mehr verwendet oder gar
Schon mal break benutzt? Ist auch nichts anderes als ein Spezielles Goto. Gezielte Breaks sind nun lediglich eine weitere sinnvolle annaeherung an ein kontrolliertes Goto.
> vermisst. es kann mir niemand erzählen, dass das
> ein essenzielles feature ist, wenn andere viel
> sinnvollere features wie named paramaters oder
> namespaces gar nicht oder nur schlampig
> implementiert werden.
Was ist schon wirklich essenzielle? Ausser Variablen, While und If-Else braucht man doch eigentlich gar nichts ;) -
Re: GOTO
Autor: dabbes 23.11.05 - 12:14
T. schrieb:
-------------------------------------------------------
> halt dein mowl! ich kann bestimmt 10x mal besseren
> code bauen als du! wollen wir wetten?
Na dann "bau" du mal schön deinen Code, ich würde mir allerdings vorher erst ein paar Gedanken machen --> ich glaube man nennt es Planung oder strukturiertes Vorgehen ;-)
-
Re: Kein Schlüsselwort "GOTO"
Autor: dabbes 23.11.05 - 12:18
ji (Golem.de) schrieb:
-------------------------------------------------------
> T. schrieb:
> --------------------------------------------------
> -----
>
> Ob der Diskussion hier habe ich den Text
> verändert: Es wird soll kein Schlüsselwort "goto"
> geben, wenn auch die geplante Funktion dem sehr
> Nahe kommt und unter der Überschrift "goto" steht.
> Die Formulierung führte so aber in eine Falsche
> Richtung.
Danke, das macht dann schon eher Sinn.
Dann kann man im Quellcode wenigstens leichter erkennen wo es nach einem break weitergeht... auch wenn ich kein Fan von break bin.
-
Re: bittteeee nicht!!!!
Autor: pennbruder 23.11.05 - 12:22
Chaoswind schrieb:
-------------------------------------------------------
> pennbruder schrieb:
> --------------------------------------------------
> -----
> > 1. wer braucht das, sodass die
> implementierung
> gerechtfertigt ist? (immerhin
> werden andere viel
> sinnvollere erweiterungen
> aufgrund dieser frage
> eben nicht
> implementiert)
>
> Jeder der den Code sauber und übersichtlich halten
> will. Gezielte Breaks sind sehr nuetzlich um aus
> verschachtelten Schleifen auszubrechen. Anstatt in
> jeder Schleife irgendwelche Status-Variablen
> abzufragen oder die Schleife in der Ebene
> auszuweiten, kann man kleine kompakte kontrukte
> realisieren.
>
ich muss keine status-variablen abfragen - lediglich meinen
code anders strukturieren. aber wer zu faul ist seinen code
sauber zu strukturieren, für den mag das neue break sicher
sinnvoll sein.
> > 2. labels gibt es bisher nicht. sie sind
> ein
> völlig neuer sprachkonstrukt der die
> sprache nicht
> unbedingt schöner und
> übersichtlicher machen
> wird.
>
> Ist kein grosser aufwand.
>
eigentlich ging es mir mehr um die ästhetik der sprache,
die ohnehin hier und da nicht unbedingt schön ist.
> > 3. wird die faulheit der leute nicht
> dadurch
> unterstützt? für mich sieht der
> sprung zu einem
> label nach unsauberer
> programmierung aus. ich habe
> GOTO nach den
> anfängen im interpreterbasic (mit
>
> zeilennummern) nie mehr verwendet oder gar
>
> Schon mal break benutzt? Ist auch nichts anderes
> als ein Spezielles Goto. Gezielte Breaks sind nun
> lediglich eine weitere sinnvolle annaeherung an
> ein kontrolliertes Goto.
>
das ausbrechen aus einer schleife ist eine sache - der
sprung zu einem label eine andere.
-
Re: Kein Schlüsselwort "GOTO"
Autor: dabbes 23.11.05 - 12:24
> nunja - das schlüsselwort 'goto' wird es nicht
> geben,
> aber die erweiterung von 'break' und die
> einführung von
> labels kommt diesem eben sehr nahe. egal wie man
> es nennt:
> es bleibt meiner ansicht nach ein übles ding.
> pfui!
Wenn man es "nur" dazu benutzen kann um mittels eines breaks einen Punkt weiter unten anzuspringen (innerhalb einer function), dann finde ich es garnicht so verkehrt... würde zumindest die Lesbarkeit von breaks und deren Zielpunkten verbessern.
So wie es im Moment ist muss man jedesmal erst den Code durchschauen um festzustellen wo das break den überhaupt landet.
Aber breaks im allgemeinen mag ich auch nicht und benutze sie eigentlich sogut wie nie.
-
Re: bittteeee nicht!!!!
Autor: Chaoswind 23.11.05 - 12:41
pennbruder schrieb:
-------------------------------------------------------
> > Jeder der den Code sauber und übersichtlich halten
> > will. Gezielte Breaks sind sehr nuetzlich um aus
> > verschachtelten Schleifen auszubrechen. Anstatt in
> > jeder Schleife irgendwelche Status-Variablen
> > abzufragen oder die Schleife in der Ebene
> > auszuweiten, kann man kleine kompakte kontrukte
> > realisieren.
> ich muss keine status-variablen abfragen -
> lediglich meinen code anders strukturieren. aber wer
Deshalb steht da auch 'oder die Schleife in der Ebene auszuweiten'
> zu faul ist seinen code sauber zu strukturieren,
Es spricht nicht unbedingt fuer saubere Strukturierung wenn man Code um ein mehrfaches aufblaehen muss.
> eigentlich ging es mir mehr um die ästhetik der
> sprache, die ohnehin hier und da nicht unbedingt schön
> ist.
So genau kenn ich PHP ich nicht. aber IMHO sieht es stark nach Perl oder C aus, welche sowieso schon haesslich ohne Ende sind :>
> das ausbrechen aus einer schleife ist eine sache -
> der sprung zu einem label eine andere.
Ja, ein Break bricht immer nur aus der innersten schleife aus, ein gezieltes Break aus genau sovielen wie es der Entwickler fuer notwendig befindet. Mit Spagetticode hat das wenig gemeinsam. -
Re: GOTO
Autor: var 23.11.05 - 13:18
T. schrieb:
-------------------------------------------------------
> juhuu!!! back to (the) basic(s)!
> damit wird PHP noch spaghetti-mässiger als
> es jetzt schon ist! ich finde PHP ist eine
> sacklangsame, unlesbare mistseuche....
> verwunderlich das sich dieser haufen so
> verbreitet
> hat, aber das ist bei prolls die IT kaufen halt
> so: M$-server mit PHP drauf....*kotzwürg*
>
> T.
>
Du sprichst mir aus dem Herzen! Keine Type-Safety und auch noch der italiänsche Ansatz. Oh mann ...
-
Re: GOTO
Autor: G.o.D 23.11.05 - 13:48
T. schrieb:
-------------------------------------------------------
> juhuu!!! back to (the) basic(s)!
> damit wird PHP noch spaghetti-mässiger als
> es jetzt schon ist! ich finde PHP ist eine
hier muss ich wiedersprechen, der goto befehl an
sich ist nichts schlimmes. ihn zu misbrauchen
um sich code zusammenfassungen in funktionsform
zu sparen ist das uebel... wenn ich mir ueberlege
wie unuebersichtlich so manche C funktion geendet
waere ohne goto. da haette man ja huntert ifse
einbauen muessen... fuer code wie
if (fehler) goto exit_clean;
...
if (nochnfehler) goto exit_clean;
...
if (undnochnfehler) goto exit_clean;
...
exit_clean:
free(pointer);
return;
ist er bares geld wert um das lesbar zu halten
> sacklangsame, unlesbare mistseuche....
> verwunderlich das sich dieser haufen so
> verbreitet
> hat, aber das ist bei prolls die IT kaufen halt
> so: M$-server mit PHP drauf....*kotzwürg*
da wiederum geb ich dir recht... verbugt hast du
vergessen... aber mal unter uns: da denk ich doch gleich
an windows und... verwunderlich ist das absolut
nicht...
--
happiness is a warm gun -- Sledge Hammer -
Re: GOTO
Autor: foreach(:) 24.11.05 - 04:28
dafür gibts doch switch(1) case:"(a<b)" blablab break; default: ok
> if (fehler) goto exit_clean;
> ...
> if (nochnfehler) goto exit_clean;
> ...
> if (undnochnfehler) goto exit_clean;
> ...
> exit_clean:
> free(pointer);
> return;