Funktionale Programmierung in C++: Ein moderner Ansatz
Funktionale Programmierung in C++: Ein moderner Ansatz
Zusammenfassung:
Das Buch „Funktionale Programmierung in C++“ ist ein praktischer Leitfaden für Entwickler, die über den imperativen Stil hinausgehen und die Paradigmen der funktionalen Programmierung (FP) im Kontext des modernen C++ erlernen möchten. Der Autor, Alexey Vetrov, ein Senior-Entwickler mit langjähriger Erfahrung, erläutert die Konzepte der FP Schritt für Schritt und passt sie an die Möglichkeiten von C++17 und C++20 an.
Für wen ist dieses Buch?
- Praktizierende C++-Entwickler, die vorhersagbareren und leicht testbaren Code schreiben möchten.
- Programmierer, die mit den Grundlagen von C++ vertraut sind, aber funktionale Ansätze (Lambdas, Monaden, algebraische Datentypen) erlernen möchten.
- Studenten und Dozenten, die moderne Programmiermethoden studieren.
Was werden Sie aus dem Buch lernen?
- Grundlagen der FP in C++: reine Funktionen, Unveränderlichkeit, keine Seiteneffekte, Arbeit mit unveränderlichen Datenstrukturen.
- Lambda-Ausdrücke und Funktionsobjekte: wie man Closures, Variablen-Capture und die Übergabe von Funktionen als Argumente effektiv nutzt.
- Funktionskomposition und Currying: Aufbau komplexer Logik aus einfachen Bausteinen mit std::function und Templates.
- Monaden und Funktoren: Implementierung von Maybe (std::optional), Either und IO-Monaden in C++ für sichere Fehlerbehandlung und reine Ein-/Ausgabe.
- Algebraische Datentypen: Visitor-Pattern, std::variant, rekursive Typen und Pattern Matching.
- FP-Muster: Memoisation, faule Berechnungen, monadische Ketten und Datenstromverarbeitung (ranges).
- Integration mit der STL: Verwendung von std::transform, std::accumulate, std::optional und std::expected im funktionalen Stil.
Warum sollten Sie dieses Buch lesen?
Funktionale Programmierung macht Code deklarativer, reduziert die Anzahl zustandsbedingter Fehler und vereinfacht die parallele Ausführung. Das Buch enthält zahlreiche Beispiele, von einfachen (Sortieren mit Lambdas) bis hin zu fortgeschrittenen (Aufbau eines Parsers mit Monaden). Alle Beispiele wurden mit den Compilern GCC und Clang mit den Flags C++17/20 getestet.
Über den Autor: Alexey Vetrov ist Autor technischer Artikel über C++ und funktionale Programmierung, Teilnehmer der Konferenzen C++ Russia und Meeting C++. In diesem Buch teilt er seine praktischen Erfahrungen mit der Einführung von FP in kommerziellen Projekten.
Das Buch ist für alle nützlich, die ihr C++-Können verbessern und lernen möchten, eleganten, sicheren und leicht wartbaren Code zu schreiben.
Empfehlungen
Funktionale Programmierung in C# (.NET)
Testen von C++-Anwendungen: Von Modultests bis zur Integrationsabdeckung
Rust und Microservices: Erstellung fehlertoleranter verteilter Systeme
Refactoring JavaScript. Schlechten Code in guten verwandeln
Cloud Native Go: Entwicklung von Cloud-Anwendungen und Microservices mit Go
Test-Driven Development mit Kotlin