Siechfred: PHP oder Perl?

Hallöle,

wollte gern mal wieder eure Meinung wissen.

Auf meinen Web-Streifzügen begegnen mir immer mehr Seiten, bei denen die aufgerufenen Seiten die Endung php haben statt des gewohnten html. heißen. Auch hier im Forum haben Fragen zu PHP einen sehr hohen Anteil. Da stellt sich mir die Frage, wo die Vorzüge von PHP gegenüber Perl liegen, da beide soweit mir bekannt ist serverseitige Programmiersprachen sind. Ich habe mitbekommen, dass PHP in Verbindung mit MySQL gute Möglichkeiten der Datenbankeinbindung bietet. Allerdings erschließt sich mir nicht so ganz, warum man ein Gästebuch oder einen Formmailer besser in PHP als in Perl schreiben sollte, oder ist das einfach nur Geschmackssache?

Euer ratloser Siechfred

--
Die wahre Kunst der Kommunikation liegt darin, nicht nur das Richtige am richtigen Ort zur richtigen Zeit zu sagen, sondern das Falsche im verlockenden Augenblick ungesagt zu lassen. (Dorothy Nevel)
ss:| zu:| ls:# fo:| de:[ va:| ch:? n4:& rl:? br:& js:| ie:% fl:( mo:}
  1. Warum is deiner Meinung nach Perl besser als PHP? Is doch egal. Jeder wie er kann und mag. Man sollte beides mal ausprobiert haben. Ich persönlich find PHP um einiges leichter als Perl. Schon weil php-Dateien nicht auf ein cgi-bin-Verzeichniss angewiedsen sind...

    1. Warum is deiner Meinung nach Perl besser als PHP? Is doch egal. Jeder wie er kann und mag. Man sollte beides mal ausprobiert haben. Ich persönlich find PHP um einiges leichter als Perl. Schon weil php-Dateien nicht auf ein cgi-bin-Verzeichniss angewiedsen sind...

      Das stimmt nicht.
      Das richtet sich ausschließlich daran, wie dein Server eingerichtet ist.

      Struppi.

  2. hallo,

    ... Da stellt sich mir die Frage, wo die Vorzüge von PHP gegenüber Perl liegen, da beide soweit mir bekannt ist serverseitige Programmiersprachen sind. Ich habe mitbekommen, dass PHP in Verbindung mit MySQL gute Möglichkeiten der Datenbankeinbindung bietet. Allerdings erschließt sich mir nicht so ganz, warum man ein Gästebuch oder einen Formmailer besser in PHP als in Perl schreiben sollte, oder ist das einfach nur Geschmackssache?

    Diese Frage wird mit schöner Regelmäßigkeit gestellt, es gibt dazu jede Menge Aussagen im Archiv. Grob zusammengefaßt: PERL ist älter als PHP und hat, wenn man es für CGI-Scripts einsetzt, als einziges Manko, daß man ein spezielles Verzeichnis (cgi-bin) benötigt. PHP-Scripts können dagegen an beliebiger Stelle abgelegt werden.
    Wer heute neu einsteigt, stößt eher auf Scriptangebote für PHP als auf Angebote für PERL. PHP ist im Web etwas besser dokumentiert (siehe PHP-Handbuch), in der Funktionalität gibt es zwischen beiden Sprachen eigentlich keine Unterschiede (mehr). Manche behaupten, PHP ließe sich etwas leichter lernen  -  was spätestens bei der "hohen Schule" der RegExpressions nicht mehr stimmen dürfte.

    Wofür man sich entscheidet, ist Geschmacks- bzw. Gewohnheitssache. Man sollte die Technologie wählen, zu der man leichter Zugang findet.

    Grüße aus Berlin

    Christoph S.

    1. Hi!

      Grob zusammengefaßt: PERL ist älter als PHP und hat, wenn man es für CGI-Scripts einsetzt, als einziges Manko, daß man ein spezielles Verzeichnis (cgi-bin) benötigt. PHP-Scripts können dagegen an beliebiger Stelle abgelegt werden.

      Das stimmt nicht. Man braucht kein spezielles Verzeichnis fuer CGI-Scripte. Es ist jedoch aus Sicherheitsgruenden sinnvoll, eines zu benutzen.

      So long

      --
      I am certain that some of our rhetoric must seem familiar to those who remember how World War Two started.
          -- Dennis T. Brown (NC State University Raleigh) in einem Leserbrief an den Spiegel
      1. hallo Calo,

        Man braucht kein spezielles Verzeichnis fuer CGI-Scripte. Es ist jedoch aus Sicherheitsgruenden sinnvoll, eines zu benutzen.

        Kannst du aber auch nen Prinzipienreiter sein ;-)

        Richtig, ein Verzeichnis mit dem Namen "cgi-bin" ist nicht zwingend nötig, in der überwältigenden Mehrzahl der Server aber wohl so vorgesehen  -  eine Art Gewohnheitsrecht. Ob CGI-Scripte ausführbar sind, ist von der Serverkonfiguration abhängig, und die kann durchaus so ausfallen, daß "CGI-Fähigkeiten" anders verteilt werden. Mein lokaler Apache hat das "ExecCGI" auch nicht auf cgi-bin beschränkt ...

        Grüße aus Berlin

        Christoph S.

        1. Re!

          Man braucht kein spezielles Verzeichnis fuer CGI-Scripte. Es ist jedoch aus Sicherheitsgruenden sinnvoll, eines zu benutzen.
          Kannst du aber auch nen Prinzipienreiter sein ;-)

          Also ich finde eigentlich nicht, dass das ein unbedeutendes Detail ist, vor allem nicht, wenn es in dem Kontext, was PHP und Perl koennen, kommt.

          Richtig, ein Verzeichnis mit dem Namen "cgi-bin" ist nicht zwingend nötig, in der überwältigenden Mehrzahl der Server aber wohl so vorgesehen  -  eine Art Gewohnheitsrecht.

          Wie gesagt, das traditionelle cgi-bin ist ein Security feature (hilft jedoch nur gegen versehentliche Fehlkonfigurationen wie vergessene x-Rechte).

          So long

          --
          I am certain that some of our rhetoric must seem familiar to those who remember how World War Two started.
              -- Dennis T. Brown (NC State University Raleigh) in einem Leserbrief an den Spiegel
  3. hi!

    Allerdings erschließt sich mir nicht so ganz, warum man ein
    Gästebuch oder einen Formmailer besser in PHP als in Perl schreiben
    sollte, oder ist das einfach nur Geschmackssache?

    Das ist Geschmackssache. Perl und PHP sind im Webumfeld etwa gleich
    mächtig. Und eine Datenbank-Anbindung ist in Perl nicht schwieriger
    als in PHP.

    bye, Frank!

    --
    Never argue with an idiot. He will lower you to his level and then
    beat you with experience.
    1. Hallo Frank,

      Und eine Datenbank-Anbindung ist in Perl nicht schwieriger
      als in PHP.

      Ich würde da noch weiter gehen: Erst mit PEAR::DB steht unter PHP eine ähnliche Möglichkeit wie DBI unter Perl zur Verfügung. (die haben sich da einiges abgekuckt)

      Viele Grüße,
      Christian

      --
      Hast Du einen Beitrag? Nur her damit!
      http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
  4. Hallo,

    alles vieles ist sicher Geschmackssache, ich habe mich mit Perl nie so richtig anfreunden können, obwohl ich einiges mit gemacht habe. Was nach meiner Ansicht für PHP spricht, ist die bessere Umsetzung objektorientierter Features. Aber auch das kann Ansichtssache sein, PHP folgt bei Klassen mehr der Syntax von Java und Perl eher C++.

    Gruss

    Marko

    1. Hi

      Was nach meiner Ansicht für PHP spricht, ist die bessere Umsetzung objektorientierter Features.

      Wie bitte? Was sich in PHP objektorientiert schimpft ist nichts als grausam und nicht in Ansätzen mit Java vergleichbar. Das soll ja hoffentlich in PHP 5 besser werden...

      Fabian

      1. Halihallo Fabian

        Was nach meiner Ansicht für PHP spricht, ist die bessere Umsetzung objektorientierter Features.
        Wie bitte? Was sich in PHP objektorientiert schimpft ist nichts als grausam und nicht in Ansätzen mit Java vergleichbar. Das soll ja hoffentlich in PHP 5 besser werden...

        Stimm. Weder Perl noch PHP können sich mit Java "messen". Was Marko wohl meinte war:
        PHP hat eine Syntax für OOP, Perl _nicht_. In Perl sind Methoden Funktionen/Prozeduren,
        Klassen sind Packages und Instanzen von Klassen "nur" geblesste Referenzen welche durch
        einen _Befehl_ geblessed werden, nicht aber wie bei PHP über eine Syntax wie
        class name {...}.

        Viele Grüsse

        Philipp

        1. Hi

          Stimm. Weder Perl noch PHP können sich mit Java "messen".

          Was auch daran liegt, dass sie komplett verschiedene Aufgabenbereiche haben. Hätte er nun JSP gemeint, okay ;-)

          Was Marko wohl meinte war:
          PHP hat eine Syntax für OOP, Perl _nicht_. In Perl sind Methoden Funktionen/Prozeduren,
          Klassen sind Packages und Instanzen von Klassen "nur" geblesste Referenzen welche durch
          einen _Befehl_ geblessed werden, nicht aber wie bei PHP über eine Syntax wie
          class name {...}.

          Stimmt. Aber das ändert nichts daran, dass man das IMHO nicht objekt-orientiert nennen darf.

          Fabian

          1. Hallo,

            Stimm. Weder Perl noch PHP können sich mit Java "messen".

            wollte ich auch nie behaupten, aber ich habe oft den Eindruck, dass bei kleineren Projekten, an denen 1-3 Leute arbeiten PHP die bessere Wahl ist.

            Was auch daran liegt, dass sie komplett verschiedene Aufgabenbereiche haben.

            Klar ich würde auch nie versuchen in PHP was anderes als eine kleinere Webapplication zu programmieren.

            Was Marko wohl meinte war:
            PHP hat eine Syntax für OOP, Perl _nicht_.

            Ja so ungefähr, hab mir das in Perl mal angeschaut wie man Klassen macht, hat mich persönlich aber nicht überzeugt, vielleicht war ich auch nur zu blöd um die Genialität zu erfassen :-)

            Stimmt. Aber das ändert nichts daran, dass man das IMHO nicht objekt-orientiert nennen darf.

            Hm, PHP ist vielleicht nicht direkt eine rein objektorientierte Sprache, aber es ist sehr wohl möglich strukturiert und Objektorientiert mit zu arbeiten. Klar fehlt im Vergleich mit Java oder C++ einiges an Konzepten, aber eine Basis ist vorhanden. Ich programmiere seit Jahren in PHP nur objektorientiert (von Ausgabe in HTML mal abgesehen, aber komplette Kapselung der Logik in Klassen) und es geht besser als man zuerst denkt.
            Objektorientierung ist auch in erster Linie ein Entwurfs und Denkansatz, eine Programmiersprache kann darin unterstützen, aber man kann auch in "nicht objektorientierten" Sprachen objektorientiert programmieren, und in "objektorientierten" Sprachen nicht objektorientiert :-)

            Gruss

            Marko

            1. Hi!

              Hm, PHP ist vielleicht nicht direkt eine rein objektorientierte Sprache, aber es ist sehr wohl möglich strukturiert und Objektorientiert mit zu arbeiten. Klar fehlt im Vergleich mit Java oder C++ einiges an Konzepten, aber eine Basis ist vorhanden.

              Java und C++ fehlen dem Vernehmen nach schon wichtige Konzepte aus der OOP, und sie gehen bei den Puristen keinesfalls als OO-Sprachen durch. Wenn PHP jetzt noch mehr davon fehlt, ist dann die Aussage, dass man damit oo programieren kann, noch gerechtfertigt? (Ich weiss es nicht, ich kenne PHP nicht weiter.)

              Objektorientierung ist auch in erster Linie ein Entwurfs und Denkansatz, eine Programmiersprache kann darin unterstützen, aber man kann auch in "nicht objektorientierten" Sprachen objektorientiert programmieren, und in "objektorientierten" Sprachen nicht objektorientiert :-)

              Begrenzt. Manche Dinge lassen sich einfach nicht umsetzen. Zum Beispiel wirst Du es schwer haben, Vererbung inclusive spaeter Bindung[1] in C zu realisieren. Zwar soll Netscape in ihrem Browser (zumindest in dem alten 4er) mit ziemlich fiesen Praeprozessortricks etwas in der Art hingekriegt haben, aber man kann dann nicht mehr sagen, dass OO nur ein Denkansatz ist.

              [1] Geht das eigentlich mit PHP? In Perl ja, wenn auch genauso liederlich, wie der Rest des nachtraeglich aufgepflanzten Objekte-Mechanismus.

              So long

              --
              I am certain that some of our rhetoric must seem familiar to those who remember how World War Two started.
                  -- Dennis T. Brown (NC State University Raleigh) in einem Leserbrief an den Spiegel
              1. Hallo Calocybe,

                [1] Geht das eigentlich mit PHP?

                Ja, mehr oder weniger: http://de3.php.net/manual/de/keyword.extends.php

                Viele Grüße,
                Christian

                --
                Hast Du einen Beitrag? Nur her damit!
                http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
                SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
                sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
              2. Hallo,

                Java und C++ fehlen dem Vernehmen nach schon wichtige Konzepte aus der OOP, und sie gehen bei den Puristen keinesfalls als OO-Sprachen durch. Wenn PHP jetzt noch mehr davon fehlt, ist dann die Aussage, dass man damit oo programieren kann, noch gerechtfertigt? (Ich weiss es nicht, ich kenne PHP nicht weiter.)

                also ich kenne Java als objektorientierte Sprache, was das im theoretischen alles ganz genau bedeutet, und was fehlt, na da fehlt mir vielleicht das Universitätsstudium. Aber objektorientierung als Gegensatz zu prozeduraler Programmierung wie ich es verstehe, geht definitiv mit PHP.

                Begrenzt. Manche Dinge lassen sich einfach nicht umsetzen. Zum Beispiel wirst Du es schwer haben, Vererbung inclusive spaeter Bindung[1] in C zu realisieren. Zwar soll Netscape in ihrem Browser (zumindest in dem alten 4er) mit ziemlich fiesen Praeprozessortricks etwas in der Art hingekriegt haben, aber man kann dann nicht mehr sagen, dass OO nur ein Denkansatz ist.

                Stimmt, ich meinte die Grundidee irgendwie Daten zu haben und zugehörige Funktionen die darauf arbeiten.

                [1] Geht das eigentlich mit PHP? In Perl ja, wenn auch genauso liederlich, wie der Rest des nachtraeglich aufgepflanzten Objekte-Mechanismus.

                Vererbung geht in PHP, Bindung wenn Du das was ich mal in Softwareengineering drüber gelernt hab meinst geht meiner Meinung nach auch (Du hast Klassen die funktional oder informal gebunden zu gestalten bleibt Dir ungenommen). Geheimnisprinzip gibt es logischerweise nicht.

                Gruss

                Marko

          2. Hi!

            Stimmt. Aber das ändert nichts daran, dass man das IMHO nicht objekt-orientiert nennen darf.

            Was? PHP als Sprache - klar, das hat auch niemand behauptet.
            Und die Syntax(http://php.net/oop)? Wie würdest Du das sonst nennen? Nur weil Java das besonders gut besherrscht darf sich keine ander Syntax merh objektorientiert nennen?

            Du solltest Dir mal überlegen was warum objektorientiert "objektorientiert" heißt ;-)

            Grüße
            Andreas

            1. Hi Andreas,

              Stimmt. Aber das ändert nichts daran, dass man das IMHO nicht objekt-orientiert nennen darf.
              Was? PHP als Sprache - klar, das hat auch niemand behauptet.
              Und die Syntax(http://php.net/oop)? Wie würdest Du das sonst nennen? Nur weil Java das besonders gut besherrscht darf sich keine ander Syntax merh objektorientiert nennen?

              Die Syntax ist wennschon, dann infantil OOP-assimiliert - mehr aber auch nicht. Die "=>"-Konstrukte sind schlichtweg widerlich. Aber wie schon Calocybe sagt, hier kann man sich wirklich drüber streiten, vor allem, wenn man Purist ist ;-)

              Fabian