[Thread Prev][Thread Next]   >Date Index >Thread Index

Erste Schritte mit Perl 6...

Harald Joerg - Mon Feb 14 11:12:30 2011

Als ob ich nicht schon genug zu tun hÃtte, bilde ich mir auch noch ein,
mir mal Perl 6 nÃher zu GemÃte zu fÃhren.

Also habe ich mir mal die Januar-Distribution von Rakudo * besorgt und
meine ersten Dreizeiler erstellt.

Ich weià immer noch nicht, ob ich Perl 6 lieben oder hassen soll.
Vermutlich beides.  Es ist genial, und es ist anders.  Ich weià nicht,
ob es so anders hat werden mÃssen, um so genial zu sein.  In manchen
Dingen hat es sich an Java etc. angenÃhert (class, Signaturen von
Methoden, ...), das ist gut fÃr Leute wie mich, die auch mal fÃr anderes
bezahlt werden.  In manchen Dingen hat sich Perl 6 wieder davon
entfernt, und der Sonderzeichen-Zoo umfasst inzwischen Dinge, die gar
nicht auf meiner Tastatur zu finden sind.  Jetzt, wo alle mÃglichen
Programmiersprachen PCRE (Perl Compatible Regular Expressions)
draufhaben, macht Perl 6 wieder was fundamental anderes.  Ich bin ja
neugierig, ob jemals ein P6CRE fÃr Java auftaucht, aber $/ ist ein
tolles Ding.

Ich zweifle nicht am "Make hard things possible", aber mir fehlt noch
das "make easy things easy".

Am spannendsten ist fÃr mich immer noch die Suche nach brauchbarer
Dokumentation.  Die in der Distribution enthaltene PDF-Datei ist ja
schon mal ein Start, aber zum Thema "Module" steht schon mal nix drin.
Date scheint ja ein eingebauter Datentyp zu sein - aber was kann der?
Sowas wie %INC habe ich vergeblich gesucht, aber inzwischen gelernt,
dass ich, wenn Ãberhaupt, nach %*INC suchen hÃtte mÃssen: Weil es eine
globale Variable ist, bekommt es einen '*'.

Es gibt ein paar unfertige Tutorials und unvollstÃndige
Perl6-EinfÃhrungen fÃr Perl5-Programmierer, da finde ich die Fragen,
Ãber die ich stolpere, selten beantwortet.  Die gehen meistens von
extrem einfachen Beispielen zu total verschwurbelten, ohne eine
"Zwischenstufe".

Wahrscheinlich ist Perl 5 ja wirklich so individuell, dass jeder seine
eigenen Mantras entwickelt.  FÃr ein paar Idiome, die ich in Perl 5 sehr
oft verwende, habe ich lange gesucht, bis ich das Perl 6-Ãquivalent
rausgefunden habe.  Ein Beispiel:

    my ($key,$value) = $line =~ /(\w+)\s*=\s*(.*)/;

Sobald Programme lÃnger als drei Zeilen werden, tun sich allerdings noch
groÃe LÃcken auf:

   * Wo ist mein CPAN? Die Modul-Auswahl fÃr Perl 6 ist bescheiden, und
     die Installation fÃr Rakudo * mir leider Ãberhaupt nicht klar.

   * Wo ist mein cperl-mode?  Steffen Schwigon hat einen Versuch
     unternommen, den cperl-mode mit Perl 6 zu verzieren, aber das
     Syntax-Highlighting zerbrÃselt bei allen mÃglichen Konstruktionen.
     Ich habe noch nicht mal bei allen Zeilen rausgefunden, *warum*.

   * Es ist wirklich schnarchlangsam.  Ok, das ist zu erwarten, weil
     absichtlich noch gar nichts optimiert wird, aber ein paar Minuten
     auf das Parsen von 2000 Zeilen zu warten, widerspricht meiner
     Ungeduld.  Gibt aber andererseits Zeit, in der Doc zu schmÃkern.

   * Umschreiben von Perl 5 auf Perl 6?  Vergesst es.  Bei einem
     20-Statements-Programm musste ich 17 Zeilen Ãndern.

   * Ach ja, Padre habe ich auch mal versucht.  Auch der hat ein Perl 6
     Plugin.  Vielleicht bin ich nur zu doof, aber ich bin klÃglich
     daran gescheitert, dem Padre PBP-konforme EinrÃck-Regeln
     etc. beizubringen, drum habe ich den erstmal wieder in die Ecke
     gelegt.

-- 
Cheers,
haj


Next: