PHP contra Perl
-
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
-
nachtrag:
naja kann auch mehr als einmal passieren -.-"
-
In Perl hab ich noch nie gearbeitet. Aber kann es wirklich schlimmer werden als PHP??
For converted Perl programmers: use strict comparison operators (===, !==) in place of string comparison operators (eq, ne). Don't use the simple equality operators (==, !=), because ($a == a eq $b) would return FALSE.
For instance...
"mary" == "fred" is FALSE, but
"+010" == "10.0" is TRUE (!)*seufz*
Auch hab ich mal nen Fehler gesucht, weil strpos FALSE liefert wenn er was nicht findet und ich wunder mich warum er es nicht findet. Die Auflösung war, dass er es an der Stelle 0 findet, was korrekt ist, aber leider zu einer klitzekleinen Komplikation geführt hat.
if( 0 == "sdkufg" ) // Ergibt true
-
Optimizer schrieb:
if( 0 == "sdkufg" ) // Ergibt true
Das glaube ich dir nicht. Was aber sein kann, und wovon ich ausgehe, dass du es meinst:
0==strpos("asdfghjkl","e");
- Das gibt dann true zurück, weil false auch den wert 0 hat... aber macht man das hier:
0===strpos("asdfghjkl","e");
liefert es false zurück, weil hier wirklich exakt darauf geachtet wird, dass es 0 und nicht false ist. Für mich eine gute Logik, sodass es dem Programmierer vorbehalten bleibt, es so zu sehen, dass 0=false ist (Wie in C/C++) oder eben nicht. Ich weiß nicht, wieso du dich darüber aufregst... mein gott... macht man halt ein gleichheitszeichen mehr rein...