Bewertung:

Grokking Simplicity ist ein hervorragendes Buch, das eine umfassende Einführung in die Konzepte der funktionalen Programmierung bietet und komplexe Ideen in leicht verdauliche Teile zerlegt. Es wendet sich an Anfänger und bietet gleichzeitig wertvolle Einblicke für erfahrene Programmierer. Trotz einiger Kritikpunkte in Bezug auf die Verwendung von JavaScript und die Tiefe bestimmter Themen, finden viele Leser das Buch aufschlussreich und praktisch für die reale Softwareentwicklung.
Vorteile:⬤ Klare und prägnante Erklärungen von komplexen Konzepten.
⬤ Effektiver Lehrstil, der die Leser mitreißt.
⬤ Sowohl für Anfänger als auch für erfahrene Programmierer wertvoll, da es Einblicke bietet, die auf verschiedene Erfahrungsstufen anwendbar sind.
⬤ Gut strukturiert mit relevanten Beispielen und Illustrationen.
⬤ Praktische Anleitung zu Software-Design und funktionalem Denken.
⬤ Einige Leser kritisieren die Verwendung von JavaScript gegenüber funktionalen Programmiersprachen.
⬤ Die Wiederholung von Konzepten kann für fortgeschrittene Praktiker erschöpfend sein.
⬤ Einige kritisieren die veraltete oder suboptimale JavaScript-Syntax.
⬤ Kann für diejenigen, die bereits über umfangreiche Erfahrungen mit funktionaler Programmierung verfügen, zu grundlegend sein.
(basierend auf 27 Leserbewertungen)
Grokking Simplicity: Taming Complex Software with Functional Thinking
Grokking Simplicity ist ein freundlicher, praktischer Leitfaden, der Ihre Herangehensweise an Softwaredesign und -entwicklung verändern wird.
Zusammenfassung
Über mehrere Server verteilt, schwer zu testen und resistent gegen Änderungen - moderne Software ist komplex. Grokking Simplicity ist ein freundlicher, praktischer Leitfaden, der Ihre Herangehensweise an Softwaredesign und -entwicklung verändern wird. Es stellt einen einzigartigen Ansatz zur funktionalen Programmierung vor, der erklärt, warum bestimmte Funktionen von Software anfällig für Komplexität sind, und lehrt Sie die funktionalen Techniken, die Sie verwenden können, um diese Systeme zu vereinfachen, so dass sie leichter zu testen und zu debuggen sind.
Der Kauf des gedruckten Buches beinhaltet ein kostenloses eBook im PDF-, Kindle- und ePub-Format von Manning Publications.
Über die Technologie
Entwickler fürchten zu Recht die unbeabsichtigte Komplexität, die den meisten Code infiziert. Dieses Buch zeigt Ihnen, wie Sie Software schreiben können, die die Komplexität auf ein Minimum reduziert. Wenn Sie Software schreiben, sollten Sie zwischen Code, der den Zustand Ihres Systems verändert, und Code, der dies nicht tut, unterscheiden. Wenn Sie einmal gelernt haben, diese Unterscheidung zu treffen, können Sie einen Großteil Ihrer zustandsverändernden "Aktionen" in zustandslose "Berechnungen" umwandeln. Ihre Software wird dann einfacher sein.
Über das Buch
In diesem Buch lernen Sie auch, wie Sie die komplexen Timing-Fehler lösen, die sich unweigerlich in asynchronen und Multithreading-Code einschleichen. In den fortgeschrittenen Abschnitten des Buches lernen Sie, wie komponierbare Abstraktionen helfen, die Wiederholung von Code zu vermeiden und neue Ebenen der Ausdrucksfähigkeit zu erschließen.
Was ist drin?
Patterns für einfacheren Code.
Leistungsstarke Zeitmodellierungsansätze zur Vereinfachung von asynchronem Code.
Wie Funktionen höherer Ordnung Code wiederverwendbar und zusammensetzbar machen können.
Über den Leser
Für mittlere und fortgeschrittene Entwickler, die komplexe Software erstellen. Übungen, Illustrationen, Selbsteinschätzungen und praktische Beispiele vertiefen jede neue Idee.
Über den Autor
Eric Normand ist ein erfahrener Softwareentwickler, der seit 2007 ein einflussreicher Lehrer für funktionale Programmierung ist.
Inhaltsverzeichnis
1 Willkommen bei Grokking Simplicity.
2 Funktionales Denken in Aktion.
TEIL 1 - AKTIONEN, BERECHNUNGEN UND DATEN.
3 Unterscheidung von Aktionen, Berechnungen und Daten.
4 Extrahieren von Berechnungen aus Aktionen.
5 Verbessern des Entwurfs von Aktionen.
6 Unveränderlich bleiben in einer veränderlichen Sprache.
7 Unveränderlich bleiben mit nicht vertrauenswürdigem Code.
8 Geschichteter Entwurf, Teil 1.
9 Geschichteter Entwurf, Teil 2.
TEIL 2 - ERSTKLASSIGE ABSTRAKTIONEN.
10 Erstklassige Funktionen, Teil 1.
11 Erstklassige Funktionen, Teil 2.
12 Funktionale Iteration.
13 Verkettung funktionaler Werkzeuge.
14 Funktionale Werkzeuge für verschachtelte Daten.
15 Isolierung von Zeitleisten.
16 Gemeinsame Nutzung von Ressourcen zwischen Zeitleisten.
17 Koordinierung von Zeitleisten.
18 Reaktive und Zwiebelarchitekturen.
19 Die funktionale Reise in die Zukunft.