|
Allgemeine Überlegungen und Resourcen zur Programmiersprache Perl sowie Perl-Bausteine (Module, Pakete) im Hause A2E.de |
|
1 Was ist Perl?Perl ist eine besonders im Web verbreitete Programmiersprache, die, wie viele andere neuere Sprachen, im Hinblick auf Abstraktionsfähigkeit noch immer nicht dem 40 Jahre früher entstandenen LISP das Wasser reichen kann, aber insgesamt einen sehr praxistauglichen Kompromiss verschiedener Anforderungen darstellt und durch die Aktivitäten einer großen Gemeinde ein sehr reichhaltiges Repertoire fertiger Lösungen bietet, auf denen man aufbauen kann. Ursprüngliche war “Perl” ein Akronym für “Practical Extracting and Reporting Language”. Das beschreibt noch immer die Stärken von Perl ebenso wie die Gedanken seines Schöpfers Larry Wall. Wall ist ein Linguist, der gerne und gut über die Praktikabilität von Sprachen theoretisiert und sich bei der Schaffung von Perl von “natürlichen” Sprachen inspirieren ließ. Die Perl-Gemeinde übt sich auch gerne darin, Gedichte in Perl zu schreiben. Mehr zu Perl findet man über
Eine neuere Sprachen, mit denen wir bei a2e.de gerne arbeiten, ist Ruby. Ruby knüpft an Perl und vollzieht ein paar nützliche Schritte in Richtung Lisp. Dabei geht allerdings hier und da auch ein klein wenig Praktikabilität verloren. Eine ewige Kreislaufbewegung in der Entwicklung von Programmiersprachen, möchte man vermuten. Für uns bleibt mindestens so lange Perl das Standbein und Ruby das Spielbein, wie in Ruby wichtige Bibliotheken (etwa UTF-8-Unterstützung) unterentwickelt sind. Doch Perl6 könnte uns noch länger bei der Stange halten. Darüber hinaus arbeiten wir auch mit PHP und verschiedenen weiteren Sprachen (z.B. scsh, bash), wenn das für den jeweiligen Zweck günstig ist. Wir haben eine Menge Perl-Pakete für Opensuse verpackt und warten diese Pakete seit Version 10.3 immer weiter. Unsere eigenen Bibliotheken dienen der Erzeugung von Multilingualem Hypertext. Die meisten von ihnen sind somit recht anwendungsspezifisch und nicht für CPAN-Distribution geeignet. Den Parser A2E::Sarb und seine Konkretisierung für eine Makefile-artige Sprache A2E::SArb::Make könnten wir allerdings vielleicht mal in CPAn eispeisen. 2 Lokale Konventionen2.1 a2e_perl_ebnf: lokal erweiterte Backus-Naur-FormDie Backus-Naur-Form hilft beim Erklären von Begriffen, aber in ihrer Reinform, auch der “erweiterten”, ist sie unpraktisch (umständlich zu schreiben und schwer zu lesen). Wir nehmen uns daher die Freiheit, sie mit einigen anwendungsnäheren (meist der Sprache Perl entlehnten) Begriffen anzureichern, die sich nicht unbedingt auf EBNF reduzieren lassen. Es folgt ein Beispiel aus A2E::Dokfs:
3 Aufgaben- 4 Unterlagen
5 Chronik
|
|