Thread Sind Perl Nutzer alle Profis ohne Fragen? (37 answers)
Opened by bianca at 2016-04-17 09:01

Gast janus
 2016-04-22 16:51
#184560 #184560
Mit der Entwicklung meines Perl-Webapplication-Framework's was übrigens wieder einen neuen Kunden gewinnen konnte dieser Tage, habe ich OOP aus völlig neuen Aspekten kennengelernt, diese sind hauptsächlich ökonomischer Natur. Also nicht das OOP-Klischee der meisten Dozenten und in der Tat ist Vererbung nicht so das Wesentliche und Mehrfachvererbung schon gar nicht.

Vielmehr sind es flache Hierarchien und was mich absolut begeistert ist eine gut aufgesetzte Factory/AUTOLOAD. Damit werden einzelne Methoden in Dateien ausgelagert, womit die auch von anderen Klasseninstanzen aufgerufen werden können, was auch die Qualitätssicherung per Mocken ermöglicht (Aufruf über Attrappen); des Weiteren gibt es keinen redundanten CODE mehr und die Wartungsfreundlichkeit lässt absolut keine Wünsche mehr offen.

Das wirklich Schöne an Perl OOP ist das unpragmatische: Während bspw. in Java beim Antreten der Erbschaft bestimmter Klassen mindestens 1 DIN A4 Seite try/catch zu tippen sind, ist das in Perl meist mit ein paar wenigen Zeilen erledigt.

Und absolut unschlagbar ist Perl in seiner Fähigkeit, Klassenhierarchien auch im Dateisystem abzubilden, einmal @INC richtig gesetzt und die Packages entsprechend deklariert, kümmert sich Perl ganz von Selbst darum, die Datei für ein Foo::Bar zu finden.

Aber nicht nur die Erbfolge, auch die Rolle steckt im Namen einer Package, Kneipe::Checkin oder Kneipe::Admin sagt doch gleich Jedem worum es in der Klasse geht, ohne dass Admin von Kneipe irgndwas erben müsste.

Unpragmatisch ist es in Perl auch, Interfaces zu deklarieren oder gar in eine Klassenhierarchie einzubeziehen. Während in PHP ein Interface JEDE Methode definierenn muss, kann ich das in Perl völlig unbürokratisch so regeln, dass Interface-Methodennur aufgerufen werden, wenn die in der Subklasse definiert sind oder gar später als Referenzen eingebunden werden (Decorator Pattern).

Und wenn wir tie() nicht hätten, ach, sowas scheitert in PHP bereits daran, dass es gar keiner kennt wofür das gut sein könnte. Und ja, private methods, wers braucht gehe zu den Elchen. Ich hab sowas noch nie gebaucht.

Und static? Ja, seit v5.10 aber wer einmal mit OOP vertraut ist, bildet static vars in Atttributen ab, fertig und das ging schon immer ab v5.6

Aber vielleicht ist es ja gerade das Unpragmatische was Perl so unbeliebt macht ;)

PS: Da hab ich mit Perl6 auch so meine Probleme, aber beruflich brauch ich sowieso nicht mehr, bin mittlerweile Rentner.
Last edited: 2016-04-22 17:26:43 +0200 (CEST)

View full thread Sind Perl Nutzer alle Profis ohne Fragen?