Das erste Buch versucht sich an einer philosophischen Betrachtung des Megatrends KI, das zweite bietet eine Fülle nützlicher Ratschläge für jeden Programmierer.
KI und Gesellschaft
Künstliche Intelligenz ist ein Megatrend, und das lässt sich nicht zuletzt am Buchmarkt ablesen: Dort sprießen nicht nur Bücher über alle möglichen technischen Aspekte von KI wie Pilze aus dem Boden, es mehren sich mittlerweile auch die Titel, die das Thema aus geisteswissenschaftlicher Perspektive beleuchten. Darunter fällt “Welche KI?” von Stefan Bauberger. Der Technikphilosoph untersucht darin die Auswirkungen, die KI auf ausgewählte Bereiche des gesellschaftlichen Lebens hat.
Nach einer Einführung, die auch einen kurzen Abriss der KI-Geschichte umfasst, geht es zuerst um die Arbeitswelt: Entpuppt sich KI als Jobkiller, der nicht nur Hilfspersonal, sondern in Kürze auch Sachbearbeiter, Sekretärinnen, Übersetzer, Buchhalter oder Journalisten um Lohn und Brot bringen wird? Oder hat KI die segensreiche Wirkung, uns monotone und wenig herausfordernde Arbeiten abzunehmen, sodass wir mehr Zeit für Kreatives oder auch mehr Freizeit haben? Vergrößert KI die Spaltung der Gesellschaft in gut ausgebildete Wohlhabende und schlechter qualifizierte Arme? Das hängt davon ab, was wir daraus machen und wie wir wir diese Zukunft aktiv gestalten, lautet das Fazit des Buchs an vielen Stellen. Eine Schlussfolgerung, die allerdings nicht allein auf KI zutrifft, und so zerfließen auch des Öfteren die Grenzen zwischen Auswirkungen der KI und Folgen etwa der Digitalisierung im Allgemeinen.
Ein nächstes Kapitel betrachtet die gegensätzlichen Wirkungen der KI in der Medizin: Führt das Bilderkennungssystem zu besseren Hautkrebsdiagnosen, oder betrügt der Pflegeroboter den dementen Alten um echte menschliche Zuwendung? Das Spannungsfeld zwischen Utopie und Dystopie lotet denn auch das Kapitel über autonomes Fahren aus. Hier geht es nicht zuletzt um die Gefahren: Werden so Unfälle und Verkehrstote verhindert, oder beschwört eine Technik, die sich im pragmatischen Sinn nicht mehr restlos vorhersehen und verstehen lässt, erst recht Risiken herauf? Und wer wäre im Schadensfall verantwortlich? Die Diskussion verdeutlicht, dass die Interessen der Autoindustrie nicht zwangsläufig deckungsgleich mit denen der Gesellschaft sind und dass man die Gestaltung entsprechender Regelungen nicht allein der Ökonomie überlassen sollte.
Um existenzielle Verantwortung geht es auch im Kapitel über die militärische Nutzung künstlicher Intelligenz. Darf man ihr die Entscheidung über Leben und Tod überlassen? Könnte sie dafür überhaupt geradestehen? Oder diffundiert die Verantwortung nicht eben durch KI und die damit geschaffene Distanz zwischen demjenigen, der tötet, und dem Getöteten, wie heute schon im Drohnenkrieg? Der Autor plädiert für die internationale Ächtung solcher Waffen, auch wenn sich dafür im Moment keine klaren Mehrheiten abzeichnen.
Weitere Kapitel diskutieren KI und Demokratie – das reicht von Deep Fakes bis zum Überwachungsstaat – und KI in der Robotik, was auch Fantasien von Transhumanisten einschließt, denen zufolge uns bald intelligente Roboter überholen werden, die dann auch ein Bewusstsein entwickeln sollen. Insgesamt ein lesenswertes und anregendes Buch für alle, die Lust haben, ein wenig über gesellschaftliche Folgen moderner Technik nachzudenken.
Ratgeber
Das zweite Buch ist eine gründlich überarbeitete Neuauflage, 20 Jahre nach der Erstveröffentlichung. Im Kern müssen also die Ratschläge für Programmierer, die die beiden bekannten Entwickler David Thomas und Andrew Hunt in ihrem Werk “Der pragmatische Programmierer” weitergeben wollen, aktuell geblieben sein. Schon auf den ersten Seiten verströmt das Buch typisch amerikanisches Pathos, wenn es das idealistisch überhöhte Vorbild eines Softwareentwicklers entwirft, der – sich ständig schonungslos selbst hinterfragend – überaus neugierig und wissbegierig, ebenso kritisch wie realistisch, um permanente Selbstoptimierung bemüht ist. Dieser Lichtgestalt geben die Autoren im Verlauf des Buchs denn auch keineswegs nur Programmiertipps, sondern auch psychologische Ratschläge oder solche aus der Rubrik allgemeine Lebenshilfe: “Es ist Ihr Leben. Es gehört Ihnen. Sie führen es, Sie gestalten es.” Davon mag man halten, was man will.
Die fachlichen Hinweise sind zuweilen ebenfalls ziemlich allgemein (“Denken Sie an das große Ganze.”) Daneben gibt es aber auch jede Menge Beispielcode in verschiedenen Sprachen und eine Vielzahl praktisch nutzbarer Empfehlungen, die von der hohen Abstraktionsebene zu Konkreterem absteigen. Die Themen reichen von Designprinzipien bis zu Testszenarien, von Qualitätssicherung bis Dokumentation, von Ressourcenmanagement bis Refaktorierung. Kurz: Alle Phasen der Softwareentwicklung geraten in den Blick. Ein eigenes Kapitel widmet sich den Werkzeugen, angefangen von Editor und IDE über die Versionsverwaltung bis hin zum Debugger. Konkrete Produkte empfehlen die Autoren nicht, stattdessen diskutieren sie Auswahlkriterien. Oft stellen sie Fehler besseren Entscheidungen gegenüber und erörtern Lösungsvarianten, was besonders lehrreich ist.
Die Darstellung ist durchweg sehr anschaulich und verständlich, nicht zuletzt, weil sie sich zahlreicher Beispiele bedient. Der Tonfall bleibt locker, aber nicht flapsig und angenehm zu lesen. Die Kapitel unterteilen sich ihrerseits noch einmal in sogenannte Topics, die wiederum ein oder mehrere Tipps enthalten, meist in Form von Ein-Satz-Aussagen. Zu den meisten Topics gibt es Querverweise, manchmal sogar kleine Aufgaben, die das Nachdenken stimulieren sollen. Ein heraustrennbarer Beihefter führt noch einmal alle 100 Tipps auf. Alles in allem ist “Der pragmatische Programmierer” ein Buch, das jedem Softwareentwickler nützlich sein kann. Der eine oder andere Hinweis mag ein wenig überraschen, aber in ihrer Fülle können sie wohl jedem noch Anregungen vermitteln.
Infos

David Thomas, Andrew Hunt
Der pragmatische Programmierer
Hanser Verlag, 2021
300 Seiten, 40 Euro
ISBN: 978-3-446-46384-4





