The third golden age of software engineering – thanks to AI, with Grady Booch
Dieses Video ist ein Gespräch mit dem Pionier des Software Engineering, Grady Booch, das der Behauptung widerspricht, der Aufstieg der künstlichen Intelligenz (AI) bedeute das Ende des Software Engineering, und stattdessen darlegt, dass wir vielmehr in ein „drittes goldenes Zeitalter“ eingetreten sind. Es interpretiert die Geschichte des Software Engineering als einen Prozess steigender Abstraktionsebenen neu und vergleicht frühere technologische Wendepunkte mit der heutigen AI-Revolution. Dadurch wird angedeutet, dass AI über die Automatisierung des Codings hinaus den Übergang zum eigentlichen Kern des Engineerings beschleunigt: Systemdenken und den Umgang mit Komplexität.
1. Einleitung (Introduction)
Entgegen den regelmäßig aufkommenden Sorgen um das „Ende des Software Engineering“ argumentiert Grady Booch, dass der aktuelle Wandel nicht das Verschwinden der Branche, sondern ihre Weiterentwicklung bedeutet. Software Engineering wird nicht als bloßes Coding verstanden, sondern als der Aufbau optimaler Lösungen unter Ausbalancierung statischer und dynamischer Kräfte wie physikalischer Gesetze, Wirtschaftlichkeit und Ethik. Dieser Text analysiert die Geschichte der Software seit den 1940er-Jahren in drei „goldenen Zeitaltern“ und arbeitet das Wesen der durch AI ausgelösten Veränderungen heraus.
2. Die Evolution des Software Engineering (The Evolution of Software Engineering)
2.1 Das erste goldene Zeitalter: algorithmische Abstraktion (The First Golden Age)
- Zeitraum: Ende der 1940er-Jahre bis Ende der 1970er-Jahre
- Merkmale: In dieser Phase begann die Trennung von Hardware und Software. Anfangs waren Maschinensprache und Hardware untrennbar miteinander verbunden, doch nach und nach wurde Software als etwas mit eigenständigem industriellem Wert erkannt.
- Zentrale Aufgaben: Mathematische Berechnungen und die Automatisierung von Geschäftsprozessen waren die Hauptziele. Die damalige Komplexität war im Vergleich zu heute geringer, doch die Optimierung begrenzter Hardware-Ressourcen war die entscheidende Herausforderung.
- Abstraktion: Die „algorithmische Abstraktion (Algorithmic Abstraction)“ war vorherrschend. Die Welt wurde vor allem als Daten und die Prozesse (Prozeduren) zu ihrer Verarbeitung betrachtet.
2.2 Das zweite goldene Zeitalter: objektorientierte Entwicklung und Plattformen (The Second Golden Age)
- Zeitraum: Ende der 1970er-Jahre bis Anfang der 2000er-Jahre
- Hintergrund: Mit der explosionsartig steigenden Nachfrage nach Software kam es zur „Softwarekrise (Software Crisis)“, weil Qualität und Produktivität nicht Schritt hielten.
- Technologischer Wandel: Um Komplexität zu beherrschen, entstand das „objektorientierte (Object-Oriented)“ Paradigma, das Daten und Prozesse zu einer Einheit bündelt. Es ermöglichte ein höheres Abstraktionsniveau und bildete die Grundlage für den Bau großer Systeme.
- Ausweitung: Die Verbreitung des Personal Computers (PC) und das Aufkommen des Internets dehnten Software über das Geschäftliche hinaus zu einem Fundament der Zivilisation aus (interstitial spaces of civilization). Zugleich begannen sich die Konzepte von Open Source und Plattform-Businesses (SaaS usw.) zu etablieren.
2.3 Das dritte goldene Zeitalter: Systeme und AI (The Third Golden Age)
- Zeitraum: 2000er-Jahre bis heute
- Gegenwart: Wir leben bereits im dritten goldenen Zeitalter. Kennzeichnend ist, dass riesige Systeme jenseits einzelner Programmeinheiten sowie Fragen der Security, Safety und Ethik zu zentralen Engineering-Aufgaben geworden sind.
- Rolle der AI: AI-Tools (LLMs, Coding Agents usw.) ersetzen Engineering nicht, sondern wirken als Werkzeuge, die die Abstraktionsebene noch einmal anheben, indem natürliche Sprache ähnlich wie eine Programmiersprache verwendet wird.
3. Der Einfluss von AI auf das Software Engineering (The Impact of AI)
3.1 Beschleunigung von Automatisierung und Abstraktion
AI automatisiert die Erzeugung von Code für repetitive und typische Muster. Ähnlich wie einst Assemblersprache durch Hochsprachen ersetzt wurde, ermöglicht dies es Engineers, sich von Implementierungsdetails auf niedriger Ebene zu lösen und sich auf Problemlösung auf einer höheren Ebene zu konzentrieren.
3.2 Widerlegung der Prognose von Dario Amodei
Zur Prognose von Anthropic-CEO Dario Amodei, wonach „Software Engineering innerhalb von 12 Monaten automatisiert sein wird“, bezieht Booch klar Gegenposition.
- Grund 1: AI ist gut darin, bereits gelernte Muster zu reproduzieren, kann aber das Wesen des Engineerings – „Designentscheidungen“ und das Austarieren verschiedener Randbedingungen (Kosten, physikalische Gesetze, Ethik usw.) – nicht leisten.
- Grund 2: Die heutige AI ist auf webzentrierte Muster verzerrt und verfügt nicht über ausreichende Fähigkeiten, um eingebettete Systeme, die mit der physischen Welt interagieren, oder komplexe mission-kritische Systeme als Ganzes zu entwerfen.
4. Kernkompetenzen zukünftiger Engineers (Future Competencies)
Da die Einstiegshürde für das Coding selbst sinkt, verlagern sich die von Engineers geforderten Kernkompetenzen vom „Code schreiben“ hin zum „Systems Thinking“.
- Systems Theory: Um komplexe Systeme zu verstehen und zu entwerfen, ist das Verständnis grundlegender Theorien unerlässlich, etwa von Herbert Simon, der Komplexitätstheorie des Santa Fe Institute oder Marvin Minskys „Society of Mind“.
- Verantwortung und Urteilsvermögen: Menschliches Urteilsvermögen wird noch wichtiger, um von AI erzeugte Ergebnisse zu validieren und Systeme unter Security- und ethischen Gesichtspunkten zu kontrollieren.
5. Fazit (Conclusion)
Software Engineering ist nicht tot; vielmehr tritt es in eine neue Expansionsphase ein, in der die Vorstellungskraft die einzige Grenze ist. AI ermöglicht auch Nichtfachleuten, Software zu entwickeln, und treibt damit die Demokratisierung des Schaffens voran. Zugleich bietet sie professionellen Engineers leistungsstarke Werkzeuge, um noch größere und komplexere Probleme zu lösen. Historisch betrachtet wurden jene, die neue technologische Abstraktionen annahmen, nicht verdrängt, sondern stiegen höher auf. Daher sollte der aktuelle Wandel nicht als Krise, sondern als Chance verstanden werden, die Grenzen des Engineerings zu erweitern.
1 Kommentare
Jede Diskussion vor dem Auftauchen von Beweisen ist eine vorschnelle Schlussfolgerung