Alexander (HH): Perl vs. PHP - konkretes Beispiel eines größeren Vorteils?

Beitrag lesen

Moin Moin!

wie ich euch so verstehe, scheint eher der Einsatz von PHP "ein Griff ins Klo" zu sein, ganz anders als in SELFHTML dargestellt?

Tja, mein Onkel hat seinen Lebensunterhalt unter anderem dadurch verdient, dass er ein paar Jahrzehnte lang in fremder Leute Klos gegriffen hat. Ich brauch das nicht.

Warum gibt es keine Analyse in der Form, die du gerade präsentiert hast?
So bleibt die Neutralität gewährleistet und man kan anhand objektiver Kriterien entscheiden.

Jetzt gibt es sie. Die beiden verlinkten Seiten gibt's aber schon etwas länger, und dort gibt es auch nochmal ganz ansehnliche Linksammlungen.

Ich gebe zu, dass ich zwei Standard-Aussagen von mir zu PHP schlicht und ergreifend vergessen habe, die ich meinen Kunden und Chefs immer wieder an den Kopf werfe:

1. "Pubertierende Hauptschüler Programmieren"
2. "Es gibt zwei Arten, PHP zu betreiben: Unsicher und abgeschaltet."

Nummer 1 ist ein Doppel-Vorurteil, das ich in aller Regel etwas länger begründe. Kurz gesagt ist die Code-Qualität bei PHP oft unter aller Sau, weil PHP es so leicht macht, auf den ersten Blick brauchbare Ergebnisse zu produzieren. Bei genauerer Betrachtung stellt man dann aber fest, das sehr viel fehlt: Sicherheitsprüfungen, edge cases, locking, escaping, usw. PHP ist ein hervorragendes Rapid Prototyping Tool für Web-Anwendungen, eben weil man schnell eine Demo zusammenhacken kann. Aber für den Produktiveinsatz ist eine solche Demo in aller Regel ungeeignet, und PHP steht dem Entwickler dann sehr im Weg, wenn er aus der Demo eine Produktivversion bauen soll.

Nummer 2 ist eine grobe Vereinfachung. Natürlich kann man PHP sicher betreiben, aber der notwendige Aufwand und das notwendige Wissen überschreitet die Fähigkeiten des typischen PHP-Coders bei weitem. PHP selbst macht es einem sicherheitsbewußten Entwickler oder Administrator nicht leichter. Ich möchte nicht dafür garantieren müssen, dass ein PHP-Server so sicher konfiguriert ist, dass niemand eindringen kann. Für meine Perl-basierten Anwendungen lege ich die Hand ins Feuer. Spätestens die routinemäßigen Angriffe auf gar nicht vorhandene PHP-Anwendungen (typischerweise phpMyAdmin und phpBB) in den Server-Logs bestätigen meine Einstellung zu PHP immer wieder.

Natürlich bedeutet der Einsatz von Perl nicht automatisch Sicherheit. Die Behauptung, dass allein die Wahl der Programmiersprache eine Anwendung automatisch 100% sicher macht, überlasse ich lieber den Java-Propagandisten.

Wer keine Ahnung hat, kann mit Perl mindestens genauso viel Schaden anrichten wie mit PHP. *hust* Matt Wright *räusper* Der Punkt ist schlicht und ergreifend, dass Perl mir Werkzeuge gibt, Standard-Fehler zu vermeiden: warnings, strict, Taint Mode, und einen großen Satz gut geprüfter Standard-Libraries. Es versucht allerdings nicht, Standard-Fehler ungefragt durch Automatiken zu reparieren (Magic Quotes).

Die Tatsache, dass Perl nicht bei jedem Hosting-Paket verfügbar ist, und nicht komplett ohne Nachdenken aktiviert werden kann, sortiert schonmal die komplett Ahnungslosen aus. Kleine Gemeinheiten einiger Hoster (Perl ist in /opt/local/perl5/bin/perl statt in /usr/bin/perl) verstärken das noch. Effekt: "Mit PHP ist das alles viel leichter und einfacher". Das sorgt dafür, dass es weniger Ahnungslose auf der Perl-Seite gibt und mehr auf der PHP-Seite. Oft setzen die Hoster alte bis antike Perl-Versionen ein, so dass nicht jedes irgendwo zusammenkopierte Perl-Script sofort läuft. Das schiebt noch mehr Leute zu PHP. Shell-Zugriff gibt es oft gar nicht, an das Error-Log kommt man nur sehr umständlich oder gar nicht heran, und wenigstens 1&1 macht mit Perl *SEHR* merkwürdige Sachen über mod_rewrite und einen selbstgestrickten Wrapper. Das sind noch mehr Hürden, die noch mehr Laien zu PHP treibt und von Perl fernhält.

Der für Perl-Entwickler sehr positive Effekt ist, dass sich die meisten Black Hats auf die leichten Ziele einschießen. Warum sich an Perl die Zähne ausbeißen, wenn man von Laien draufkopierte und nicht ansatzweise abgesicherte phpMyAdmin- und phpBB-Installationen in Massen übernehmen kann? Das gleiche Spiel wie bei Windows vs. MacOS/Linux und IE vs. FF/Opera.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".