Systematische Entwicklung mit funktionaler Programmierung
Funktionale Programmierung bringt eine Reihe von Vorteilen gegenüber der traditionellen objektorientierten Entwicklung mit: kürzere und zuverlässige Programme, deklarative Programmierung, eingebettete domänenspezifischen Sprachen, einfache Ausnutzung von Parallelität. Der Workshop ist eine Turbo-Einführung in die funktionale Programmierung.
Dazu fangen wir im Workshop mit den Grundprinzipien des Programmierens an und arbeiten uns schnell zu fortgeschrittenen Techniken vor. Im Vordergrund stehen die systematische Konstruktion von korrekten Programmen und speziell die Datenmodellierung. Dies unterstützen funktionale Programmiersprachen besonders gut - der systematische Einsatz von Abstraktion führt uns dann automatisch zu Funktionen höherer Ordung und anderen FP-typischen Techniken. Wir formulieren außerdem allgemeingültige Eigenschaften von Programmen als Code und zeigen, wie daraus automatisch Tests mit hervorragenden Abdeckungseigenschaften werden.
Die erlernten Techniken können auf alle funktionalen Sprachen und - mit Abstrichen - auch auf konventionelle OO-Sprachen übertragen werden.
Für den Workshop wird die Programmierumgebung Racket benutzt. Teilnehmer, die den Workshop am eigenen Rechner mitverfolgen wollen, sollten sich Racket vor dem Workshop (kostenlos) herunterladen und installieren: