Funktionale Programmierung soll so viel ausdrucksstärker sein, aber leider ist dieses Programmierparadigma nicht ganz kompatibel zur imperativen Denkweise von uns Java-Entwicklern. Anhand eines kleinen Algorithmus werden wir verschiedene Lösungen zunächst im klassischem Java (vor 8) und als Vergleich dazu in diversen alternativen JVM-Sprachen diskutieren. Das Ziel ist eine klare Struktur, der Code soll les- und wartbar sein. Mit den gewonnen Erkenntnissen wollen wir dann Java 8 unter Verwendung von Streams, Lambda-Ausdrücken und zusätzlichen funktionalen Bibliotheken (Javaslang) auf den Zahn fühlen, so dass jeder Zuhörer die Grundideen der funktionalen Programmierung mit in seine tägliche Arbeit nehmen kann.