PHP contra Perl
-
linu(x)bie schrieb:
Ja hast schon recht
Doch ich meine die erste implementierung von PHP hate die von dir beschriebenen Dinge ebenfals nicht. Da fragt man sich doch tatsächlich: Wiso kommt jemand auf die Idee sowas NEU zu erfinden, statt die gut geführte scriptsprache wie Perl weiterzuentwickeln. Nun für PHP braucht man auch einen spezielen ordner (CGI) sofern PHP nicht als Modul geladen wurde. Diese Lösung(Modul im Webserver) gibt es bestimmt auch für Perl (und wenn nicht: Dann wirds Zeit
dafür).
Gruss
uhm.... PHP ist im eine Weiterentwicklung von Perl
PHP war urspruenglich in Perl geschrieben, und diente IIRC einfach nur dazu, die Gestaltung einer Website ein klein wenig zu vereinfachen. Spaeter wurde PHP in C neugeschrieben und bekam all die Funktionalitaet, die es jetzt hat... dass es einfach mal als einfacheres Perl fuer Webentwicklung geschrieben wurde, merkt man nur noch zum Teil.
Aber im Grunde ists so: jede Sprache hat ihr Anwendungsgebiet. Das von PHP ist ganz eindeutig die Webentwicklung (obwohl man auch viele andere Dinge damit machen kann). Perl hingegen wird heutzutage meist nur mehr fuer kuerzere Scripts und zur Automatisierung von Verwaltungsaufgaben verwendet. Fuer "groessere" Programme hat sich Perl als unguenstig herausgestellt. Das aendert sich mit dem kommenden Perl 6 vielleicht wieder, aber bis dahin: Perl ist zum Teil arg zusammengestueckelt, die ObjektOrientierung wirkt arg aufgesetzt usw... Und jemand meinte auch mal, Perl ist "read only".... Perl-Code ist nur sehr schwer lesbar (im Vergleich etwa zu "moderneren" Skriptsprachen wie PHP oder Python), deswegen wird immer weniger Perl geschrieben.
-
linu(x)bie schrieb:
die meines erachtens "vielseitiger" ist als PHP
Exakt. PHP will keine eierlegende Wollmilchsau sein wie Perl, sondern eine perfekte Sprache fuers Web.
abgesehen davon, ist PHP wesentlich klarer und leichter wartbar als Perl. und PHP hat nicht Perl als Vorbild sondern C.
Wieso hört man so selten über dieses sehr mächtige Werkzeug?
Weil Perl perfekt fuer kleine Scripte ist. Fuer komplexe Anwendungen ist es ein krampf -> viel zu schwer wartbar.
linu(x)bie schrieb:
Doch ich meine die erste implementierung von PHP hate die von dir beschriebenen Dinge ebenfals nicht.
Da war es auch noch ein kleiner Praeprozessor und hies ganz anders als jetzt.
Nun für PHP braucht man auch einen spezielen ordner (CGI) sofern PHP nicht als Modul geladen wurde.
Aber der Aufwand ist ein Klacks. Ein SAPI integration fuer PHP kann man an einem nachmittag schreiben. Mach das mal fuer Perl
Blue-Tiger schrieb:
uhm.... PHP ist im eine Weiterentwicklung von Perl
Ne. Dazu fehlen zu essentielle Perl Konzepte.
dass es einfach mal als einfacheres Perl fuer Webentwicklung geschrieben wurde, merkt man nur noch zum Teil.
Wo denn zB?
Ihr vergesst ausserdem 2 wesentliche Eigenschaften von PHP
- Erweiterbarkeit
- Sandboxing
das sind essentielle Konzepte und an Erweiterbarkeit ist PHP wohl absolut top.
-
Perl wird noch viel eingesetzt, gerade in den Bereichen wo dienste unter *nix laufen,
es ist sicher kein Fehler sich die Sprache mal anzuschauen.PHP mag ähnlich sein (sind sich nicht alle (Skript)Programmiersprachen ähnlich?),
es ist sehr gut für Webprogrammierung geeignet, und mit template engine
ein wirklich gutes Werkzeug für kleinere Seiten. Ich vermisse in PHP nur
2 dinge:
1. einen Type befehl der eine variable zwingend an einen Typ bindet,
denn in php weisst du nie ob du nun nen string oder ne zahl hast,
es wird immer gecastet, was nicht ideal ist.
2. eine bessere Unterstützung von Klassen, aber die gibts ja in PHP5.Devil
-
Nun für PHP braucht man auch einen spezielen ordner (CGI) sofern PHP nicht als Modul geladen wurde.
Ist doch bei Perl genauso...
Ich denke aber mal, dass PHP und Perl sich nicht sehr viel nehmen von den Möglichkeiten her. Perl kann afaik inzwischen auch oop, PHP schon etwas länger (?)
Wie dem auch sei, ich finde PHP schöner, weil es nicht ganz so kryptisch ist wie Perl. Auf der anderen Seite kann Perl mit wenigen Befehlen viel mächtiger arbeiten.Man sollte Programmiersprachen nicht miteinander vergleichen, da immer ausschlaggebend ist, wie man sie nutzt und wofür. Ich beispielsweise mag Delphi überhaupt nicht, kann aber auch nicht wirklich mit umgehen. Der DevCpp - die IDE die ich zum Programmieren nutze ist allerdings in Delphi geschriebne, was mir zeigt, dass es garnicht so schlimm sein kann..
-
devil81 schrieb:
1. einen Type befehl der eine variable zwingend an einen Typ bindet,
denn in php weisst du nie ob du nun nen string oder ne zahl hast,
es wird immer gecastet, was nicht ideal ist.Nennt sich weak typing und ist ein key concept von PHP
du kannst aber jederzeit eine Variable in einen bestimmten typ casten und auch checken welchen typen sie hat.
für klassen gibt es in php5 type hints, sind aber nichts anderes als ein automatisches if dass nen fehler wirft wenn die typen nicht passen. IMHO ein nutzloses feature.
2. eine bessere Unterstützung von Klassen, aber die gibts ja in PHP5.
PHP war nie, ist nie und wird nie eine ordentliche OO Sprache sein. Ist zwar traurig aber da kann man nix machen. dank php5 hat man aber endlich ein ordentliches Objekt Modell.
btw: PHP ist auch ein gutes Werkzeug für große seiten
-
Hm, ich hatte schon eine Menge Perl-Jobs, aber die wären allesamt mit PHP nicht gut zu erledigen gewesen und hatten auch nicht viel mit Webentwicklung zu tun.
Kleiner Tip meinerseits: Wenn man sich schon die Frage stellt, ob man eine Aufgabe mit PHP oder Perl erledigen soll, dann ist meistens PHP besser.
-
linu(x)bie schrieb:
und stellte mir erstma die Frage wozu einer auf die Idee kommt PHP zu entwickeln, wo`s schon eine sehr ausgereifte scriptsprache gibt
weil PHP für den Einstatz in den Webservern entwickelt wird. Perl wird oft benutzt aber Perl ist nicht dazu gedacht, nur für Webservices benutzt zu werden, sondern Perl ist eine vielseitige Skripsprache, die über Webservices steht.
-
aber perl(bzw cgi)
Stopstopstop.
Pearl is was anderes als CGI.
CGI Steht für COmmonGatewayInterface und erlaubt nur das benutzen von externen programmen über den webserver.
Pearl ist nur eine davon.
PHP kann auch über CGI laufen.
Ich meine man konnte doch auch c++ Sachen über CGI laufen lassen, wenn man den Server richtig configuriert..
Demnach kann man nich sagen PHP>CGIShade Of Mine schrieb:
PHP [...] ist nie und wird nie eine ordentliche OO Sprache sein.
Kannste mir das mal erläutern? Alles OO was ich bisher in PHP gesehen habe (OScommerce als Beispiel) sieht eigentlich nach normalem OO aus..
-
Objektorientierung ist aber auch in PHP5 lahm. Zwar schneller als PHP4, aber immer noch lahm. Schon mal schön mit vielen Wrapperklassen gearbeitet und von Exceptions gebrauch gemacht? Dann weißt Du was ich meine!
Kann eigentlich der Zend Accelerator Wrapper Klassen im Stile eines C++ Compilers auflösen(wegoptimieren)?
-
Shade Of Mine schrieb:
Blue-Tiger schrieb:
uhm.... PHP ist im eine Weiterentwicklung von Perl
Ne. Dazu fehlen zu essentielle Perl Konzepte.
*g* ok, ich meinte auch eher "Spezialisierung", die sich auf die Web-Komponenten von Perl konzentriert
dass es einfach mal als einfacheres Perl fuer Webentwicklung geschrieben wurde, merkt man nur noch zum Teil.
Wo denn zB?
Ich hab den Eindruck manchmal einfach... z. B. (dummes Beispiel) beim $ vor den Variablen, wie sie auch Perl vor den Skalaren hat, vielen Designprinzipien (z. B. das Weak-Typing), aehnliche Funktionen (im Sinne von: heissen gleich, funktionieren gleich, nehmen z. T. gleiche oder sehr aehnliche Parameter)...
-
Blue-Tiger schrieb:
z. B. (dummes Beispiel) beim $ vor den Variablen, wie sie auch Perl vor den Skalaren hat, vielen Designprinzipien (z. B. das Weak-Typing)
Gibts alles schon seit der bourne-Shell.
-
Blue-Tiger schrieb:
Ich hab den Eindruck manchmal einfach... z. B. (dummes Beispiel) beim $ vor den Variablen, wie sie auch Perl vor den Skalaren hat
Und schon einen essentiellen unterschied entdeckt:
PHP hat nur $ - was sehr gängig ist, Perl hat hier viel mehr.vielen Designprinzipien (z. B. das Weak-Typing),
wie fast alle script sprachen
aehnliche Funktionen (im Sinne von: heissen gleich, funktionieren gleich, nehmen z. T. gleiche oder sehr aehnliche Parameter)...
beispiele?
PHP hat Funktionen von überall geerbt, zB die meisten C string funktionen.
natürlich wird PHP auch einiges von Perl geerbt haben, aber die unterschiede zwischen Perl und PHP sind einfach zu gravierend.die syntax ist natürlich ähnlich, aber die ist bei allen C ähnlichen Sprachen so...
-
ok... dann aender ich meine Meinung auf "man erkennt NICHT mehr, dass PHPs Wurzeln bei Perl liegen"
-
Blue-Tiger schrieb:
ok... dann aender ich meine Meinung auf "man erkennt NICHT mehr, dass PHPs Wurzeln bei Perl liegen"
Ändere Deine Meinung lieber auf "PHP hat seine Wurzeln nicht bei PERL".
-
nman schrieb:
Blue-Tiger schrieb:
ok... dann aender ich meine Meinung auf "man erkennt NICHT mehr, dass PHPs Wurzeln bei Perl liegen"
Ändere Deine Meinung lieber auf "PHP hat seine Wurzeln nicht bei PERL".
http://de.wikipedia.org/wiki/PHP unter "Geschichte":
PHP wurde 1995 von Rasmus Lerdorf entwickelt. PHP stand damals noch für Personal Home Page Tools und war ursprünglich eine Sammlung von Perl-Skripten. Bald schrieb er jedoch eine größere Umsetzung in C, worin PHP auch heute noch geschrieben ist. Das schließlich veröffentlichte PHP/FI (FI stand für Form Interpreter) war Perl sehr ähnlich, wenn auch viel eingeschränkter, einfach, und ziemlich inkonsistent.
oder siehe ebenfalls: Das PHP-Handbuch, Anhang A: "Die Geschichte von PHP und verwandten Projekten"
http://it.php.net/manual/de/history.php(ich spar mir das quoten, weil der Wikipedia-Eintrag offensichtlich grossteils ohne Aenderung von dieser Page stammt)
:p
*rechthabenwill*
-
Na und?
Emacs war auch mal eine Sammlung von TECO-Makros, trotzdem behauptet niemand ernsthaft, Emacs stamme von TECO ab.
-
Das würde für mich in erster Linie erstmal heissen, das jemand von Pearl die schnauze voll hatte und was eigenes machen wollte.
Und das die Idee zu PHP aus einer SAMMLUNG von Pearl funktionen is, heisst net, das die Sprache deshalb auch darauf basieren muss.
in Wiefern sie das nun wirklich tut, kann nur der PHP Author selbst sagen
-
Ich korrigiere normalerweise keine Rechtschreibfehler, aber die Sprache heißt PERL, nicht Pearl.
"Practical Extraction & Report Language".
-
o_O schrieb:
Pearl is was anderes als CGI
Und Pearl ist was anderes als Perl.
-
ups...
naja kann ja mal passieren