Workshop: Funktionale Programmierung
Funktionale Programmierung ermöglicht schöne, leistungsfähige und sichere Programme. Funktionale Features verbreiten sich auch immer mehr in nicht-rein-funktionalen Programmiersprachen. Auch, wenn man funktionale Programmiersprachen nicht regelmäßig nutzt, lohnt es sich, über den Tellerrand zu schauen und diesen zur imperativen Programmierung gegensätzlichen Ansatz einmal anzuschauen. Außerdem gibt funktionale Programmierung einen greifbaren Ansatz, um viele Konzepte aus theoretischer Informatik und Mathematik besser zu verstehen.
Deswegen veranstalte ich einen Workshop zu Funktionaler Programmierung. Natürlich freiwillig, inoffiziell, unverbindlich und ohne Credit Points.
Zeit und Ort
Die Termine sind:
- 15.01.2021 um 14 Uhr c.t.
- 22.01.2021 um 14 Uhr c.t.
- 29.01.2021 um 14 Uhr c.t.
Aufbau und Inhalt
In drei Treffen wird es eine Einführung in die Grundlagen anhand der Programmiersprache Haskell geben.
Geplant ist, Inhalte zu erklären und vorzuführen, und euch dann die Möglichkeit zu geben, das ganze (ggf. in Kleingruppen) in der Praxis selbst auszuprobieren. Natürlich mit der Möglichkeit, Hilfe zu bekommen und Fragen zu stellen. Zwischen Erklärung/Vorführung und Ausprobieren werden wir hin- und herwechseln.
Wir werden in etwa folgende Themen in dieser Reihenfolge behandeln:
- Haskell (ghc & ghci) bedienen
- Werte definieren
- Erste Funktionen
- Was ist ein Typ?
- Erste Typen: Zahlen, Listen und Tupel
- Erste Logik: Pattern Matching
- Rekursion
- Einfache Ein- und Ausgabe
- Higher Order Functions
- Typklassen
- Eigene Typen & Typklassen erstellen
- Funktoren
- Monaden: IO und andere Seiteneffekte in Haskell
- Build-Tools, Frameworks & Libraries: “Richtige” Programme in Haskell
Wie weit wir wann kommen, wird sich zeigen, es soll niemand abgehängt werden und gerade online ist es für mich schwierig abzuschätzen, wie lang wir für was brauchen werden. Die Themen und die Reihenfolge sind auch nicht in Stein gemeißelt, je nachdem, was für Fragen gestellt werden und was die gerade Anwesenden interessiert.
Vorbereitung & Material
Mitbringen solltet ihr grundlegende Kenntnisse im Umgang mit dem Computer und einem Texteditor. Sonstige Vorkenntnisse sind nicht erforderlich, können aber auch nicht schaden.
Bitte installiert euch die Haskell Platform und einen zum Programmieren geeigneten Texteditor vor dem Workshop. Wichtig ist vor allem, dass ihr einen GHCI (interaktive Kommandozeile für Haskell) starten könnt.
Die Inhalte bauen auf dem Buch »Learn You a Haskell for Great Good!« auf. Es kann online gratis gelesen werden. Wenn ihr also vor oder während des Workshops Sachen nachschlagen oder angucken wollt, kann ich euch dieses Buch wärmstens empfehlen.