<<

01/2016

Entwicklungsumgebungen für Software Für Perl-Eintaucher Bitparade

38 Für Perl-Entwickler gibt es ausgefeilte Plugins für Texteditoren, aber auch für ausgewachsene IDEs. Ob der Einsatz solcher Plugins oder Anwendungen tatsächlich beim Skripte-Programmieren hilft, lotet die aktuelle

Bitparade anhand des Editors , der Perl-IDE Padre sowie des Eclipse-Plugins Epic aus. Harald Jele www.linux-magazin.de

Werkzeuge, die sie benötigen, aus einer Hand liefern. Schließlich wendet sich die Bitparade noch dem Eclipse-Plug­in Epic [5] zu, dieser sehr ausgereiften und zugleich umfangreichen IDE für Perl- Entwickler.­ Alle drei Tools sind quelloffen, ihr Ein- satz ist sowohl unter Linux als auch © aquafun, 123RF unter Mac OS und Windows möglich. Als Basis für die Tests diente ein frisch installiertes Ubuntu 14.04 LTS.

E Perl-Support

Ubuntu setzt Vim weder als Standardedi- tor ein, noch installiert es den Editor mit. Der Artikel greift zu Gvim, einer Version des Editors mit grafischer Oberfläche, die gerade für weniger Vim-Affine etwas komfortabler zu bedienen ist. Ein Die Programmiersprache Perl [1] zählt men nun mit diesem aus. Kein Wunder: sudo apt‑get install vim‑gnome U wohl nicht zu jenen, die in den letzten Wer sich mit Vim oder Emacs noch im libperl‑critic‑perl Jahren besonders viel Aufhebens um sich Schlaf zurechtfindet, vermisst beim Pro- gemacht haben. Das muss sie auch nicht, grammieren nichts. installiert Ubuntus Gvim-Ausgabe mit stecken ihre Qualitäten doch im Verbor- Dennoch kann es gerade bei umfangrei- den bekannten Gnome-Symbolen (Ab- genen. Egal ob Perl Text verarbeitet oder chen Projekten mitunter sinnvoll sein, bildung 1) sowie das Perl-Modul »critic«, Prozesse automatisiert, kaum eine große einmal in fremde Schuhe zu schlüpfen das zum Einsatz kommt, wenn der Pro- IT-Firma, zu nennen wären Google, und zu einer ausgewachsenen Entwick- grammierer seinen Perl-Code auf Syntax- Amazon oder Yahoo, kommt ohne Perl- lungsumgebung (IDE) zu greifen. Oder fehler hin überprüft. Das Perl-Plugin für Skripte aus. Und kaum eine Frage, die zumindest die vorhandenen Möglichkei- Vim heißt Perl-Support, der Entwickler sich der geübte Perl-Programmierer stellt, ten mit Plugins zu erweitern. Fritz Mehner pflegt und erweitert es seit kann CPAN (Comprehensive Perl Archive Die Bitparade will die Frage nach den 2003 regelmäßig. Network, [2]) nicht beantworten. Vor- und Nachteilen solcher Schuhwech- Der Download von »perl‑support.zip« Die meisten Hardcore-Perl-Programmie- sel anhand dreier solcher Helfer beant- gelingt über die Webseite [3], der Ent- rer haben in der Regel mit den Jahren worten. Wer auf Vim nicht verzichten wickler entpackt das Archiv über »unzip ihren Lieblingseditor gefunden und kom- möchte, freut sich womöglich über das perl‑support.zip« am besten im Verzeich- Plugin Perl-Support [3], da es die Grund- Listing 1: »cpanm« funktionen des Lieblingseditors hilfreich DELUG-DVD 01 sudo apt‑get install cpanminus erweitert. Daneben stellt der Artikel Pa- Auf der Heft-DVD findet sich DELUG-DVD dre (Perl Application Development and 02 sudo cpanm Devel::SmallProf Software passend zum Artikel. Neben dem Refactoring Environment, [4]) vor. Diese 03 sudo cpanm Devel::FastProf Code für das Eclipse-Plugin Epic warten Pa- maßgeschneiderte Entwicklungsumge- 04 sudo cpanm Devel::NYTProf dre und das Perl-Support-Plugin für Gvim. bung will Perl-Programmierern sämtliche 01/2016 Software nis »$HOME/.vim«. Das legt gleich eine passende Ordnerstruktur an. Startet er Vim für Gnome über das Kom- mando »gvim« und wählt den Menü-

punkt »Werkzeuge | Load Perl Support«, Bitparade erscheint der neue Menü-Eintrag »Perl«, der die Funktionen des Plugins auflistet (Abbildung 1). Der Menü-Eintrag wird 39 auch zugänglich, sobald Gvim eine Perl- Datei erkennt. Das passiert, wenn der Entwickler eine solche öffnet oder wenn

