Functional Programming
Auch bekannt unter:
- Funktionale Programmierung
Wikipedia
Functional Programming Functional Programming ist ein Programmierparadigma, bei dem Software durch die Verwendung von reinen Funktionen entwickelt wird und Daten "immutable" sind. ist ein Programmierparadigma, bei dem Software durch die Verwendung von reinen Funktionen (engl. "pure functions") entwickelt wird. Eine reine Funktion liefert bei den gleichen Eingabeparametern immer das gleiche Ergebnis und Nebenwirkungen (engl. "Side Effects") werden vermieden. Funktionen in funktionalen Programmiersprachen werden als "Objekte erster Klasse" behandelt, das heißt, dass Funktionen beispielsweise selbst als Funktionsparameter, Funktionsergebnisse oder Variablen verwendet werden können. Funktionen, die selber Funktionen als Eingabeparameter erhalten, nennt man Funktionen höherer Ordnung.
Im Gegensatz zur objektorientierten Programmierung können Daten nach der Erzeugung nicht mehr verändert werden. Will man beispielsweise aus einer Liste jedes zweite Element streichen, ist dies nur insofern möglich, indem man eine neue Liste erzeugt bei der jedes zweite Element fehlt. Die alte Liste wird dabei nicht angetastet. Dieses Prinzip der "Immutability" vermeidet störende Nebeneffekte und vermindert die Fehleranfälligkeit bei wachesenden und komplexen Softwareprojekten.
Einige der bekannten funktionalen Programmiersprachen sind Common Lisp, Clojure, Erlang, Elixir Elixir ist eine dynamische, funktionale und nebenläufige Programmiersprache, die auf der Programmiersprache Erlang aufbaut., Haskell und F#. Viele Multi-Paradigmen Programmiersprachen erlauben es mittlerweile neben einem objektorientiertem oder imperativen Programmierstil auch einen funktionalen zu verwenden.