Skip to content

Kein Linkdump 34/2017 wegen Swiss Perl Workshop 2017 ...

perl Für heute muss ich Euch leider enttäuschen, ich habe keinen Linkdump vorbereiten können.

Gerade jetzt bin ich in Villars-sur-Ollons und freue mich darauf, dass der Swiss Perl Workshop 2017 in einigen Stunden startet.

Lee, Roman und ich haben in den letzten Wochen und Monaten diesen Workshop vorbereitet und Sponsoren gesucht (und glücklicherweise auch gefunden). Wir freuen uns sehr, dass Damian Conway bei uns ist und einige Vorträge hält.

Die Location - Hotel du Golf - ist super und mit sehr viel Ausblick :-)

Interessanterweise bin ich das erste Mal in der Welschschweiz, obwohl ich jetzt schon fast zehn Jahre in der Eidgenossenschaft lebe.

Perl 6 rechnet anders ...

perl Die Kommentare des Artikels Rechnen mit Python kann man vermutlich nur mit einer gehörigen Ladung Popcorn ertragen, vor allem der Teil, dass der Computer bestimmt, was mathematisch korrekt ist, hat Unterhaltungswert.

Damals habe ich schon angemerkt, dass Computer auch mit geschickteren Algorithmen rechnen könnten, um möglichst genau zu sein. Die Variante, die Perl 6 umsetzt, ist allerdings so einfach wie brillant. Werte mit Nachkommastellen werden einfach intern als Brüche (rationale Zahlen) gespeichert und so ist 90% des Rechnens einfache Bruchrechnung und damit genauer (und sogar korrekt) als das Rechnen mit Fliesskommazahlen. Allerdings ist das natürlich langsamer, daher kann man auch explizit festlegen, dass man Fliesskommaarithmetik möchte.

Das Beispiel aus dem verlinkten Artikel:
> 1100-1036.04
63.96


Gucken wir uns einmal die Datentypen an:
> say 1100.WHAT
(Int)
> say 1036.04.WHAT
(Rat)
> say (1100-1036.04).WHAT
(Rat)


Brüche haben einen Zähler und einen Nenner (Perl 6 kürzt automatisch):
> say 63.96.numerator
1599
> say 63.96.denominator
25
> say 63.96.nude
(1599 25)


Das ist alles nicht so wahnsinnig spannend. Wer allerdings programmiert, weiss, dass so etwas normalerweise als ungleich ausgegeben wird.
> my $a=1/6
0.166667
> my $b=1/3
0.333333
> if (4 * $a + $b == 1) {say "Ist gleich"} else {say "Ist ungleich"}
Ist gleich



Fliesskomma geht auch, aber hier wird für die Darstellung gerundet.
> say 1100e0-1036.04e0
63.96
> say (1100e0-1036.04e0).WHAT
(Num)

Perl 6 installieren ...

perl Da es noch kein Release von Perl 6 gibt, ist eine Installation via GitHub mit den Skripten von Tadeusz Sośnierz die schnellste Variante.

Tadeusz schlägt vor die Installation ins Verzeichnis ~/.rakudobrew zu packen, das gefällt mir nicht so gut.

mkdir ~/workspace
cd workspace
git clone https://github.com/tadzik/rakudobrew.git rakudobrew.git
cd rakudobrew.git
export PATH=~/workspace/rakudobrew.git/bin:${PATH}


Das export PATH=... würde ich auch gleich in die ~/.bashrc packen.

Mit dem folgenden Kommando wird ein Perl 6 gebaut, das dauert ein paar Minuten funktioniert aber zuverlässig.

rakudobrew build moar


Der neue Paketmanager von Perl 6 heisst Panda, diesen würde ich im nächsten Schritt gleich mitinstallieren.

rakudobrew build-panda


Da Perl 6 einen interaktiven Interpreter enthält, der aber noch nicht in der Historie "blättern" kann, kommt noch linenoise dazu. Ich möchte Euch bitten vor dem Schritt einmal perl6 aufzurufen, um zu sehen, wie schnell der Interpreter startet.

Nach der Installation von linenoise braucht der Interpreter deutlich länger, da muss sich noch etwas tun.

panda install linenoise


Und jetzt: Viel Spass mit Perl 6.

Swiss Perl Workshop Reprise ...

perl Zeit für eine kleine Zusammenfassung des Swiss Perl Workshops dieses Jahr.

Der Workshop ist jetzt schon über vier Wochen vorbei und er wirkt für mich immer noch nach. Ich habe viele nette Leute neu kennengelernt und alte Bekannte wieder getroffen. Interessant war es, einmal die Berühmtheiten aus der Perl-Szene zu sehen und mit Ihnen reden zu können.