er auf der Kommandozeile von Gvim den www.linux-magazin.de Dateityp über

:set filetype=perl 1 setzt. Abbildung 1 zeigt einen Ausschnitt der Erweiterungen, die das Plugin dem Editor hinzufügt. Die ersten Menü-Ein- träge liefern jeweils leere Gerüste, um verschiedene Befehle syntaktisch korrekt Abbildung 1: Der geöffnete Menü-Eintrag »Perl« im Editor Gvim, einem Frontend für Vim. in das Skript einzufügen, dazu gehören Kommentare (»Comments«), Deklaratio- lässt sich das Perl-Programm ausführen. Plugin keine Lösung. Auch auf eine au- nen (»Statements«) und Ausdrücke (»Idi- Dabei kann der Entwickler beim Start tomatische Vervollständigung des Perl- oms«). Dass diese Einteilung teilweise auch gleich diverse Parameter übergeben. Codes, die in modernen IDEs selbstver- deutlich von der in der Literatur üblichen Hinter dem Menü-Eintrag verstecken sich ständlich ist, muss der Entwickler ver- Gruppierung abweicht, mag anfänglich außerdem der Zugriff auf den Perl-De- zichten. Den Perl-Debugger kann er zwar überraschen. Insgesamt betrachtet ergibt bugger sowie auf die Tools Perltidy [6] aus dem Editor heraus starten, die Arbeit sich mit der weiteren Einteilung aber eine und Perlcritic [7]. damit erfolgt jedoch auf dem herkömm- sinnvolle Struktur, über die der Program- Mit dem Debugger muss der Entwickler lichen Weg. Eine sinnvolle Integration in mierer effizient an den passenden Befehl an dieser Stelle bereits vertraut sein, da den Editor fehlt. gelangt und sich einiges an Schreibarbeit das Gvim-Plugin keine weiteren Hilfestel- Zur Ehrenrettung des Programmautors erspart. Weniger geübte Perl-Nutzer er- lungen zu dessen Bedienung anbietet. sei gesagt, dass für Vim unzählige Plug­ halten dadurch einen raschen Einblick Perltidy will ihm zu ordentlich forma- ins existieren, die einige der Funktio- in die Syntax. tiertem Code verhelfen (was nicht immer nen nachrüsten. Eine Suche nach »vim gelingt) und Perlcritic warnt vor schlam- plugins« oder »vim ide« im Netz bringt Profiling und Debugging piger Syntax, die früher oder später zur Hinweise auf Codevervollständigung, Stolperfalle werden könnte. Codebrowsing, Versionierung und einiges Die weitergehende Einteilung orientiert Sämtliche Ausgaben eines gestarteten mehr. Dass das Perl-Support-Plugin diese sich wesentlich stärker an dem, was Ent- Programms sowie jene der hier veranker- Funktionen nicht neu erfinden möchte, wickler regelmäßig brauchen: Reservierte ten Tools (den Debugger ausgenommen) lässt sich nachvollziehen. Variablennamen, reguläre Ausdrücke, die schreibt Gvim in einen neuen Frame. Wer Und es gibt weitere Pro-Argumente. Da POD (Auszeichnungssprache zur Doku- die Ausgaben lieber in einem Terminal das Plugin schlicht und zurückhaltend mentation) und diverse Optionen, um mitlesen mag, konfiguriert dies über gestaltet ist, finden sich Entwickler damit Datei-Eigenschaften zu überprüfen. Die den untersten Menü-Eintrag »output: rasch zurecht. Seine Macher pflegen es Funktionen im »Snippets«-Submenü ver- Vim‑>buffer‑>xterm«. zudem laufend, das Projekt bietet Kon- walten Coderoutinen fürs Recycling. taktmöglichkeiten und eine Mailingliste Mit dem »Profiling«-Eintrag überprüft der Fazit [3]. Wer dort fragt, erhält üblicherweise Entwickler die Effizienz seines Codes. rasch und kompetent Antwort. Dafür braucht er allerdings zusätzliche Wer an umfangreichen Projekten mitar- Auch die Dokumentation des Plugins ist Perl-Module, die nicht als fertige Ubuntu- beitet, schätzt möglichst übersichtlichen umfangreich und gut verständlich. Die Pakete vorliegen. Am einfachsten holt und leicht zugänglichen Programmier- Performance entspricht jener des Edi- er diese mit dem Tool CPAN-Minus und code. Üblicherweise hilft eine ausgefeilte tors und lässt kaum Wünsche offen. In den Befehlen aus Listing 1 direkt aus Navigation, um die eingebundenen Rou- Arbeitsumgebungen, in denen mehrere dem CPAN. tinen, gesetzten Variablen, definierten Personen zusammenarbeiten, kann das Die Befehle berücksichtigen auch alle Funktionen, geschachtelten Objekte Plugin Vim sinnvoll ergänzen. Dass es ei- Abhängigkeiten und installieren die ent- sowie die Kontrollstrukturen rasch an- nen Mehrwert für die Teamarbeit liefert, sprechenden Module mit. Über »Run« zuspringen. In diesem Punkt bietet das ist aber eher unwahrscheinlich. E 01/2016 Software ebenso, um wiederkehrende Muster ele- gant zu bevorraten. Zudem lassen sich hier Dateien patchen und Diffs erzeugen. Im Test ergaben sich indes Probleme mit

