timothy: Perl-Programmierer schlauer? Oder PHP komplizierter?

Hi folks,

nach ca. 1 1/2 Jahren Abstinenz vom Forum bin ich nun seit einiger Zeit wieder zurück. Und was mir nun so auffällt: Es sind, im Gegesatz zu PHP, sehr wenig Anfragen bezüglich Perl vertreten. Und da frage ich mich:

Woran kann das wohl liegen?

  • sind Perl-Programmierer schlauer oder auch nur "gewitzter", eifrieger im Ausschöpfen anderer Info-Quellen?
  • ist Perl einfacher als PHP?
  • gibt es so wenig Perl-Programmierer?
  • sind die Dokus zu Perl besser?

Oder woran kann es noch liegen?

Was ist Eure Meinung?

;-)

Ein schönes Wochenende
und

Bye
Timothy

  1. Hi,

    Oder woran kann es noch liegen?
    Was ist Eure Meinung?

    PHP hat sich als "die" Anfänger-Sprache im Webeinsatz etabliert; zumal dies genau der Bereich ist, für den sie optimiert wurde. Anfänger werden durch die Verbreitung der Sprache so früh damit konfrontiert, dass sie oftmals sogar glauben, es sei die einzig existente serverseitige Technik ("Dazu brauchst Du PHP, anders geht es nicht."), genauso wie viele glauben, Mails verschicke "man" mit Outlook (und sie meinen Outlook Express), oder es gäbe nur zwei Browser (nämlich den IE und Netscape (gemeint ist Version 4)), oder maximal drei (wahlweise Opera oder Mozilla, genauer Netscape 6/7 kommt hinzu).

    Dadurch ist die Menge der PHP-Entwickler, die Fragen nicht selbst klären können, immens hoch.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Moin!

      PHP hat sich als "die" Anfänger-Sprache im Webeinsatz etabliert; zumal dies genau der Bereich ist, für den sie optimiert wurde. Anfänger werden durch die Verbreitung der Sprache so früh damit konfrontiert, dass sie oftmals sogar glauben, es sei die einzig existente serverseitige Technik ("Dazu brauchst Du PHP, anders geht es nicht."),

      Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere, oder anders: Wenn man eine von beiden lernen will, zu welcher sollte man greifen, wenn man zum Beispiel so Dinge wie Foren, Boards, Gästebücher, Polls und ähnliche Webstandards programmieren möchte?
      Verfechter beider Seiten werden natürlich immer für "ihre" Programmiersprache plädieren und alle werden gute Argumente für ihre Sprache finden, aber welche der beiden Sprachen ist denn nun die sinnvollere? Oder sollte man zu etwas ganz anderem greifen, wie zum Beispiel C++?

      Gruß,
      Sven

      1. hi Sven

        ich, ohne jegliche kenntniss einer dieser beiden sprachen, aber dem vorsatz diese zu lernen (bücher liegen schon im regal) finde das PHP einsteigerfreundlicher ist.

        diesen eindruck habe ich beim überfliegen meiner gesammelten literatur erhalten...ob dem wirklich so ist kann ich natürlich erst sagen wenn ich beides ausprobiert habe....obwohl, den klassiker "Hallo Welt" hab ich schon ausprobiert und mit PHP hats sogar funktioniert :D...perl wollte nicht so wie ich :(

        naja, soviel zu meiner rein subjectiven einschätzung

        so long
        ole
        (8-)>

        --
        Die Summe aller menschlichen Intelligenz ist eine Konstante.
        Das Problem ist das Bevölkerungswachtum...
        1. Moin!

          ich, ohne jegliche kenntniss einer dieser beiden sprachen, aber dem vorsatz diese zu lernen (bücher liegen schon im regal) finde das PHP einsteigerfreundlicher ist.

          Hm, mir ging das frueher genau andersrum - also Geschmackssache ;)

          obwohl, den klassiker "Hallo Welt" hab ich schon ausprobiert und mit PHP hats sogar funktioniert :D...perl wollte nicht so wie ich :(

          Was ist an:

          print 'Hallo Welt';

          so schwer? Gut, wenn es dann um eine HTTP-Umgebung geht, fehlen noch header usw, aber wozu gibst ssi und/oder CGI?

          Viele Gruesse,

          Einbecker

          --
          ... auch wenn ich eigentlich ja Dresdener bin...
          1. hi

            Hm, mir ging das frueher genau andersrum - also Geschmackssache ;)

            denke ich auch :)

            Was ist an:

            print 'Hallo Welt';

            so schwer? Gut, wenn es dann um eine HTTP-Umgebung geht, fehlen noch header usw, aber wozu gibst ssi und/oder CGI?

            eigentlich nichts, allerdings war ich anscheinend zu dämlich perl korrekt zu installieren :)

            so long
            ole
            (8-)>

            --
            Die Summe aller menschlichen Intelligenz ist eine Konstante.
            Das Problem ist das Bevölkerungswachtum...
      2. Moin!

        Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere, oder anders: Wenn man eine von beiden lernen will, zu welcher sollte man greifen, wenn man zum Beispiel so Dinge wie Foren, Boards, Gästebücher, Polls und ähnliche Webstandards programmieren möchte?

        Perl.

        Verfechter beider Seiten werden natürlich immer für "ihre" Programmiersprache plädieren

        Mist, ueberfuehrt... ;-)

        und alle werden gute Argumente für ihre Sprache finden, aber welche der beiden Sprachen ist denn nun die sinnvollere? Oder sollte man zu etwas ganz anderem greifen, wie zum Beispiel C++?

        Also gut, die Antwort ist ein klares: Kommt drauf an. Imho bietet sich fuer die Masse der Web-Entwickler (all diejenigen, die keinen eigenen Server zur verfuegung haben) nur Perl oder PHP an, da die meisten Provider nur diese Sprachen anbieten.

        Nun geht es weiter... Kann der Entwickler nur eine der beiden Sprachen? Zumindest fuer Webanwendungen halte ich es dann fuer sinnlos, die andere Sprache zu lernen, da beide recht gut dafuer geeignet sind (Und gerade PHP eigentlich ja nur fuer die Webentwicklung da ist (wenn wir jetzt mal php-gtk usw. aussen vor lassen...). Dann ist die Frage, ob man vielleicht bestimmte Module, die nur in einer Sprache schon implementiert wurden, benutzen kann - dann ist diese Sprache sicherlich von Vorteil. Performancemaessig ist es bei den 08/15-Anwendungen eh egal, welche der Sprachen man nimmt, da diese meistens nicht performancekritisch sind. Anders sieht es z.B. bei diesem Forum aus: Da die Performance auf Perl/XML-Basis relativ schwach war, ist  es jetzt ein Server auf C-Basis mit gewissen Perl-Bestandteilen (und weiterhin XML-Datenspeicherung, iirc).

        Das sind aber nur ein paar Dinge, die eine Rolle spielen - Je komplexer die Anwendungen werden, desto mehr Moeglichkeiten sollte man ausloten - im Komerziellen Umfeld werden auch gerne Application Server (ich selbst hab mal mit einem Jaguar von Sybase rumspielen duerfen) eingesetzt, die haeufig Java usw. benutzen - Es haengt also ganz von den Entwicklern, der bisherigen IT-Umgebung, dem Unfang und der Art der Anwendung ab, in welcher Form (und in welcher Sprache) man sie umsetzt.

        Viele Gruesse,

        Einbecker

        --
        ... auch wenn ich eigentlich ja Dresdener bin...
        1. Hallo Einbecker,

          Also gut, die Antwort ist ein klares: Kommt drauf an. Imho bietet sich fuer die Masse der Web-Entwickler (all diejenigen, die keinen eigenen Server zur verfuegung haben) nur Perl oder PHP an, da die meisten Provider nur diese Sprachen anbieten.

          Mittlerweile gibt es allerdings mehr Provider, die nur noch PHP anbieten, als solche, die nur Perl anbieten. Sie folgen damit dem Trend, dass PHP in den letzten zwei Jahren regelrecht explodiert ist, was die Verbreitung fuer serverseitige Web-Anwendungen betrifft, waehrend Perl in diesem Bereich weitgehend stagniert.

          Ich sehe die Gruende fuer diese Entwicklung aber nicht nur in der Syntax der beiden Sprachen, sondern auch, wie sich die jeweilige "Geber-Gemeinde" gegenueber Neulingen verhaelt. Und da muss man ehrlicherweise sagen, dass die ganze Perl-Community ein ziemlich eingebildeter Haufen ist, der auf Fragen aller Art nur mit einem nackten "perldoc" antworten kann, und fuer den jede Art von Entgegenkommen gegenueber Neuprogrammierern, das ueber nacktes POD hinaus geht, ueberfluessiger Schnickschnack ist. Das haben die Macher von php.net von Beginn an irgendwie moderner und user-freundlicher angefangen. Man hat sich der Sorgen und Wuenschen der Web-Programmierer angenommen, die Sprache entsprechend optimiert, fleissig dokumentiert und Anwendern abseits des Unix-foobar-Slangs geholfen. Das scheint mir der Hauptgrund fuer den Erfolg von PHP zu sein. Kann natuerlich sein, dass die Perl-Community so einen Erfolg gar nicht will, weil sie es nicht noetig hat - Perl wird ja schliesslich noch in anderen Bereichen als der Web-Programmierung erfolgreich eingesetzt. Aber wer nicht nur die kleine Schar der eingefleischten Programmierakrobaten erreichen will, sondern auch das Heer der Gelegenheitsprogrammierer, die mal eben was fuer die Homepage, das Intranet, einen Web-Shop oder ihre Firmenseiten brauchen, muss eben auch dafuer sorgen, dass er bei solchen Leuten "ankommt".

          viele Gruesse
            Stefan Muenz

      3. Hi,

        Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere,

        keine. Je nach Einsatz ist selbst Gofer PHP oder Perl vorzuziehen. Und glaub mir: Wenn Du Gofer nicht kennst, hast Du nicht wirklich etwas verpasst.

        oder anders: Wenn man eine von beiden lernen will, zu welcher sollte man greifen,

        Man soll erst mal Programmierung lernen. Wenn man das kann, ist die Wahl der Sprache unwesentlich.

        Verfechter beider Seiten werden natürlich immer für "ihre" Programmiersprache plädieren

        Nein. Ich bin ein Verfechter von "nimm kein PHP, solange Du nicht in Algorithmen träumst", liebe Perl und weiß, dass es vollkommen falsch ist, _irgend_eine Sprache als "besser" zu bezeichnen.

        aber welche der beiden Sprachen ist denn nun die sinnvollere?

        Egal, auf welche Sprachen Du diese Frage beziehst: Sie ergibt keinen Sinn. Nie. Du benötigst eine sehr detaillierte Beschreibung über das _akute_ Umfeld (inkl. dem einzelnen Einsatzziel), um sie beantworten zu können.

        Cheatah

        --
        X-Will-Answer-Email: No
      4. Moin!

        Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere,

        Das ist unmöglich zu beantworten, solange die Anforderungen nicht bekannt sind.

        Ich würde so sagen: Perl ist eine ziemlich universelle Sprache, welche sich unter anderem (aber eben nicht nur) eignet, Webseiten dynamisch zu machen. Mit Perl (Praktical Extraktion and Reporting Language) kann man primär ganz prima Listen auswerten - voll im Sinne des Namens. Wenn ich also irgendwelche Logfiles auswerten will, oder sonst irgendwelche Listen, dann nehme ich Perl.

        PHP hingegen ist ursprünglich als reine Webseitensprache entwickelt worden (PHP - Personal Home Page). Entsprechend findet man im Funktionsvorrat eine reichhaltige Auswahl an Funktionen, die hauptsächlich im Zusammenhang mit der Verwendung auf Webseiten Sinn machen. Außerdem standardmäßig die Einbindung von PHP-Seiten überall im URL-Baum möglich, während Perl standardmäßig nur im CGI-BIN läuft.

        Mit der Zeit haben sich beide Sprachen zielgruppenmäßig aufeinander zubewegt. PHP gibts mittlerweile (V 4.3.0) auch als Kommandozeilenversion - damit sind Anwendungen möglich, wie Perl sie klassischerweise außerhalb des Webs ausführt, und Perl hat durch zahlreiche Module etc. gelernt, sich wie PHP in HTML einzubetten und im Prinzip überall im URL-Baum zu laufen.

        Es macht dennoch Sinn, Perl zumindest mal angelernt zu haben: Die regulären Ausdrücke, die Perls wirkliche Stärke sind, sollte man kennen und können. Damit kann man sich viel Arbeit sparen, wenn es um das Erkennen von irgendwelchen Mustern in Dateien geht - das kann man auch in PHP später gut gebrauchen. Die Art von Perl, die regulären Ausdrücke einzubinden, ist ziemlich einzigartig. Dieses Konzept zu verstehen, ist etwas aufwendiger, aber lohnt sich durchaus.

        oder anders: Wenn man eine von beiden lernen will, zu welcher sollte man greifen, wenn man zum Beispiel so Dinge wie Foren, Boards, Gästebücher, Polls und ähnliche Webstandards programmieren möchte?

        Beide Sprachen können alles programmieren, was du willst. Sie sind, wie der Fachmann sagt, "Turing-komplett".

        Verfechter beider Seiten werden natürlich immer für "ihre" Programmiersprache plädieren und alle werden gute Argumente für ihre Sprache finden, aber welche der beiden Sprachen ist denn nun die sinnvollere? Oder sollte man zu etwas ganz anderem greifen, wie zum Beispiel C++?

        Wenn die Performance von Perl oder PHP nicht mehr ausreicht, gibt es als erste Stufe die Möglichkeit, mit performancesteigernden Modulen (mod_perl, PHPA) die Ausführungsgeschwindigkeit zu steigern, indem das ständige Neuinterpretieren der Skripte wegfällt und einmal kompilierter Code gespeichert und ausgeführt wird.

        Wenn das nicht ausreicht (so wie in diesem Forum, welches bis vor ein paar Monaten mit reinem Perl lief), dann empfiehlt es sich, in C zu programmieren (zumindest die performancekritischen Bereiche - im Falle des Forums wurde z.B. ein Deamon programmiert, der alle aktiven Postings der Hauptseite im RAM bereithält).

        - Sven Rautenberg

        --
        "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
        1. Hallo Sven Hallo Forum!

          (PHP - Personal Home Page)

          Ohne den Rest deiner Ausführungen anzweifeln zu wollen - darf ich anmerken, dass PHP _heute_ ein rekursives Akronym darstellt und
              PHP
              Hypertext
              Preprocessor
          meint?

          Grüsse  Sven Schrodt

          --
          der Sven aus Moers am linken Niederrhein
          1. Moin!

            Ohne den Rest deiner Ausführungen anzweifeln zu wollen - darf ich anmerken, dass PHP _heute_ ein rekursives Akronym darstellt und
                PHP
                Hypertext
                Preprocessor
            meint?

            Darfst du. Mach ruhig. :)

            - Sven Rautenberg

            --
            "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
      5. Hi

        Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere, oder anders: Wenn man eine von beiden lernen will, zu welcher sollte man greifen, wenn man zum Beispiel so Dinge wie Foren, Boards, Gästebücher, Polls und ähnliche Webstandards programmieren möchte?

        Wenn Du Dich nicht mit beidem beschäftigen willst/kannst:
        Vielleicht kann ein Entscheidungskriterium sein,
        dass aus den schon genannten Gründen zunehmend mehr _normale bis mittelgrosse_ Sites mit PHP gemacht zu sein scheinen.
        D.h., sollte man später mal eine Site übernehmen und weiterführen, steigt die Chance, auf PHP zu treffen.

        :o( So wie: Alle haben Windooof, also kauf ich mir auch so'n Ding, weil ...)

        Aber wie Sven Rautenberg schon sagt: Es macht Sinn, Perl zumindest mal angelernt zu haben.

        Gruss, Julius

      6. Hi Sven,

        Wobei ich jetzt mal die Frage in den Raum stelle: Welche von beiden Sprachen ist denn nun die bessere

        um was damit zu erreichen?

        Wenn man eine von beiden lernen will, zu welcher sollte man greifen, wenn man zum Beispiel so Dinge wie Foren, Boards, Gästebücher, Polls und ähnliche Webstandards programmieren möchte?

        Besitzt Du eine Zeitmaschine?
        Wie sicher bist Du, daß Du _nie_ etwas anderes entwickeln willst als "Web-Applikationen"?

        Ich beschäftige mich beruflich inzwischen ausschließlich damit, eine Webapplikation zu betreuen und weiter zu entwickeln, aber etwa 70% meiner Programme läuft _nicht_ über den HTTP-Server, sondern sind Infrastruktur-Tools, kleine Dateiformat-Konverter, Datenbank-Import-Tools, Syntax-Checker für Konfigurationsdateien, Generatoren für Konfigurationsdateien (von Fremdprodukten, die keine Include-Anweisung unterstützen usw.), Accounting-Auswerter, ... was halt alles so anfällt, wenn man ein komplettes Betriebskonzept softwaremäßig umzusetzen hat.
        Ich habe beispielsweise ein Programm geschrieben, das aus einer Berechtigungsstruktur unserer Datenbank eine Webalizer-Konfigurationsdatei generiert, damit der Webalizer dann bei der Auswertung der Apache-Logs die Seitenabfragen automatisch nach Kunden gruppieren kann (deren Identität via HTTP Authentication bereits erfaßt wurde, bloß die Zuordnungs zwischen Benutzerkennungen, Virtual Hosts - userids sind nur innerhalb dieser unique - und Kundennamen fehlte).
        Ein nennenswerter Teil der real existierenden Probleme wird sinnvollerweise gar nicht damit gelöst, daß man ein Programm schreibt, das wirklich "das Problem" angeht, sondern daß man für ein "fast passendes" fertiges Programm eine Anpassung baut. Das kann um Größenordnungen effizienter sein, als das Rad neu zu erfinden.

        Ich brauche eine vollwertige Programmiersprache, die mich nicht dazu nötigt, "in CGI zu denken". Sie muß als CGI-Applikationssprache halbwegs komfortabel verwendbar sein - mehr nicht. Und das ist eher eine Frage der vorhandenen Module bzw. Bibliotheken als der konkreten Sprache. Auf assoziative Arrays würde ich heute nicht mehr verzichten wollen ... das können aber wohl beide Kandidaten.

        Und neben dieser Sprache sind sowohl SQL als auch die Betriebssystem-Kommandosprache (in meinem Fall UNIX-shell, crontab usw.) unverzichtbares Wissen für einen Web-Programmierer, denke ich (wobei Perl an dieser Stelle inzwischen auch bei mir einen Teil der Aufgaben übernommen hat - aber ein Betriebssystem habe ich auf jeder Maschine, einen Perl-Interpreter vielleicht nicht).

        Mit einer Sprache alleine kann man nicht alle Probleme effizient lösen - dazu sind die verschiedenen Ansätze der Sprachen (algorithmisch vs. deskriptiv) zu unterschiedlich und für die jeweiligen Einsatzfälle zu gut optimiert. (Ich würde weder in Perl noch in PHP eine SQL-Query emulieren wollen, und auch crontab nachzuprogrammieren fände ich eher öde.)

        welche der beiden Sprachen ist denn nun die sinnvollere?

        In meinen Augen diejenige, die mehr Deiner realen Einsatzzwecke unterstützt.

        Eine Sprache, die etwas zuviel kann, lerne ich halt nur teilweise - eine Sprache, die etwas zu wenig kann (beispielsweise keine regular expressions), ist möglicherweise in einem konkreten Einsatzfall völlig wertlos oder zumindest unverhältnismäßig teuer.

        Und ich will nur _eine_ algorithmische Sprache verwenden, weil ich sie ohne ständiges Blättern im Handbuch flüssig einsetzen möchte ... es droht allerdings, daß ich 2004 wieder so eine Sprache werde lernen müssen. Naja - es gibt schlimmeres. ;-)

        Oder sollte man zu etwas ganz anderem greifen, wie zum Beispiel C++?

        Das ist auch eine algorithmische Sprache. Wobei der Unterschied zwischen Compiler- und Interpretersprache reine Geschmackssache ist ... genau wie die unterschiedliche Toleranz der jeweiligen Übersetzer.

        Ich kenne meinen eigenen Programmierstil: Ich mag Compiler, die mich "gängeln", dafür aber auch alle meine Schlampigkeitsfehler finden. (Ergo: Ich hasse C und liebe PASCAL.)

        Wenn Du HTML-Dokumente schreibst, ohne Dir über Deinen "Programmierstil" Gedanken zu machen, dann suche Dir eine Sprache, die Du "cool" findest. Wenn Du HTML-Dokumente validierst, dann suche Dir einen Übersetzer, den Du als Gefährten auf einen Abenteuer-Urlaub mitnehmen würdest - wo Ihr Euch aufeinander verlassen müßt.

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.