Was ist eine funktionale Programmiersprache? Wie unterscheidet sie sich von zwingenden Sprachen?
Funktionale Programmierung ist ein Programmierparadigma, in dem die Berechnung als Auswertung mathematischer Funktionen und wandelbarer Daten behandelt wird. Sie unterscheidet sich von der imperativen Programmierung, die auf Veränderungen des Zustands eines Programms und der Änderung von Daten beruht. Funktionale Sprachen wie Haskell, Lisp, Scheme und ML fördern die Unveränderlichkeit, keine Nebeneffekte, erstklassige und höherrangige Funktionen, Rekursion und deklarative Vorgehensweise. Inzwischen setzen imperative Sprachen wie C, C++, Java, Python auf eine Abfolge von Aussagen, die einen Programmzustand ändern und wie der Code Schritt für Schritt ausführen soll.