Allgemein (69)
Rating: 0 (0)


[b]Perl[/b] Manche Leute behaupten, Perl wäre eine Programmiersprache... im weitesten Sinne ist es das auch, in der Praxis ist es aber vielmehr eine Seuche! Eigentlich sagt es schon genug aus, dass ein Programmierer - Leiter der Entwicklungsabteilung seiner Firma - mit über acht Jahren Erfahrung mit Perl eigentlich triviale Syntaxprobleme immer wieder per Trial & Error löst und seltenst sofort eine Antwort auf ein Problem parat hat. Bekanntlich wird PHP oft als "schlecht" bezeichnet, nicht selten in Vergleich zu Perl und immer mit einem Wust an Argumenten. Diese stimmen auch teilweise, Embedded PHP in HTML ist tatsächlich ein No-Go, der Haupt-Namespace ist total überladen und man findet an Beispielen etc. kaum wirklich guten PHP-Code. ABER man KANN mit PHP vernünftig arbeiten, wenn man Grundsätze aus anderen vernünftigen Sprachen (C, Java) umsetzt. Glücklicherweise hat PHP sich im Laufe der letzten beiden Major-Versionen insofern weiterentwickelt, als dass man z.B. die meisten objektorientierten Konzepte aus Java übernehmen kann. Aber wie sieht es mit dem so oft gelobten Perl aus? Perl ist Chaos! Das pure Chaos! Perl war nie als Programmiersprache gedacht, sondern als Tool für alle möglichen Aufgaben, die mit Shell-Scripten zu kompliziert gewesen wären. So ist Perl ein Konglomerat aus Shellscript-Konzepten, Anleihen an richtige Programmiersprachen und einigen ganz seltsamen Dingen. Was das für Syntax-Stilblüten ergibt, braucht man wohl nicht zu erwähnen... Ein Grundsatz von Perl ist: "There's more than one way to do it". "Normale" Menschen sagen eher: "There's more than one way to screw it up". Perl selbst kann an sich recht wenig, eigentlich fast nichts. Für jeden Dreck braucht man irgendein Modul (das aus dem globalen Chaos CPAN stammt), welches wiederum von zig anderen Modulen abhängt. Abgeschlossene Funktionalität gibt es praktisch nicht. Das inzwischen für praktisch jeden Zweck ein CPAN-Modul existiert, werden selbige auch freudig eingesetzt. Und wenn man sich dadurch nur zehn Zeilen Code spart, man benutzt ein Modul! Mir bekannte Perl-Programmierer versuchen sich noch nicht einmal an eigenen Implementierungen! "If it is on CPAN, use it". Da CPAN über keine sinnvolle Upgrade-Möglichkeit verfügt (es gibt natürlich zig Module dafür, aber keines funktioniert so wirklich...), verfügt man in der Regel über ein Chaos von hunderten Modulen, die untereinander abhängen, inkompatibel sind oder verschiedene Versionen benutzen. Klasse! Dieses Chaos entspricht IMHO dem Chaos der Sprache selbst. Bewährte Konzepte wie Funktionen mit Argumenten, Klassen und Objekte usw. gibt es nicht. Klar, es geht alles, irgendwie... Funktionen sind Subroutinen, die Argumente aus einem Stack lesen können (ich dachte, das wäre schon in den 70er Jahren aus der Mode gekommen...), Hashes sind verbogene Arrays, Klassen sind Sammlungen von Subroutinen, die auf zehn verschiedene magische Weisen zu etwas ähnlichem wie Objekte gemacht werden können. Ein Konzept sucht man dabei leider vergeblich. Derzeit gibt es ja eine neue Strömung der Programmiersprachen. Ruby, Python, etc. arbeiten nach dem Prinzip "Convention over Implementation" und sind damit teilweise seltsam, teilweise aufwändig, haben aber auf jeden Fall ein Konzept. Dazwischen gibt es auch Glanzstücke wie C#, das wohl das schönste Objektmodell besitzt, das ich je gesehen habe (noch schöner als Java) oder PHP5, das in vielerlei Hinsicht durcheinander, aber unglaublich einfach und dabei noch flexibel zu benutzen ist. Perl hingegen erscheint wie ein Dinosaurier aus der Vergangenheit, ein Relikt der 80er Jahre. Bei genauer Betrachtung ist es das sogar in der Tat, die Version 5 hangelt sich von Subrelease zu Subrelease (selbstverständlich nur auf dem Papier kompatibel untereinander), während eines oder mehrere Konsortien seit über einem Jahrzehnt versucht, mit Perl 6 eine moderne Version dieses Sprachchaos aus dem Sumpf zu ziehen. Perl 6 könnte somit eine Hoffnung darstellen, für alle geqälten Code-Grinder, die alle schönen Konzepte aus der Uni hinter sich lassen musste, getreu nach dem Motto "Die ihr hier eintretet, lasset alle Hoffnung fahren". Doch leider wurde diese Hoffnung bereits zerstreut, lange bevor Perl 6 auch nur irgendwie produktiv wird. Es ist hochgradig inkompatibel, verfügt jetzt schon über mehrere Forks und ist - was aber schon der Name Perl sagt - einfach nur chaotisch. Mein herzliches Beileid für jeden Leser, der gezwungen ist, mit diesem Witz von Programmiersprache zu arbeiten! Für mich ist es klar: Nach eineinhalb Jahren Perl steht mein Entschluss fest, nie wieder ein neues Perl-Projekt anzufangen. Lieber wechsle ich die Arbeitsstelle, das ist mir meine seelische Gesundheit wert.