Eine kleine Diskussion über die bekannten P-Sprachen gefällig?
PHP vs. Perl vs. Python
Contra Perl:
Perl ist schmutzig. Man kann damit echt hässliche, unleserliche Konstrukte basteln (die berühmten Einzeiler) usw. Oft wird Perl auch genau dafür hergenommen.
Es gibt Dinge in dieser Sprache die sich jeder sinnvollen Beschreibung widersetzen, wie das Gegenteil zu if. Wieso braucht es unless, wenn ich jede if-Bedingung auch einfach negieren kann?
Auch die Parameterübergabe entzieht sich der Vernunft. Und die ganzen anderen Spezialvariablen machen das Lesen von Perlcode echt zur Qual!
Pro Perl:
Perl IST die Referenz für RegExe. Fast alle anderen (die ich kenne *G*) lassen sich da inspirieren, die PHP-Doku verweist bei RegEx-Funktionen ständig auf Perl.
Perl ist super für kleine Tasks, eben Dinge die in ein paar Zeilen abgearbeitet werden. Im Linuxumfeld ist Perl Pflicht, denn damit baut man seine kleinen Helferlein, wenn die Bash nicht mehr ausreicht. Perl ist super für RegEx-Dinge.
Contra PHP:
Man merkt PHP deutlich seine ungeplante Entstehung an. Funktionsbezeichnungen verdrehen sich (z.B. bei String-Funktionen, mal steht str vorab, mal dahinter) oder die Parameter sind bei verwandten Funktionen plötzlich umgedreht. Auch merkt man (mittlerweile schon nicht mehr so stark), das OO erst nachträglich aufgepropft wurde. Ich finde es auch echt übel, das da mittlerweile GoTo eingeführt wurde, das ist so Anno-Dazumal und ich finde GoTo echt hässlich und unnötig. Wer in einer Sprache die Funktionen und OO anbietet ein GoTo verwenden muss, ist IMHO kein Programmierer oder will absichtlich den Code unleserlich und unwartbar machen.
Pro PHP:
Es ist überall vorhanden. Es ist relativ leicht erlernbar. Es kann viel, es gibt viele Libs/Frameworks/usw. dafür. Man findet unglaublich viel Material dazu im Internet.
Als "Einstiegsdroge" sicherlich nicht die falsche Wahl. Und mit den richtigen Frameworks, bzw. genug Ahnung auch ein sehr mächtiges Werkzeug!
Contra Python:
Es ist nicht überall verfügbar. Es zwingt einen, einen gewissen Format-Stil zu verwenden. Es ist nicht so einfach einbettbar wir PHP. Es ist komisch was Encodings angeht (UTF-8 vs. Unicode vs. Ascii), ich hatte damit schon die schönsten Probleme.
Pro Python:
Es zwingt einen gewissen Format-Stil auf. Es ist OO pur, alles ist ein Objekt. Man kann daraus relativ leicht C machen (sagt man, kA habs noch nie ausprobiert).
Es ist schnell, dank dem das alle Dateien in eine Art Bytecode umgewandelt werden (absolut dynamisch, ohne das man was dafür machen muss).
Es gibt ebenfalls recht viele Module, die einem Arbeit abnehmen. Und es gibt das geilste Framework das ich kenne: Django