Junior — Middle
Können Sie die Grundlagen der Prinzipien und Ansätze der funktionalen Programmierung erklären?
sobes.tech KI
Antwort von AI
Funktionale Programmierung (FP) ist ein Programmierparadigma, das auf der Verwendung von Funktionen als Hauptbausteine basiert und die Änderung des Zustands sowie Nebenwirkungen vermeidet.
Wichtige Prinzipien und Ansätze der FP:
- Reine Funktionen: Eine Funktion liefert immer dasselbe Ergebnis bei gleichen Eingabedaten und ändert keinen externen Zustand.
- Unveränderlichkeit (Immutabilität): Daten ändern sich nach ihrer Erstellung nicht, stattdessen werden neue Kopien mit Änderungen erstellt.
- Funktionen höherer Ordnung: Funktionen, die andere Funktionen als Argumente akzeptieren oder zurückgeben.
- Rekursion statt Schleifen: Rekursion wird häufig verwendet, um Operationen zu wiederholen.
- Fehlen von Nebenwirkungen: Funktionen sollten externe Variablen, Dateien, Datenbanken usw. nicht verändern.
Beispiel in C++ (mit Lambda-Funktionen):
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// Funktion höherer Ordnung: Übergabe einer Lambda-Funktion an std::for_each
std::for_each(numbers.begin(), numbers.end(), [](int n) {
std::cout << n * 2 << " ";
});
return 0;
}
Hier ändern wir den ursprünglichen Vektor nicht, sondern wenden einfach eine Funktion auf jedes Element an, um es auszugeben, was den Prinzipien des funktionalen Ansatzes entspricht.