Pure FP: die letzte Meile

Details
Nachdem funktionaler Programmierung über Jahrzehnte der Ruf einer
akademischen Spielerei aus dem Elfenbeinturm anhing, hat sich der Wind
in den letzten Jahren gedreht. Funktionale Einflüsse verbreiten sich
immer weiter, zunächst in Scriptsprachen wie JavaScript oder Ruby,
später auch in Mainstream-Sprachen wie C# und heute verfügt selbst C++
über Lambda-Ausdrücke. Und das aus guten Gründen: funktionaler Code
ist meist kürzer, leichter zu verstehen und einfacher zu warten als
imperativer oder objektorientierter Code.
In real existierenden Projekten wird hierbei jedoch nahezu immer auf
eine Mischung verschiedener Stile gesetzt: man erstellt eine Liste
unveränderlicher Objekte, transformiert und filtert diese mit puren
Funktionen – nur um dann ganz „un-funktional“ mittels einer
for-Schleife (imperativ!) und println (Seiteneffekte!) auf der Konsole
auszugeben. Die Gründe sind unschwer zu erkennen: funktionale
Programmierung, also die Programmierung ausschließlich mit totalen,
referentiell transparenten Funktionen scheint einfach nicht
praktikabel. Wie soll ein Programm jemals etwas nützliches tun, wenn
Seiteneffekte nicht erlaubt sind? Wie soll man sinnvoll Fehler
behandeln, wenn man keine Exceptions werfen darf?
In diesem Meetup geht es darum, wie man diese Probleme löst, ohne die
funktionale Programmierung über Bord zu werfen – und warum das alles
nicht nur möglich, sondern auch äußerst praktisch ist.
Agenda
19:00 - 19:30 Zusammenkommen, Essen, Trinken, Quatschen
19:30 - 20:30 Vortrag von Matthias Berndt, Daniel Beck und Hendrik Guhlich
20:30 - 21:00 Quatschen und Bier trinken

Pure FP: die letzte Meile