Bitparade Auswahl und Anzeige der zweiten, abzu- gleichenden Datei, weshalb die Funktio- nen ungenutzt blieben. 40 Padre vervollständigt den gesamten Perl- Code, wozu die Namen von Variablen, Funktionen, Objekten und dergleichen gehören, wenn sie innerhalb der geöff-

www.linux-magazin.de neten Datei Erwähnung finden. Kommen sie hingegen in anderen Projektdateien vor, kennt sie Padre beim ersten Aufruf nicht. Das wundert nicht, würde so eine Funktion doch bei umfangreichen Projek- ten sehr viele Ressourcen binden und ein Abbildung 2: Die auf Perl spezialisierte IDE Padre zeigt Informationen in Rahmen an. flüssige Arbeiten bremsen. Als sehr nützlich entpuppt sich der Ein- Der allgemeine Nutzen des Plugins ge- unterschiedlichen Syntax zwischen den trag »Lesezeichen« im »Suchen«-Menü. genüber dem bloßen Editor besteht wohl beiden Perl-Versionen entsteht. In den Gesetzte Lesezeichen springt der Ent- darin, dass es dem Editor in einer eige- Ubuntu-Paketquellen befindet sich die wickler recht einfach an. Als Wermuts- nen Struktur Perl-Spezifisches hinzufügt, Version 1.0 von Padre, die der Befehl tropfen bleibt, dass Padre diese nicht in- ohne den Editor selbst zu verändern. nerhalb der Projektdateien, sondern im sudo apt‑get install padre Dem Einsteiger in die Perl-Programmie- Homeverzeichnis des Nutzers verwaltet. rung kann dies dabei helfen, sich rascher installiert. Ist das Programm gestartet Sie lassen sich daher nicht oder nur sehr in die Möglichkeiten der Programmier- (Abbildung 2), schaltet der Benutzer die mühsam über die Versionsverwaltung sprache einzuarbeiten. Oberfläche im Menüpunkt »View | Lan- abgleichen. Ob das Plugin allerdings geübten Perl- guage« von Englisch auf Deutsch um. Der Menüpunkt »Ansicht« zeigt indes Programmierern und Vim-Nutzern hilft, Ein erster Blick in das Menü verheißt deutlich, wie viele Tools Padre vereint bleibt offen. Zwar könnte ihnen das nur Gutes. Alles, was sich das Program- und in einem eigenen Rahmen anzeigen Plugin mit der einen oder anderen Funk- miererherz wünscht, scheint vorhanden kann. Über den CPAN-Explorer lässt sich tion theoretisch regelmäßige Tipparbeit zu sein. nach Perl-Modulen fahnden, die Padre ersparen, häufig haben sich die Perl-Ex- Unter »Datei | Projektstatistik« finden auf Wunsch installiert. Immer wieder perten dafür jedoch schon im Vorfeld die sich einige Zahlen (Anzahl der Zeilen, aber fehlen Module, die eigentlich im eine oder andere Krücke zurechtgelegt. Zeichen, Kommentare und so weiter) zu CPAN stecken und die CPAN-Minus (das den Projektdateien sowie eine Schätzung auch bei Padre im Hintergrund wirkt) E Padre: Eine Perl-IDE des geöffneten Projekts nach dem Cons- durchaus installieren könnte. tructive Cost Model [9]. Dieses schätzt Der Eintrag »Funktionsliste anzeigen« Mit Padre [4] betritt eine Anwendung auf Basis des vorliegenden Codes die in- präsentiert übersichtlich alle definierten die Bühne, die selbst in Perl geschrieben vestierte Zeit und gibt die damit verbun- Routinen und stellt diese zum Navigie- ist und gezielt gestandene Perl-Program- denen Kosten in US-Dollar aus. ren innerhalb des Codes bereit, wäh- mierer, aber auch Einsteiger ansprechen Solche Zahlen erweisen sich in der Praxis rend »Projektansicht anzeigen« deutlich möchte. Besonders erwähnenswert ist, zwar teils als interessant, teils sind sie macht, welche Dateien zu einem Perl- dass Padre Entwickler nicht nur beim aber auch ziemlicher Nonsens. So ergibt Projekt gehören. Über die angezeigte Programmieren, sondern auch dabei un- die Schätzung unter anderem, dass sich Liste öffnet der Perl-Coder dann die zu- terstützen möchte, komplexen Code neu der für den Artikel verwendete Beispiel- gehörigen Dateien. zu strukturieren (Stichwort: Refactoring, code in sechs Wochen schreiben lasse, »Übersicht anzeigen« liefert einen schnel- [8]). Auf diesem Weg wird der Code während der Entwickler Jahre daran ge- len Überblick der geladenen Perl-Module auf Dauer besser lesbar, wartbarer und feilt hat, ihn zu warten und zu perfekti- und eingebundenen Methoden, unter weniger fehleranfällig. onieren. Aber das weiß Padre nicht, es »Ausgabe anzeigen« bringt Padre die Ein weites Anwendungsgebiet für Refac- sieht bloß das Endergebnis. Ausgaben eines gestarteten Skripts sowie toring öffnet sich, wenn Entwickler ihren Im Menüpunkt »Bearbeiten« warten die jene, die Perl auch in einem Terminal an- Code von Perl 5 auf Perl 6 migrieren üblichen Verdächtigen, aber auch die zeigen würde, in einem eigenen Rahmen wollen. Werkzeuge nehmen ihnen dabei automatische Vervollständigung, die der zum Vorschein. einiges an mühsamer und fehleranfälli- Entwickler mit [Strg]+[Leerzeichen] Der Punkt »Syntax‑Check ausführen« gibt ger Arbeit ab, die aufgrund der deutlich auslöst. Codeschnipsel verwaltet er hier Meldungen des Moduls Perl::Critic aus, wobei der Entwickler den Level der kri- plexer Programme in eine besser lesbare tischen Kommentare (üblicherweise von Form helfen. Sie benennen Variablenna- sehr streng bis eher nachlässig) nicht men automatisch um und machen sie mit einstellen kann. »TODO‑Liste anzeigen« Binnenmajuskeln (Camelcase) zugleich wäre ein praktischer Platz, um sich Noti- besser lesbar. Zudem unterstützt das zen aufzubewahren. Allerdings verwaltet Programm Entwickler dabei, Programm- Padre auch diese Liste im Homeverzeich- code aus Routinen zu lösen und in an- nis des Benutzers, sie lässt sich daher nur dere einzufügen. Leider traten bei allen mühsam mit anderen abgleichen. Versuchen Meldungen zu „unbekannten Wer sich die »Versionskontrolle anzei- Fehlern“ auf, was das Refactoring mo- gen« lässt, erhält einen Überblick zum mentan unbenutzbar macht. Im Padre- Versionsstand lokaler Dateien gegenüber Wiki [11] deuten Einträge an, dass die einem Repository, das Subversion oder Software diese Fehler schon einige Jahre verwalten. Die Installation erfolgt mit: mitschleppt. Die Funktionen im Menüpunkt »Debug­ cpanm Padre::Plugin::Git g­ing« arbeiten hingegen vorbildlich (Ab- cpanm Padre::Plugin::SVN bildung 3). Die grafische Oberfläche Anschließend aktiviert der Entwickler führt zu den wichtigsten Befehlen des beide Plugins im Pluginmanager. Leider Debuggers. In einem Rahmen am unte- scheiterte die Konfiguration eines belie- ren Bildschirmrand lassen sich dessen bigen Git-Repository mit dem Git-Plugin Ausgaben betrachten. Der linke Rand 4 im Test. Auch die Recherche nach den zeigt in einem Rahmen die definierten Ursachen lief ins Leere. Die Versionskon- Haltepunkte an, der rechte bietet Navi- trolle über SVN sortiert sich anschließend gationsmöglichkeiten durch den Code. als eigener Eintrag unter dem Menüpunkt Auch Variablenwerte lassen sich dort ins- »Werkzeuge« ein und lässt sich fortan pizieren. Insgesamt ist die Integration des von dort aus steuern. Debuggers also gelungen, sowohl Anfän- Nicht zuletzt interessiert in diesem Menü- ger als auch Fortgeschrittene finden sich punkt noch die Funktion »Code‑Ausblen- dort sofort zurecht. den verwenden«. Mit ihrer Hilfe klappt Der Menüpunkt »Werkzeuge« beherbergt der Perl-Nutzer, wie auch in anderen alle Einstellungen, die Padre konfigurie- Editoren und IDEs, zusammengehörige ren, einen gut umgesetzten Editor für Codeteile bei Bedarf ein und aus, um die reguläre Ausdrücke sowie den Plugin­ Anzeige übersichtlich zu gestalten. manager, um die aus CPAN installierten Erweiterungen zu aktivieren. Refactoring inklusive Last but not least verdient der Menü- punkt »Hilfe« Beachtung. Nicht selten Der Menüpunkt »Refactor« vereint laut fragen Programmierer lieber schnell Beschreibung auf der Homepage [10] nach, statt etwas zu lesen. Doch hier Funktionen, die beim Umarbeiten kom- versammelt Padre eine Fülle an Quellen

