c't 23/2017
S. 174
Know-how
Kotlin: Funktionale Programmierung
Aufmacherbild

() -> Unit = { }

Die neue Programmiersprache für Java und mehr, Teil 3: Funktionale Programmierung

Kotlin ist von Anfang an als Hybridsprache entwickelt worden: Sie ist sowohl objektorientiert als auch funktional. Das kommt dem Entwickler sehr entgegen, denn funktionale Programmierung ist in vielerlei Hinsicht eine perfekte Ergänzung zum objektorientierten Programmierstil.

Funktionale Programmierung gibt es mit Lisp schon seit 1958. In den letzten Jahren ist das Interesse daran stark gestiegen. Technischer Ballast wie Hilfslisten und for-Schleifen sind in den genutzten Funktionen verborgen. Als Entwickler muss man viele Dinge nicht neu erfinden, nicht testen und kann auch keine Fehler bei ihrer Implementierung machen. Nicht zuletzt ist funktionaler Code oft besser lesbar als imperativer.

Um beispielsweise gerade Zahlen aus einer Liste zu filtern, müsste man bei imperativer Programmierung zunächst eine leere Ergebnisliste anlegen, in einer for-Schleife die Ausgangsliste durchlaufen, jedes enthaltene Element mit if prüfen und im Erfolgsfall in die Ergebnisliste setzen: