Gibt es in PHP eine GOTO funktion? Wen ja wie geht sie? (ot)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gibt es in PHP eine GOTO funktion? Wen ja wie geht sie? (ot)

    Gibt es in PHP eine GOTO funktion? Wen ja wie geht sie? (ot)

  • #2
    nö, geht nicht!

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      und so was ähnliches

      und so was ähnliches

      Kommentar


      • #4
        PHP ist eine strukturierte Programmiersprache. Benutz Funktionen, Includes und/oder objektorientierte Programmierung.

        Wenn du Spaghetticode programmieren willst, steig auf QBASIC um.

        CAT Music Files

        Kommentar


        • #5
          es gibt aber situationen in denen ein goto enorm viel
          weiterhilft. (deshalb gibt es das warscheinlich auch in c).

          tenim

          Kommentar


          • #6
            naja, ist wohl eher so ein Überbleibsel aus vergangenen Tagen!

            Moderne PS komme ohne aus.

            berni

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar


            • #7
              hmm,

              ich sehe auch keinen Grund ein GOTO zu verwenden, man muss halt zuerst denken und dann programmieren, dafür ist der Code dann auc stimmiger wenn er fertig ist. Ich bin damals von c64 Basic auf TurboPascal umgesattelt *lol* Ich dachte zuerst diese Sprache wäre unprogrammierbar aber nach einer Gewöhnungsphase war der 'Sprunggedanke' nichtmehr in meinem Programmiererwortschatz enthalten, er hat sich einfach überlebt.

              Kommentar


              • #8
                ein goto ist um vieles schneller als eine kontrollstruktur mit bedingter schleife, weil dort immer erst ein vergleich und dann erst ein sprung ausgeführt wird. in programmen in denen es auf geschwindigkeit ankommt (grafik,3d-modellierung) kann ein goto den entscheidenden vorteil bringen. in assembler übrigens ist der goto-befehl (dort jmp) essentiell, in manchen situationen geht es dort garnicht ohne. wer sich ernsthaft mit der programmierung
                auseinandersetzen will, ist schlecht beraten diesen befehl "aus prinzip" nicht zu nutzen, aber für otto-normal
                ist es schon richtig das man auch ohne auskommt.
                ich bin der meinung, man sollte alle möglichleiten ausschöpfen die einem ein programmierwerkzeug bietet.

                tenim

                [Editiert von tenim am 06-11-2001 um 22:30]

                Kommentar


                • #9
                  Als Otto-Normal Programmierer muss ich sagen, erst Hirn einschalten und dann GOTO weglassen. Plane deine Programme richtig und du musst nicht irgendwo einfach mal hinspringen. Es ist zwar richtig, das das ANSI-Komitee den Befehl sogar bei C++ beibehalten hat, aber wohl extra für dich, damit man nicht erst überlegen muß.

                  Kommentar


                  • #10
                    hmmm,

                    @tenim



                    wenn es auf Geschwindigkeit ankommt dann schreib lieber alles x fach direkt in den Code anstatt irgendwo hin zu springen, das ist noch schneller. Und was jmp und Assembler angeht, es ist logisch dass Rechner nicht ohne Sprünge auskommen, das hab ich nicht bestritten, aber warum wohl programmiert der mit abstand grösste Teil nichtmehr mit direkter Maschinensprache ?? Weil es völliges Chaos ist, naja und warum ist es Chaos ?? Genau weil mal hierhin mal dahin oder auch mal dorthin gesprungen wird, am besten noch per indirekter Adressierung.



                    Naja und wie gesagt, es gibt nichts was sich nicht auch ohne GOTO lösen lassen würde und wie du schon gesagt hast, man soll die Möglichkeiten der Sprache ausnutzen und php hat halt kein GOTO.

                    Kommentar


                    • #11
                      @Gizmo

                      ich habe serwohl vorher "überlegt" und dazu auch mein "Hirn eingeschaltet" bevor ich in diversen programmen in einzelfällen auch den goto-befehl benutzt habe.

                      erstmal:
                      1. unabhängig von einem thema in einem forum sollte man dem anderen gegenüber sachlich bleiben und nicht persönlich beleidigen.
                      2. warum wohl hat das ansi-komitee den befehl beibehalten?
                      wohl kaum aus "just for fun". kannst die
                      leute ja mal fragen und dich aufklären lassen.
                      3. ich habe mal einen mikroprozessor entwickelt(mit einem simulator für digitale bausteine) und dazu verschiedene programme geschrieben(compiler,assembler) in denen der einsatz von goto den programmcode ungemein verkürzt hat
                      und die übersicht ist auch nicht verloren gegangen.
                      warum soll man den umständlicherern weg wählen wenn es schneller und effizienter geht und die übersicht nicht verloren geht?
                      4. hast du überhaupt schon mal "richtig" programmiert und verfügst über erfahrung, oder sind das bei dir nur auswendig gelernte
                      schlagworte aus computerzeitungen?(entschuldigung, aber ich mußte zurückschlagen)


                      @JoelH

                      ich meinte das ich meine programme mit dem goto-befehl gelegentlich optimiere und zwar inbezug auf geschwindigkeit und codegröße. wenn ich code x-fach einfüge geht a) die übersicht verloren (jedenfalls mehr als bei einem goto) und b) wird das programm zu groß.
                      in assembler programmiert man hauptsächlich nicht mehr weil der geschwindigkeitsvorteil den enormen mehraufwand an programmierzeit meistens nicht rechtfertigt.

                      tenim

                      Kommentar


                      • #12
                        hmm,

                        original erstellt von tenim :
                        in programmen in denen es auf geschwindigkeit ankommt (grafik,3d-modellierung)
                        original erstellt von tenim :
                        in assembler programmiert man hauptsächlich nicht mehr weil der geschwindigkeitsvorteil den enormen mehraufwand an programmierzeit meistens nicht rechtfertigt.
                        Was nun ?? Gehts um Geschwindigkeit oder um Aufwand ? Ist die Geschwindigkeit jetzt wichtig oder nicht ?
                        original erstellt von tenim :
                        wenn ich code x-fach einfüge geht a) die übersicht verloren (jedenfalls mehr als bei einem goto)
                        also du musst mir jetzt mal erklären wieso die Übersicht verloren geht wenn ich den Code der gerade ausgeführt wird vor meinen Augen steht, im gegensatz dazu das ich nicht weiss was nach einem Sprungbefehl kommt. Einzigst die Codegrösse verändert sich.
                        Original erstellt von tenim :
                        ein goto ist um vieles schneller als eine kontrollstruktur mit bedingter schleife, weil dort immer erst ein vergleich und dann erst ein sprung ausgeführt wird
                        Komisch, diese Aussage mit der Aussage zu kombinieren die ich eins weiter oben zitiert habe scheint schwierig, denn das einzige was jetzt bleibt ist eine Endlosschleife, alles andere erfordert einen Vergleich. Ich folgere daraus dass ein GOTO nur bei Endlosschleifen vorteile bringen denn ansonsten hast du eh einen Vergleich drin. Naja und die Frage wielange du warten musst bis eine Schleife like
                        Code:
                        10 Print "Hallo"
                        20 Goto 10
                        einen sichtbaren Vorteil gegenüber einer Schleife like
                        Code:
                        for ($i=1;$i<=10;$i=$i+0)
                        {
                          echo"Hallo";
                        }
                        bringt ist bei einem Rechner der heutigen Generation müssig, denn wenn es ein intelligenter Compiler ist dann wandelt er beide Strukturen in ein und den selben Code um, ist es ein unintelligenter Compiler schätze ich den unterschied auf 2-3 Takte, was bei 2 Ghz nicht unbedingt auffällt, oder ? Sich gibt es Taktpuristen, aber die arbeiten halt nicht mit Hochsprachen womit wir wieder beim Anfang des Postings wären.

                        Kommentar


                        • #13
                          @JoelH
                          ohne Worte!

                          @tenim

                          Persönlich bist du als erstes geworden, indem du meinst das otto normal programmiert. Dennoch war meine Wortwahl nicht korrekt, und es tut mir leid.
                          Programmieren tu ich schon seit fast 20 Jahren, und die Programmierer die ich kenne benutzen heute keine Jump Behle mehr.

                          Kommentar


                          • #14
                            @JoelH

                            deine erste quote bezog sich darauf, das es bei einigen programmen auf geschwindigkeit ankommt und deshalb manchmal ein goto angebracht ist.

                            die zweite quote hat mit der ersten nichts zu tun, darin erklärte ich dir nur, warum heutzutage nicht mehr so viel in assembler gemacht wird und das war die reaktion auf deinen frage "aber warum wohl programmiert der mit abstand grösste Teil nichtmehr mit direkter Maschinensprache ?? ".

                            zur dritten quote:
                            die übersicht geht ganz klar verloren wenn ich ständig unterprogramme mit 10 seiten umfang ständig im aktuellen quellcode einbinde und erstmal schauen muß wo was anfängt und aufhört. und wiso weißt du nicht was nach einem sprungbefehl kommt? du kannst doch dem sprungziel einen aussagekräftigen namen geben.

                            quote vier:
                            es ist schon richtig, das der geschwindigkeitsvorteil gering ist, aber ich sagte ja schon am anfang das sich diese art von programmierung nicht auf "otto-normal" bezieht sondern auf extremsituationen und deshalb fand ich es schlecht, goto von vorneherein zu verteufeln.
                            aber leider gibt es noch viele leute die so denken das man bei schnellen rechnern nicht mehr so penibel programmieren muß und daraus resultiert das man für fast jedes neue spiel einen neuen computer braucht(der letzte ultima-teil lief auf keiner damaligen hardware ruckelfrei). bei betriebssystemen ist es dasselbe, zwischen der geschwindgkeit von windows 95-98 (hauptsächlich c,c++) und der geschwindigkeit von z.b. beos(komplett assembler) liegen welten. das sind die bereiche von denen ich sprach, bei der entwicklung von betriebssystemen wird es IMMER auf geschwindigkeit und kompaktheit ankommen. 2-3 taktzyklen sind für eine operation nicht viel aber bei der bildbarbeitung z.b. wo eine operation auf jeden bildpunkt angewendet wird hat man bei einer auflösung von 1600*1200 punkten mindestens 1.920.000 zyklen umsonst und das macht serwohl etwas aus.
                            ich habe mich bei diesem thema immer auf den generellen einsatz des goto-befehls bezogen und nicht auf php.

                            tenim

                            Kommentar


                            • #15
                              Diese Diskussion ist meiner Meinung nach echt sinnlos. Soll doch jeder programmieren, wie es ihm am besten passt - er wird schon seine Gründe dafür haben

                              CAT Music Files

                              Kommentar

                              Lädt...
                              X