Allen voran ist natürlich die "Legende" Larry Wall zu nennen - ja, es gibt ihn wirklich, aber auch die Core-Developer von Perl 6 wie Jonathan Worthington (DER Core-Entwickler und Macher von hervorragenden Tutorials), Will "Coke" Coleda (hat Larry Eure Fragen gestellt), Paul Cochrane (promovierter Physiker, Erfinder des Warp-Drives), Stefan Seifert, Vende Thiel, Sue Spence, Carl Mäsak, Elizabeth Mattijsen, Tadeusz Sośnierz (Installskript für Perl 6 aus den Quellen), Tobias Leich, Timo Paulssen, Wendy van Dijk und viele andere mehr, die man über die Suche finden kann (Suchfelder leer lassen, um alle zu finden).

Dank der vielen Sponsoren konnten wir die Reise- und Hotelkosten einiger Core-Entwickler übernehmen. DANKE!

Matthias (der leider nächstes Jahr nicht mehr dabei ist), Roman und ich haben den Workshop organisiert, wobei Matthias den Löwenanteil an IRC-Kommunikation getragen hat, da er tagsüber die Möglichkeit hatte, mitzulesen und zu schreiben.

Das Programm war sehr vielfältig und interessant, allerdings habe ich leider nur zwei Teile wirklich komplett wahrnehmen können, zum Einen das Interview von Larry Wall mit Will Coleda und zum Anderen den ersten Teil des Perl 6 Workshops von Jonathan Worthington.

Dass die ganze Veranstaltung ein so grosser Erfolg war, liegt ganz besonders auch daran, dass wir mit Daniela, Anja mit Ronja und Christoph ein hervorragend gutes und motiviertes Küchenteam hatten, die für uns gekocht (und gespült) haben. Danke!

Perl ...

perl In den kommenden Tagen werde ich ein paar Artikel zu Perl und insbesondere auch zu Perl 6 veröffentlichen. Um aufkommenden Diskussionen vorzubeugen, muss ich hier einmal betonen, dass Perl aufgrund von schlechtem Marketing und einer viel zu frühen Ankündigung von Perl 6 sehr viel an Boden verloren hat und meiner Meinung nach diesen auch nicht mehr aufholen wird.

Die Rolle der Programmiersprache bzw. Skriptsprache, die überall installiert ist, hat zum Einen die immer stärker werdende Bash und zum Anderen Python übernommen. Tatsächlich finde ich auch, dass Python eine sehr "schöne" Programmiersprache ist (an dieser Stelle sei erwähnt, dass ich eher Skripter als Programmierer bin).

Ja, Ruby spielt auch noch eine Rolle, aber meiner Meinung nach eher oder stärker bei Webanwendungen als in der Systemadministration (meinem Arbeitsfeld). Ausnahmen wie Puppet bestätigen die Regel.

Bei grösseren Anwendungen könnte Perl 6 tatsächlich auch wieder eine Rolle spielen. Warum ich das vermute, werde ich vielleicht in den folgenden Artikeln darlegen können.

Ein grosses und nicht zu unterschätzendes Plus von Perl ist allerdings die internationale Perl-Community, die einfach nur grossartig ist und die uns Events wie den Swiss Perl Workshop 2015 mit Perl 6 Hackathon durchführen lässt und Gäste aus der ganzen Welt anzieht. Die Community bewegt mich auch dazu, mich weiter für Perl einzusetzen und eine Rolle im Perl-Verein Schweiz zu übernehmen.

Durch die grossartigen Sponsoren, die auch zu einer gut funktionierenden Community gehören, konnten wir die Reisekosten der Perl 6 Core Entwickler übernehmen und hatten so unter anderem auch Larry Wall zu Gast. Zum diesjährigen Swiss Perl Workshop wird es auch einen Artikel geben.

Ich muss gestehen, dass mir andere Communities neben denen von Fedora, Ubuntu und Perl gar nicht auffallen, was aber auch an meinem begrenzten Blickfeld liegt. Wenn Ihr das anders sehr, bin ich für Kommentare hier sehr dankbar.

Larry Wall und Will "Coke" Coleda über Perl6 ...

Larry Wall hat sich den Fragen der Community zu Perl6 gestellt, Roman hat das alles zusammengebaut (Danke!).

Ich möchte an dieser Stelle auch noch einmal auf unsere Sponsoren hinweisen, ohne die der Swiss Perl Workshop 2015 und Perl 6 Hackathon nicht möglich gewesen werde (sie werden im Abspann erwähnt).