Abbildung 3: Die Integration des Perl-Debuggers in Padre ist gut gelungen. 01/2016 Software rund um Padre und Perl. Als nette Idee lästige Fehler seit Jahren mit, die den Vielzahl an abhängigen Paketen deutet lässt sich verbuchen, dass User via IRC Zugang zu nützlichen Funktionen ver- bereits an, dass Eclipse einiges an Res- Kontakt zu anderen Padre-Nutzern er- hindern. Die Performance entspricht sourcen beansprucht. Perl-Entwickler halten, allerdings legen die Logfiles nahe, jener eines typischen Editors und stellt brauchen zudem mehrere Module:

Bitparade dass der Channel eher Kommunikations- an gängige Hardware keine besonderen sudo apt‑get install libpadwalker‑perl U Sparsamkeit zelebriert [12]. Anforderungen. libmodule‑starter‑perl libperl‑critic‑perl 42 Fazit E Epic für Eclipse Das zu Eclipse passende Perl-Plugin heißt Epic ([7], [16]) und lässt sich am Der Wert von Padre gegenüber einem Als integrierte Entwicklungsumgebung besten aus Ecplise heraus installieren. bloßen Editor besteht sicher darin, viele richtete sich Eclipse [13] ursprünglich Über die Menü-Einträge »Help | Install

www.linux-magazin.de Perl-Eigenheiten abzudecken. Neue Pro- ganz an Java-Programmierer. Über die New Software« gelangt der Entwickler grammierer an Perl heranzuführen dürfte Jahre hat es sich zu einer Anwendung zum Installationsdialog und gibt dort Padre hingegen kaum gelingen, denn entwickelt, die modular aufgebaut ist als Quelle »http://e‑p‑i‑c.sf.net/up- Hilfe wartet nur in Form von ein paar und sich für eine Vielzahl von Zwecken dates« ein, um dann den Anweisungen Links auf externe Informationsquellen. einspannen lässt. zu folgen, die das Perl-Plugin in Version Dafür ist die Anwendung sehr übersicht- Seit Version 3 im Jahr 2004 setzt die Java- 0.6.57 auf die Platte holen. Eclipse sucht lich gestaltet, sodass neue Nutzer sich Software im Kern auf das Framework in der Standardeinstellung­ automatisch rasch zurechtfinden. Equinox [14]. Die Anwendung selbst be- nach Updates und weist auf sie hin, so- Die Dokumentation ist ausführlich und steht jedoch aus einer Vielzahl an Plug­ dass neuere Versionen einfach zugäng- beschreibt Funktionen und Schnittstellen ins, die sich im Kern einklinken und das lich sind. In dem Menüpunkt lässt sich zum Programm umfassend und gut ver- Ergebnis wie eine monolithische Anwen- zudem die Sprachunterstützung für ständlich. Über SVN lässt sich Padre in dung erscheinen lassen. Deutsch nachrüsten, der passende Link typische Team-Arbeitsumgebungen inte- Eclipse dient aufgrund dieser äußerst fle- wartet unter [17]. grieren. Externe Tools binden Entwickler xiblen Architektur gern als Basis für an- Ist eine Sprache installiert und entspricht jedoch nur mit einigem (Programmier-) dere Anwendungen, die sich als Plugins diese der Standardsprache des Betriebs- Aufwand über die definierten Schnittstel- entweder in Aussehen und Bedienung systems, wählt Eclipse sie fortan automa- len des Programms ein. an Eclipse anpassen oder aber die typi- tisch. Leider fehlt dann ein Menüpunkt, Zudem bietet Padre viele Möglichkeiten, schen Eclipse-Funktionen nutzen, ohne um zwischen den Sprachen umzuschal- umfangreichen Code übersichtlich dar- der Anwendung sehr ähnlich zu sein. Im ten und die Standardsprache einzustel- zustellen und darin zu navigieren. Wer zweiten Fall bedienen sich die Anwen- len. Überraschenderweise gelang dies im häufig mit fremden Perl-Programmen zu dungen über Eclipse RCP (Rich Client Test nur auf der Kommandozeile über tun hat, wird diesbezüglich gut versorgt. Platform, [15]). »eclipse ‑nl en« für Englisch. Auch der Perl-Debugger ist vorbildlich Dank dieses Grundkonzepts ist Eclipse Hat sich der Entwickler mit der anfangs integriert, weil Padre die allermeisten sei- natürlich als IDE für eine Vielzahl an gewöhnungsbedürftigen Bedienung von ner Funktionen über grafische Elemente Programmiersprachen prädestiniert. Ein Eclipse vertraut gemacht, gelangt er rasch zugänglich macht und das auch über- an sein Ziel. Dabei spielt es keine Rolle, sudo apt‑get install eclipse sichtlich umsetzt. ob er die IDE nun als Perl-IDE oder XML- Zwar pflegen die Entwickler den Code installiert die etwas angestaubte Version Editor einsetzt. Im Unterschied zu den laufend, dennoch schleppt Padre einige 3.8 aus den Ubuntu-Repositories. Die anderen beiden hier vorgestellten Tools kann der Nutzer in Eclipse viele Funkti- onen erst verwenden, wenn er seine Da- teien in ein Projekt integriert beziehungs- weise importiert. Es genügt also nicht, einfach eine Perl-Datei neu anzulegen oder zu öffnen. Ist diese Hürde genom- men, listet ein Projekt-Explorer am linken Bildschirmrand die vorhandenen Dateien auf (Abbildung 4). Ein Gliederungsrah- men unterhalb bietet raschen Zugriff auf die Strukturelemente (Module und Funk- tionen) eines Programms. Über den Menüpunkt »Source« gelangt der Eclipse-Anwender an die Funktio- nen der beiden Perl-Module Pod::Checker und Perl::Critic. Startet er diese, erschei- Abbildung 4: Die typische Frame-Ansicht von Eclipse listet links die vorhandenen Dateien auf. nen am linken Rand des Editors Warn- 01/2016 Software markierungen (Epic-Markers), mit deren Hilfe er über das entsprechende Symbol navigiert. Am rechten Bildschirmrand der Anwendung blendet Eclipse geraffte

