Das wird heiß

Makarius

Vierter großer Haskell-Workshop des Curry Clubs Augsburg am 21. Januar 2017

Gepostet am 3. Jan 17 von Ingo Blechschmidt

Liebe Freundinnen der Sonne!

Wir, der Curry Club Augsburg, laden alle Interessierten herzlich zu der Fortsetzung unseres Haskell-Workshops ein. Diese findet am 21. Januar 2017, einem Samstag, von 9:00 Uhr bis 17:00 Uhr im OpenLab Augsburg statt. Wie bei den vorherigen Malen ist die Teilnahme kostenlos.

Zielgruppe des Workshops sind alle Teilnehmerinnen der ersten drei Workshops. Etwas genauer: Man sollte in der Lage sein, ein Haskell-Programm zu schreiben, dass die Anzahl Blätter eines binären Baums zählt. Diese Aufgabe darf ruhig ein wenig dauern! Der Workshop richtet sich an alle, die keine Neulinge mehr sind; Expertin muss man aber noch lange nicht sein. Ganz besonders möchten wir die Teilnehmenden des dritten Workshops vom 17. Dezember 2016 ermuntern, an diesem Folgeworkshop teilzunehmen.

Wichtigster Programmpunkt beim Folgeworkshop sind Monaden (griechisch für “putzige flauschige Dinge”). Damit könnt ihr Ein- und Ausgabe betreiben, den Programmfluss pervers verbiegen, veränderliche Variablen bedienen (wenn es unbedingt sein muss), Dateiformate parsen, Logikrätsel lösen und Spiele programmieren. Außerdem werden wir über QuickCheck sprechen, einer sehr beliebten Möglichkeit, um die paar Programmierfehler, die das Typsystem nicht findet, zu fangen.

Damit wir unsere Kapazität überblicken können, ist zur Teilnahme eine verpflichtende aber unverbindliche vorherige Anmeldung nötig.

Wir freuen uns auf euch!

Euer Team vom Curry Club

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.