Funktionale Programmierung: So funktionieren Haskell und Co

Ob Programmieranfänger oder -profi: Ein Paradigmenwechsel verbessert die eigenen Fähigkeiten. Wir erklären das Prinzip der funktionalen Programmierung.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 52 Kommentare lesen
Professional,Development,Programmer,Cooperating,Meeting,And,Brainstorming,And,Programming,Website

(Bild: Elle Aon / Shutterstock.com)

Lesezeit: 21 Min.
Von
  • Tanja Dieckmann
Inhaltsverzeichnis

Die meisten Programmierer werden wohl in der Welt der Variablen sozialisiert: Sie weisen Variablen Werte zu, lesen diese aus und ändern sie. Dabei verwenden sie Kontrollstrukturen wie while- und for-Schleifen. Mit der Aufforderung, das alles wegzulassen, werden sich viele fühlen, als würden ihnen alle Mittel zur Problemlösung aus der Hand geschlagen. Aber auch wenn es sich für viele anfühlt, als würde man sie bitten, ab sofort nur noch Sätze ohne "e" zu sagen: Das geht und es geht gut.

Zugegeben, an die Spitze der beliebtesten Programmiersprachen schaffen es die klassischen Vertreter der funktionalen Programmierung Haskell und Lisp eher nicht. Trotzdem stößt man immer wieder auf die Empfehlung, sich doch mal das funktionale Programmieren vorzunehmen, weil es die eigenen Programmierfähigkeiten voranbringt und zu übersichtlichem Code führt. Dass funktionale Prinzipien zumindest auch eine sinnvolle Ergänzung sein können, sieht man auch daran, dass sich funktionale Elemente in einigen imperativen Programmiersprachen längst etabliert haben.

Wir wagen einen ersten Blick über den Tellerrand der imperativen Programmierung und zeigen, wie das funktionale Programmierparadigma in seinen Grundzügen funktioniert. Dabei schärfen wir auch den Blick für die Welt, die Sie schon kennen, und führen Eigenschaften der imperativen Programmierung vor Augen. Gerade im direkten Vergleich mit Altbekanntem werden Sie sehen, dass funktionale Programmierung den Geist in ganz andere Bahnen zwingt. Wir konzentrieren uns auf die wesentlichen Prinzipien und veranschaulichen diese an einzelnen Haskell-Code-Schnipseln.