Sprungmarken ein, mit denen er be- Bitparade quem an einzelne Positionen hüpft. Der Menü-Eintrag »Format« versucht sich via Perltidy ­an einer einheitlichen Formatie- 43 rung des Perl-Codes, die nicht immer zu besseren (wohl aber zu sehr einheitli- chen) Ergebnissen führt. www.linux-magazin.de Komfortabel debuggen

Eclipse verändert sein Aussehen (die »Views«) je nach Aufgabe. Das mag für den Anfänger verwirrend erscheinen, Abbildung 5: Auch die Integration des Perl-Debuggers in Eclipse lässt kaum Wünsche offen. da sich dabei einzelne Frames schließen und andere öffnen. Für Entwickler, die talliert, zeigt der Debug-Modus zudem Refactoring ist auch in Eclipse promi- Code bearbeiten, versionieren oder de- sehr komfortabel die aktuellen Inhalte nent im Menü vertreten. Momentan un- buggen möchten, ergibt dieser Ansatz von Variablen an. terstützt Epic es jedoch nur, um Code jedoch Sinn. Schließlich konzentrieren Die Funktionen »Run« und »Debug« sind aus bestehenden Subroutinen in neue sich dabei alle Funktionen auf die zu über entsprechende Icons unterhalb des zu übernehmen. Dabei greift es auf das erledigende Aufgabe. Menüs zugänglich. Die bei einer etab- Perl-Modul Devel::Refactor [18] zurück, Über den Menüpunkt »Run« starten Nut- lierten IDE wie Eclipse zu erwartenden das sich noch in einem frühen Entwick- zer Perl-Programme und betrachten de- Funktionalitäten sind da. Dazu gehören: lungsstadium befindet (aktuell v0.05). ren Ausgaben in einem Frame. Hier ver- n Syntax Highlighting Die Epic-Entwickler geben an, Weiter- steckt sich auch die Option, Programme n Automatische Vervollständigung von entwicklungen an diesem Modul in ihrem im Debug-Modus zu starten, wobei Epic Funktionen und Variablen Plugin zu berücksichtigen. die Möglichkeiten des Perl-Debuggers n Führen von To-do-Listen sehr gut umsetzt (Abbildung 5). Anfän- n Verwalten von Codeschnipseln (hier Fazit ger kommen gut damit zurecht, Fortge- Templates) schrittene arbeiten komfortabel. n Eine integrierte Hilfe für Perldoc Der Mehrwert von Epic besteht sicher Erwähnenswert ist auch, dass gesetzte Gut versteckt im Menü unter »Window | darin, dass mit Eclipse vertraute Pro- Breakpoints einen Neustart der IDE Show View | Other | EPIC | RegExp« war- grammierer mit seiner Hilfe eine um- überleben und sich innerhalb des Pro- tet der Editor für reguläre Ausdrücke. Ein fassende Perl-Unterstützung vorfinden. jekts mitführen lassen. Leider legt Epic Highlight des sehr einfachen Editors ist, Interessant ist auch, dass Epic nicht nur sie nicht in den Projektdateien selbst ab, dass er einen regulären Ausdruck auch lokal installierte Programme bearbeitet sodass eine Versionskontrolle sie nicht schrittweise ausführt und Epic dabei den und ausführt, sondern im Remote Mode erfassen oder gar mit anderen abgleichen jeweiligen Text anzeigt, den der aktive auch jene, die innerhalb des CGI eines kann. Ist das Perl-Modul Padwalker ins- Ausdruck gerade matcht. Webservers laufen oder auf einem ent- fernten Rechner. Eclipse bietet obendrauf Jenseits von Padre, Perl und Gvim für alle Arbeitsschritte Plugins an und Auch abseits der hier besprochenen Tools fin- Funktionsumfang und die Stabilität von Padre lässt sich hervorragend in unterschiedli- den sich sehr brauchbare Werkzeuge, die den bei Weitem noch nicht erreicht. Die Funktions- che Szenarien der Einzel- oder Teamar- Perl-Programmierer unterstützen. So existiert vielfalt einer Entwicklungsumgebung streben beit integrieren. für den Editor Emacs ein eigener C-Perl-Mode seine Macher nicht an. Epic bietet zudem viele Möglichkeiten, [19]. Dieser ist in Ubuntu vorhanden und wird Wer als IDE Intellij Idea [21] anstelle von umfangreichen Code übersichtlich dar- immer dann aktiv, wenn Emacs eine Perl-Datei Eclipse einsetzt, kann als Perl-Programmierer zustellen und darin zu navigieren. Wer erkennt. Das Modul lässt sich in weiten Teilen auch auf ein passendes Modul zurückgreifen. frei konfigurieren und ist Emacs-typisch in den Dessen Funktionsumfang ist mit dem Eclipse- häufig fremde Perl-Programme umarbei- Editor integriert. So lässt sich analog zu Vim Plugin vergleichbar. Die aktuelle Version 1.112 tet, wird dies schätzen. Auch der Perl- auch Emacs in eine umfangreiche Entwick- stammt vom 2.11.2015 und steht unter der Debugger ist bestens integriert und in- lungsumgebung verwandeln. Apache-Lizenz 2.0 zum Download bereit [22]. nerhalb einer eigenen View einfach zu Der Editor Kephra [20] richtet sich wie Padre Ein Blick in den Bugtracker zeigt, dass die Pro- bedienen. Die Kommunikation mit den gezielt an Perl-Programmierer. Obwohl Ent- grammierer das Plugin regelmäßig warten und Entwicklern, die den Code laufend pfle- wickler seit einigen Jahren mit durchaus gro- Weiterentwicklungen der IDE in das Perl-Plugin gen, klappt via E-Mail, Mailingliste und ßem Enthusiasmus an ihm arbeiten, hat er den einfließen lassen. innerhalb eines Forums ausgezeichnet. 01/2016 Software Die Dokumentation ist übersichtlich ge- 4.5.0 gelang im Test problemlos, sie ließ grad, um die verschiedenen Bedürfnisse staltet und nicht durch Details überfrach- sich zudem flüssiger bedienen als die aus eines Perl-Programmierers möglichst um- tet. Neben dem eigentlichen Programm- Ubuntus Standard-Repository. fassend abzudecken. (kki) n code pflegen die Epic-Macher auch die

Bitparade Dokumentation sorgfältig. Resümee Die Anwendung ist jedoch sehr gewöh­ Infos nungsbedürftig, da das häufige Umschal- Wer sich oft mit komplexen Perl-Pro- [1] Perl: [https://​­www.​­perl.​­org] 44 ten in den Views für Verwirrung sorgen grammen beschäftigen und neu vorlie- [2] CPAN: [http://​­www.​­cpan.​­org] kann. Anfänger müssen mit einem gewis- genden Code rasch überblicken möchte, [3] »perl ‑support.vim«: [http://​­www.​­vim.​­org/​ sen Aufwand beim Einarbeiten rechnen, dem hilft eine IDE in der Tat. Ob er dabei ­scripts/​­script.​­php?​­script_id=556] bis sie sich gut zurechtfinden. Wer auf auf den geliebten Editor der Wahl setzt, [4] Padre: [http://​­padre.​­perlide.​­org] [5] Epic: [http://​­www.​­epic‑ide.​­org] www.linux-magazin.de die Performance eines Editors setzt oder ihn über Plugins schrittweise zu einer gar auf dem Arbeiten in einem Termi- IDE umbaut oder gleich zu einer ausge- [6] Perltidy: [http://​perltidy.sourceforge.net] nal besteht, wird sich beim Umgang mit reiften wie Eclipse mit Epic-Plugin greift, [7] Perlcritic: [http://​­perlcritic.com] Eclipse umstellen müssen. mag Geschmackssache sein. [8] Refactoring: [https://​­de.​­wikipedia.​­org/​ Auf einem durchschnittlichen Arbeits- Dass die unterschiedlichsten Zugangs- ­wiki/​­Refactoring] platzrechner zeigten sich keine Engpässe weisen nebeneinander existieren können, [9] Constructive Cost Model: oder andere Misslichkeiten, die auf nicht zeigt auch der Umstand, dass für die Edi- [https://​­de.​­wikipedia.​­org/​­wiki/​­COCOMO] ausreichende Ressourcen zurückgehen. torfunktionen von Eclipse ein Vim-Plugin [10] Padre-Plugins: [http://​­padre.​­perlide.​­org/​ Die Qualität der Ubuntu-Pakete scheint existiert. Jene, die mit dem Ausbau des ­trac/​­wiki/​­Plugins] aber nicht die beste zu sein, viele In- Editors hin zu einer IDE stranden, dürf- [11] Padre-Wiki: stallationen der Originalpakete führten ten sich hier ein wenig aufgehobener [http://​­padre.​­perlide.​­org/​­trac/​­wiki] zu diversen Fehlern. Alternativ lässt sich fühlen. Anwendungen wie Padre stehen [12] Padre IRC-Log: das Ecplise-SDK unter [23] herunterla- zwischen diesen beiden Ansätzen, zeigen [http://​­irclog.​­perlgeek.​­de/​­padre/] den, für das unterschiedlichste Builds im Arbeitsalltag jedoch weder die hohe [13] Eclipse: [https://​­eclipse.​­org] existieren. Die Installation der Version Flexibilität noch den notwendigen Reife- [14] Equinox: [http://​­www.​­eclipse.​­org/​­equinox] Tabelle 1: Featurevergleich [15] Eclipse und RCP: [http://​­www.​ Feature Perl-Support (Vim) Padre Epic (Eclipse) ­eclipse.​­org/​­downloads/​­packages/​ Multiplattform-Support + + + ­eclipse‑rcp‑and‑rap‑developers/​ Syntax Highligthing + + + ­keplersr2] [16] Jens-Christoph Brendel, „Licht ins Dun- Syntaxprüfung - + + kel“: Linux-Magazin 09/15, S.36 Refactoring - - + [17] Sprachunterstützung für Eclipse 4.5: Code Completion nachrüstbar + + [http://​­download.​­eclipse.​­org/​­technology/​ Code Folding + + + ­babel/​­update‑site/​­R0.​­13.​­0/​­mars] Coding-Support + - - [18] Devel::Refactor: Auto-Einschübe + + + [http://​­search.​­cpan.​­org/​­~ssotka/​ Lesezeichen - + + ­Devel‑Refactor‑0.​­05/​­Refactor.​­pm] Code Snippets + + + [19] C-Perl-Mode: [http://​­www.​­emacswiki.​­org/​ Kontextsensitive Hilfefunktion - + + ­emacs/​­CPerlMode] Patch/Diff-Integration​ + + + [20] Kephra: [http://​­kephra.sourceforge.​­ ​­net] Versionierung nachrüstbar + + [21] Intellij Idea: Multilinguales Userinterface - + + [https://​­www.​­jetbrains.​­com/​­idea/] Functions and Outline nachrüstbar + + [22] Perl-Plugin für Intellij Idea: [https://​ Debugging nachrüstbar + + ­plugins.​­jetbrains.​­com/​­plugin/​­7796] Perl::Critic + + + [23] Eclipse-SDK: [http://​­download.​­eclipse.​ Perl::Tidy + + + ­org/​­eclipse/​­downloads/​­drops4/ Perldoc-Support + + + R‑4.​­5‑201506032000/​­#​­EclipseSDK] Projektbrowser nachrüstbar + + Regex-Editor + + + Der Autor Remote-Editing + + + Dr. Harald Jele ist Mitarbei- Quellcode-Navigation - + + ter an der Universität Kla- To-do-Listen - + + genfurt. Mit Perl beschäftigt er sich seit 1993 und ist stets Anpassbare Zeilenumbrüche + + + überrascht, in welchen Kon- Dokumentation + + + texten er darauf stößt.