Was ist also funktionale Programmierung?
Bei der funktionalen Programmierung dreht sich alles um die Trennung von Anliegen, was auch die objektorientierte Programmierung
tut, oder?
Es geht darum, unseren Code in separate Blöcke zu packen, damit in jedem Teil unseres Codes alles gut organisiert
ist.
Und jedes Teil ist nach Funktionalität sinnvoll organisiert.
Wenn wir also Trennung von Belangen sagen, meinen wir, dass jeder Teil das Selbst mit einer Sache beschäftigt, in der es gut
ist.
Wir erinnern uns in unserem Abschnitt über objektorientierte Programmierung daran, wie wir Klassen hatten,
um Attribute und Methoden von, sagen wir, einer Wizard-Klasse und einer Bogenschützen-Klasse aufzuteilen.
Und die funktionale Programmierung hat auch diese Idee, Anliegen zu trennen, aber sie trennt auch Daten und
Funktionen.
So sieht ein funktionaler Programmierer die Welt.
Anstatt Methoden und Attribute zu kombinieren, trennen wir sie, weil es sich um zwei verschiedene Dinge handelt.
Es gibt Daten und diese Daten werden interagiert und darauf reagiert.
Aber wir werden nicht beide Daten und Funktionen als ein Stück und ein Objekt kombinieren, wie wir es bei der objektorientierten Programmierung
gesehen haben.
Nun, es gibt keine richtige Definition dafür, was funktioniert und was nicht.
Aber im Allgemeinen legen funktionale Sprachen einen Schwerpunkt auf Einfachheit, wenn es um Daten und Funktionen geht,
da wir in den meisten funktionalen Programmierparadigmen diese Vorstellung von Klassen und Objekten nicht haben.
Stattdessen arbeiten Funktionen mit wohldefinierten Datenstrukturen wie Listen und Wörterbüchern, die wir gesehen
haben, anstatt diese Datenstruktur einem Objekt zuzuordnen.
Aber am Ende des Tages ist das Ziel eines funktionalen Programmierparadigmas dasselbe wie das eines objektorientierten
Paradigmas.
Es ist die Idee, unseren Code sauber und verständlich zu machen.
Einfach zu erweitern.
Das heißt, wir können unseren Code erweitern und ihn immer besser machen und andere kommen lassen, um unseren Code zu erweitern.
Es ist einfacher zu pflegen.
Es hält unseren Code trocken, damit wir uns nicht wiederholen, und hält unseren Code-Speicher effizient,
weil wir Informationen nicht überall speichern.
Wenn wir nun zur funktionalen Programmierung kommen, haben wir eine sehr wichtige Säule und anders als bei
der objektorientierten Programmierung, wo wir diese vier Säulen der Kapselung, Abstraktion, Vererbung und Polymorphie hatten, kommt
es bei der funktionalen Programmierung alles auf den Punkt zu diesem Konzept der reinen
Funktionen.
Und das werden wir in den nächsten Videos untersuchen.
Aber die Idee hier ist, dass es eine Trennung zwischen den Daten eines Programms und dem Verhalten eines Programms gibt.
Lassen Sie uns also mehr über reine Funktionen herausfinden.
Was meinen sie?
Was sind Sie?