The Programmer’s Brain: What Every Programmer Needs to Know About Cognition
Rezension von Sven Woltmann
Felienne Herman, Professorin für Informatik an der Vrije Universiteit Amsterdam, erklärt in ihrem Buch „The Programmer’s Brain“, gestützt auf wissenschaftliche Erkenntnisse aus der Neurowissenschaft, wie das menschliche Gehirn bei komplexen Aufgaben wie dem Programmieren funktioniert, insbesondere beim Lesen, Verstehen und Schreiben von Code sowie beim Erlernen einer neuen Programmiersprache.
Sie beschreibt, wie Langzeitgedächtnis, Kurzzeitgedächtnis und Arbeitsgedächtnis zusammenarbeiten und welche Rolle dabei das sogenannte „Chunking“ spielt (der Prozess des Gruppierens kleiner Informationseinheiten zu größeren, z. B. von Buchstaben zu Wörtern).
Wir erfahren, warum komplexe Aufgaben wie das Arbeiten mit unbekanntem Code zu einer kognitiven Überlastung führen können, und entdecken konkrete, kognitionswissenschaftlich fundierte Techniken, die uns helfen können, die kognitive Belastung zu reduzieren – sowohl für uns selbst als auch für z. B. Kollegen, die wir in neue Bereiche einarbeiten.
Wir erfahren auch, warum „Clean Code“-Techniken wie aussagekräftige und konsistente Benennung, kurze Methoden und einheitliche Formatierung so effektiv sind.
Die Autorin verwendet leicht verständliche Sprache und zahlreiche praxisnahe Beispiele aus verschiedenen Programmiersprachen, um ihre Ausführungen zu veranschaulichen.
Ich empfehle dieses Buch Programmiererinnen und Programmierern aller Erfahrungsstufen, die ihren Umgang mit komplexen Herausforderungen verbessern möchten, insbesondere denen, die verstehen möchten, wie sie die kognitive Überlastung vermeiden können, die häufig durch komplexe Aufgaben verursacht wird.
🎧 Geeignet als Hörbuch? Nein, aufgrund zahlreicher Codebeispiele.
Andere Empfehlungen aus den Genres dieses Buches
Der pragmatische Programmierer: Ihr Weg zur Meisterschaft
Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code
Spring Boot 3: So geht moderne Java-Entwicklung – Konzepte und Anwendungen
Refactoring: Wie Sie das Design bestehender Software verbessern
Clean Craftsmanship: Best Practices, Standards und Ethik für die Softwareentwicklung
Effective Java: Best Practices für die Java-Plattform
Java Generics and Collections
Core Java: Fundamentals (Volume 1)
Core Java: Advanced Features (Volume 2)
Concurrent Programming in Java: Design Principles and Pattern, 2nd Edition
Mastering Lambdas: Java Programming in a Multicore World
Java Puzzlers: Traps, Pitfalls, and Corner Cases
Effektives Arbeiten mit Legacy Code. Refactoring und Testen bestehender Software
Java Concurrency in Practice
Design Patterns: Entwurfsmuster als Elemente wiederverwendbarer objektorientierter Software