Kommentare 1

Perl & die „Top 100“

Im dritten Beitrag unserer Artikel-Reihe zu Perl beschäftigt sich Renée Bäcker mit „Top“-Listen der Perl-Welt. Beim letzten Mal vergessen, aber dieses Mal wollte ich vorher noch erwähnen: Ende Juni neu erschienen: Automating System Administration with Perl. Aber jetzt hat Renée Bäcker das Wort:

Als Backronym für Perl gibt es „Practical Extraction and Reporting Languag“, was zum Ausdruck bringt, dass man mit Perl sehr gut Text und andere Daten auswerten kann. Eine sogenannte Killerapplikation von Perl ist sicherlich CPAN („Comprehensive Perl Archive Network“), auf dem man für die meisten Anwendungsfälle das passende Modul findet.

Menschen lieben anscheinend Listen mit den „Top xxx“-Einträgen. In der Musikbranche findet man die Charts, in der Firmenwelt gibt es die „Top 100 Arbeitgeber“ und diese Aufzählung an „Top“-Listen lässt sich beliebig weiterführen. Auch in der Perl-Welt gibt es verschiedene dieser Listen.

Eine Liste, die es schon länger gibt, ist die „Phalanx 100“, in der die beliebtesten/besten Module auf CPAN aufgeführt sind. Gerade Einsteiger wissen bei der Vielzahl von Modulen schon mal nicht, welches Modul das Beste ist. Ein Blick in die „Phalanx 100“ kann ein Indiz dafür sein, welches man nehmen sollte.

Aber man kann die Module in noch mehr „Top“-Listen packen.

Adam Kennedy hat vor kurzem weitere „Top 100“-Listen generiert, dabei die oben genannten Stärken von Perl genutzt und die Module auf CPAN unter verschiedenen Aspekten analysiert. Dadurch entstand die Liste der Module mit den meisten Abhängigkeiten, die am meisten in anderen Modulen verwendet werden und die Module mit den meisten „FAIL“-Berichten.

Auf den ersten Blick sind diese Listen unsinnig, aber auf den zweiten Blick sind sie hilfreich. Je mehr Abhängigkeiten ein Modul hat, umso mehr kann bei der Installation schiefgehen, weil eine der Abhängigkeiten patzt. Oder die Installationswahrscheinlichkeit ist bei 100%, aber man möchte auf seinem Shared Webhosting-Paket nicht so viel Platz für Module freihalten.

Die Installationswahrscheinlichkeit für ein Modul bei einem bestimmten Betriebssystem und einer bestimmten Perlversion lässt sich z.B. unter http://cpandeps.cantrell.org.uk/ anschauen.

Andererseits zeigt die Verwendung von vielen CPAN-Modulen, dass der Autor eines Moduls nicht alles neu erfinden will, sondern sich auf getestete Arbeit von anderen stützt.

Die zweite Liste zeigt die 100 Module, die am meisten von anderen Modulen verwendet werden. Das ist sicherlich eine sehr nützliche Liste, denn wenn ein Modul von vielen anderen Modulen verwendet wird, dann wird es wohl gut und intensiv getestet sein. Nicht umsonst werden andere Modulautoren sich auf das Modul verlassen.

„FAIL“-Berichte werden von den CPANTestern verschickt, wenn bei den Tests der Module etwas schiefläuft. Wer die CPANTester sind, habe ich im ersten Teil dieser Perl-Reihe beschrieben. Die dritte Liste von Adam Kennedy zeigt die Module, die die meisten „FAIL“s produzieren. Bevor man sich jedoch gegen eins der dort genannten Module entscheidet, sollte man sich vielleicht noch anschauen, woher diese Fehler stammen. Die könnten auch von anderen Modulen stammen, von denen dieses Modul abhängt. Sind diese Fehler neu hinzugekommen oder war das Modul schon immer so fehlerhaft?

Gerade in der letzten Zeit ist dort ein Modul ganz oben aufgetaucht, das eigentlich sehr stabil ist und in vorherigen Versionen einwandfrei funktioniert hat: DBD::mysql, ein Datenbank-Treiber für MySQL.

Mal sehen, welche Auswertungen in den nächsten Wochen und Monaten noch folgen… Auf jedenfall sind solche Listen interessant.

Über den Autor: Renée Bäcker ist seit 2002 begeisterter Perl-Programmierer und seit 2003 selbständig. Auf der Suche nach einem Perl-Magazin ist er nicht fündig geworden und hat selbst das Perl-Magazin „$foo“ gestartet. In der Perl-Community ist Renée recht aktiv – als Moderator bei Perl-Community.de, Organisator des kleinen Frankfurt Perl-Community Workshop und Mitglied im Orga-Team des deutschen Perl-Workshops.

Sag's weiter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert