Aus dem Kurs: Einführung in die Softwaretechnik 1 – Grundlagen, Analyse, Design, Vorgehensweisen

Geschichte der Softwaretechnik

Wir wollen uns jetzt kurz mit der Geschichte der Software-Technik beschäftigen und ein paar Meilensteine, Ereignisse und interessante Personen anschauen. Ja, alles fing tatsächlich schon an in den 50er Jahren, wo die ersten Werkzeuge entstanden sind, sowas wie Macro Assembler und die ersten Compiler. Die wurden dann in den 60er Jahren immer besser, zu optimierenden Compilern, sodass man auch Großprojekte starten konnte mit mehr als 1.000 Entwicklern. Ende der 60er hat dann Dijkstra, den wir hier rechts sehen, das erste Mal über die Probleme der GOTO-Anweisung geschrieben und welchen Schaden sie verursachen kann. Ebenfalls 1968 wurde auch der Datumsstandard herausgebracht, wobei man hier zwei Stellen für das Jahr verwendet hat, was sich als ziemlich fatal herausgestellt hat, wie wir alle wissen, aber wir haben es zum Glück alle überlebt. In den 70er Jahren kam dann das erste Wasserfall-Vorgehensmodell heraus, was es ja heute auch immer noch gibt, was heute auch immer noch angewendet wird, und in den wenigen Fällen oftmals auch seine Berechtigung hat. 71 hat dann David Parnas, wieder hier rechts zu sehen, über das Prinzip des Information Hiding geschrieben, also eins dieser wichtigen Prinzipien für Kapselung und Modularisierung, was auch heute immer noch die Softwaretechnik prägt. Im Jahre 1978 bis 88 ungefähr kamen dann immer weitere Methoden und Vorgehensweisen zum Vorschein, sowas wie die Structures-Analysis-Methode oder das Spiralmodell von Barry Boehm. In den 90ern dann die komponentenbasierte Entwicklung, das, was wir auch unter OO-Entwicklung kennen, die sich dann einige Jahrzehnte lang auch kräftig gehalten hat. Und 1994 z.B. ein bekanntes Buch von Erich Gamma, den wir hier rechts sehen, der sich mit Design Patterns beschäftigt hat und auch all diese Begriffe noch mal wertvoll unterlegt hat, die wir jetzt ständig verwenden, so etwas wie Proxy, Bridge, Builder, Visitor, Decorator, Strategy, Factory oder Singleton, die in unserem heutigen Sprachgebrauch eigentlich nicht mehr wegzudenken sind. 1997 erblickte dann Unified Modeling Language das Licht, die wir später auch noch sehen werden, und 1999 wurde z.B. ein berühmtes Buch von Martin Fowler, den wir hier rechts sehen, und Kent Beck veröffentlicht mit dem Namen "Refactoring". Martin Fowler, den wir noch öfters hier in diesem Kurs antreffen werden, hat auch noch viel mehr Bücher geschrieben, wie "Enterprise Patterns", "Domain-Specific Languages" oder "UML", und sich damit einen Namen in der Softwaretechnik gemacht. 2003 kamen dann wieder agile Modelle hoch, so was wie Scrum und Kanban, die heute immer noch kräftig in der Industrie rumgeistern. 2004/2005 dann die nächste Version der UML. Im Jahre 2008 hat dann Robert C. Martin, den wir hier rechts sehen, ein Buch namens "Clean Code" geschrieben, was auch große Auswirkungen auf die Softwaretechnik und die Entwickler-Community hatte und später auch das Buch "Clean Architecture". Man bezeichnet ihn auch als "Uncle Bob", den Herrn Robert C. Martin. 2010 kam dann ein Standardwerk zu "Continuous Delivery" raus von Jez Humble und David Farley, was hohe Wellen geschlagen hat und sich auch noch in anderen Büchern, Fortsetzungsbüchern, wiedergefunden hat. 2015 hat dann die Softwaretechnik in viele andere Gebiete Einzug gefunden, z.B. ins Machine Learning, Big Data Analytics und auch um die Zeit, vielleicht auch etwas früher, kam dann die deutsche Clean-Code-Developer-Bewegung auf. Es lohnt sich, den Begriff mal zu googeln. Dort wurden auch noch mal Prinzipien formuliert, die heute für alles, auch für Techniker, wichtig sind. In den Referenzen sind noch weitere Literaturverweise zu finden, z.B. ein Buch von Herrn Capers Jones, "History of Software Engineering", wo über viele Hunderte Seiten die gesamte Softwaretechnik der Vergangenheit betrachtet wird.

Inhalt