Funktionale Programmierung verstehen - Konzepte und Entwurfsmuster für guten, wartbaren und eleganten Code

Taschenbuch
29,90 €
inkl. MwSt. zzgl. Versandkosten

Reduzierte Artikel in dieser Kategorie

Als Mängelexemplar1
3,99 € 29,70 €1

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 08.01.2024
Seiten 187
Format 17,5 x 1,2 x 23,0 cm
Großformatiges Paperback. Klappenbroschur
Gewicht 369 g
ISBN-10 3836298686
ISBN-13 9783836298681
Bestell-Nr 83629868A

Produktbeschreibung  

Möchten Sie sauberen, wartbaren und eleganten Code schreiben? Dann lernen Sie das Paradigma der funktionalen Programmierung kennen! Tauchen Sie in eine neue Denkweise ein und schreiben Sie eleganten Code auf die funktionale Art. Code, der sich in Ihren Anwendungen nutzen lässt, auch wenn Sie objektorientiert erstellt sind. Es kommt nicht darauf an, in welcher Programmiersprache Sie schreiben. Die meisten Codebeispiele in diesem Buch sind in leicht verständlichem Scala formuliert und außerdem in Python übersetzt. Der Autor geht außerdem auf sprachabhängige Aspekte ein und zeigt dazu auch Codebeispiele in Java, JavaScript und C#. Für Python-Liebhaber gibt es in der deutschen Ausgabe ein Special mit Python-Codebeispielen und zusätzlichen Tipps, um das Buch ganz im "Python-Modus" lesen zu können.



Aus dem Inhalt:



  • Die Denkweise kennenlernen

  • Ein paar einfache mathematische Grundlagen

  • Entwurfsmuster

  • Datenstrukturen

  • Unveränderlichkeit

  • Nebenläufigkeit

  • Kombination mit OOP

  • Besonderheiten verschiedener Programmiersprachen

  • Python-Special


Inhalt:



  Vorwort ... 9


  1.  Was ist funktionale Programmierung? ... 11


       1.1 ... Unveränderlichkeit ... 13

       1.2 ... Referenzielle Transparenz ... 16

       1.3 ... Funktionen höherer Ordnung ... 18

       1.4 ... Lazy Evaluation ... 19

       1.5 ... Funktionale Denkweise ... 21

       1.6 ... Die Vorteile der funktionalen Programmierung ... 22

       1.7 ... Fazit ... 26



  2.  Mathematische Grundlagen ... 27


       2.1 ... Mengenlehre ... 27

       2.2 ... Grundlagen der Informatik ... 32

       2.3 ... Fazit ... 34



  3.  Kategorientheorie und Entwurfsmuster ... 35


       3.1 ... Kategorientheorie und Funktionsmuster ... 37

       3.2 ... Funktionsmuster ... 51

       3.3 ... Fazit ... 60



  4.  Funktionale Datenstrukturen ... 61


       4.1 ... Die Option-Datenstruktur ... 62

       4.2 ... Die Try-Datenstruktur ... 67

       4.3 ... Die Either-Datenstruktur ... 68

       4.4 ... Funktionen höherer Ordnung ... 70

       4.5 ... Monaden und Scala-Abstraktionen ... 72

       4.6 ... Traditionelle Datenstrukturen ... 74

       4.7 ... Fazit ... 75



  5.  Unveränderlichkeit im Detail ... 77


       5.1 ... Veränderliche und unveränderliche Variablen ... 77

       5.2 ... Rekursion ... 78

       5.3 ... Endrekursion ... 86

       5.4 ... Weitere Beispiele für die Leistungsfähigkeit der fold-Funktion in Scala ... 91

       5.5 ... Verbindung zwischen 'fold' und Monoiden ... 92

       5.6 ... Vertiefende Informationen zu Funktionen höherer Ordnung ... 96

       5.7 ... Fazit ... 101



  6.  Nebenläufigkeit ... 103


       6.1 ... Streams ... 107

       6.2 ... Akka-Streams ... 108

       6.3 ... Weitere Informationen zu Streams ... 111

       6.4 ... FS2: funktionale Streams für Scala ... 112

       6.5 ... Fazit ... 114



  7.  Wie geht es weiter? ... 115


       7.1 ... Den reinen Weg einschlagen ... 115

       7.2 ... Fazit ... 128



  Anhang ... 129


       A ... Scala ... 129

       B ... Python-Special ... 151



  Index ... 183

Autorenporträt  
Mehr Angebote zum Thema