Alexander (HH): Warum Perl? Warum nicht?

Beitrag lesen

Moin Moin!

Zum Vorurteil unlesbarer Code: Da ist was dran, was Module aus zweiter Hand betrifft. I.d.R werden jedoch nicht die Module "gepflegt" sondern die Scripts, die damit arbeiten.

Wer mir was von unlesbarem Perl-Code vorjammert, den verweise ich seit neuestem auf MUMPS (die Computer-Krankheit, nicht die Kinderkrankheit). Wie immer ist die englische Wikipedia besser, man beachte dort das zweite Beispiel. Das ist Realität in MUMPS, das erste Beispiel ist nur die aufgehübschte Version für den Fall, dass mal jemand glaubt, für oder gegen MUMPS entscheiden zu müssen. Ein bald 50 Jahre altes Schwein wird auch mit einem Faß Schminke nicht mehr hübsch.

Alte unleserliche Perl-Scripte kann man mit perltidy wieder "geradebügeln", und notfalls vorsichtig mit Hilfe von perlcritic grobe Patzer beseitigen.

Und wer bei neuem Perl-Code hartnäckig meint, möglichst ohne Whitespace und Buchstaben auskommen zu müssen, der wird mal kurz in die hinterste Ecke des EDV-Lagers geführt und bekommt dort eine "Einführung" in die Kunst, lesbaren Code zu schreiben. ;-)

Im Web-Umfeld ist Perl mittlerweile ziemlich unterschätzt, nicht zuletzt, weil das "Visual Basic des WWW" (Zitat eines Kollegen) namens PHP eben sehr schnell zu Ergebnissen führt. Ob die dann sauber und wartbar sind, oder auch nur stabil und sicher, ist eine völlig andere Frage. Da sehe ich gerade bei PHP riesige Probleme. ASP schätze ich ähnlich ein, eben der MS-lastig und mit allen Nachteilen, die eine MS-Umgebung so mitbringt. Und Java hat, mittlerweile dank deutlich schnellerer CPUs teilweise zu unrecht, immer noch den Ruf, grausam langsam zu sein. Viele Java-Entwickler haben aber nicht verstanden, wie das WWW funktioniert. Typisches Symptom von Java-Web-Anwendungen: Nie den Back-Button anklicken, sonst explodiert alles. Ruby und Rails machen Perl viel Druck, haben aber auch viel von Perl kopiert. Auch da gilt: Schnelle Ergebnisse mit fraglicher Sicherheit und Wartbarkeit. Allerdings sind Ruby und Rails bei den Massenhostern noch nicht angekommen.

Dort findet man PHP und meistens noch ein völlig antikes Perl, typischerweise 5.5 oder 5.6, selten auch mal 5.8. Mittlerweile sind wir bei 5.12, was viele Dinge wesentlich besser / eleganter / schneller erledigen kann als 5.5/5.6, und z.B. auch ordentlich mit Unicode umgehen kann.

Ein klarer Nachteil von Perl ist die Kompatibilität zu altem Code, bis hin zu Perl 1.0, die dazu zwingt, in jeder Datei erst einmal sinnvolle Einstellungen vorzunehmen (#!perl -T, use strict; use warnings; use 5.010;). Und vielen Leuten muß man mit PBP die alte Perl4-Syntax aus der Rübe klopfen ...

Alexander

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