Das wird heiß

Makarius

Einladung zum großen Haskell-Workshop des Curry Clubs Augsburg am 25. Oktober 2015

Gepostet am 14. Okt 15 von Ingo Blechschmidt
Learn you a Haskell for great good

LearnYouAHaskell (CC BY-NC-SA)

Liebe Freundinnen und Freunde von verallgemeinertem abstrakten Nonsens!

Wir, der Curry Club Augsburg, laden alle Interessierten herzlich zu einem Haskell-Workshop für Neulinge ein. Dieser findet am 25. Oktober 2015, einem Sonntag, von 9:00 Uhr bis 17:00 Uhr im OpenLab Augsburg statt. Die Teilnahme ist kostenlos.

Haskell ist eine wunderschöne Sprache, in der man nicht das “wie” spezifiziert, sondern das “was”. Ein Haskell-Programm besteht – anders als bei allen gewöhnlichen Programmiersprachen – nicht aus einer Folge von Anweisungen, welche von oben nach unten ausgeführt (und nur durch Kontrollstrukturen oder Subroutinen aufgelockert) werden. Haskell-Code kann man fast beliebig in seiner Reihenfolge permutieren, ohne die Bedeutung zu verändern. Ein ausführlicher Werbetext steht unten.

Zielgruppe des Workshops sind in erster Linie völlige Haskell-Neulinge. Teilnahmevoraussetzung ist entweder Erfahrung mit einer beliebigen anderen Programmiersprache oder Vertrautheit mit mathematisch/abstraktem Denken. Wer Haskell schon etwas besser kennt, wird auch auf seine Kosten kommen: Dann gibt es parallel zum Hauptprogramm eine Einführung und Übungsaufgaben zur Standardbibliothek. Haskell-Profis sollten keinesfalls als Teilnehmende mitmachen, sondern lieber das Betreuendenteam verstärken.

Wer vorhat, am Workshop teilzunehmen, kann sich in ein Organisationspad eintragen und dann am 25. Oktober mit dem eigenen Laptop ins OpenLab kommen. Bitte vorab die Haskell Platform installieren, um auf dem Workshop Zeit zu sparen.

Wir freuen uns auf euch!

Euer Team vom Curry Club

Update: Die Übungsaufgaben vom Workshop sind online.

Was ist schneller als C++, prägnanter als Perl, regelmäßiger als Python, flexibler als Ruby, typisierter als C#, robuster als Java und hat absolut nichts mit PHP gemeinsam? Es ist Haskell!

Haskell ist eine moderne und innovative Programmiersprache, die sich von bekannten imperativen Sprachen in vielerlei Hinsicht deutlich unterscheidet: Ein Haskell-Programm besteht nicht etwa aus einer Abfolge von auszuführenden Anweisungen, sondern aus einer Ansammlung von Deklarationen, deren Reihenfolge keine Rolle spielt. Auch gibt es keine veränderlichen Variablen, und ausgewertet wird nur, was wirklich benötigt wird; unendliche Datenstrukturen sind möglich und sinnvoll.

Dieses Denkparadigma mag anfangs sehr ungewohnt sein, zieht jedoch eine Reihe von Vorteilen mit sich: Da es keine Nebenwirkungen wie beispielsweise globale Variablen gibt, kann man Code rein lokal verstehen. Damit wird es einfacher, modular Komponenten zusammenzubauen, sich Datenflüsse klarzumachen und Code auf seine Korrektheit hin zu überprüfen. Insbesondere vereinfacht sich die Programmierung mit Threads enorm.

Ferner ist Haskells starkes statisches Typsystem eine große Hilfe beim Programmieren und verhindert viel mehr Fehler schon während des Kompilierens, als man vielleicht aus anderen Sprachen gewohnt ist. Es gibt das Motto, dass, wenn Haskell-Code erst einmal erfolgreich durchkompiliere, er dann auch schon korrekt sei. Das ist sicherlich übertrieben, hat aber einen erstaunlich wahren Kern.

Beim Erlernen von Haskell lernt man viele neue Herangehensweisen kennen, die auch in anderen Sprachen nützlich sind; das ist einer der Hauptvorteile an Haskell, der auch dann noch relevant ist, wenn man aus verschiedenen Gründen im täglichen Leben nicht in Haskell programmieren möchte.