Homepage Ralf BürgerSSEAnhang > Historisches Ralf Bürger SSE Historisches Inhaltsverzeichnis Index Vorseite Folgeseite
 
 

"There is no reason anyone would want a computer in their home."
(dt.: "Es gibt keinen Grund, warum jemand einen Computer zuhause haben wollen würde."
(Ken Olson, Digital Equipment Corp. chairman, 1977)

Historisches

1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
2000 2001 2002 2003 2004 2005

Die meisten Softwareentwickler haben genug Stress mit ihren heutigen Problemen und Projekten und vor allem mit der raschen Weiterentwicklung der IT. Daher ist das Interesse an der Historie der IT allgemein recht gering, erst Recht das Interesse an der Historie der systematischen Softwareentwicklung. Deshalb habe ich mich entschlossen, diesen Teil nur kurz und nur im Anhang darzustellen.

64 KB

Außerdem will ich mich auf die Softwareentwicklung mit PCs konzentrieren, zum einen weil heutzutage wohl mindestens 90% der Software mit PCs entwickelt wird, zum anderen weil ich in dieser Abhandlung ja die Praxis aus meiner Erfahrung heraus schildern will und ich nur die Softwareentwicklung mit PCs von Anfang an kennen gelernt habe. Es gibt aber im Internet genug Berichte über die wirklich alten Zeiten der EDV mit Zuse, Nixdorf, IBM, DEC, etc. Die Suchmaschinen bringen Sie über diese Stichwörter schnell weiter. 1974 entwickelten Kernighan und Ritchie die Programmiersprache "C", die dem PC zum Siegeszug verhelfen sollte - aber zu der Zeit gab es noch keinen PC! 1975 kam mit dem Bausatz des Altair 8800 das erste Ding, was man PC nennen könnte. Dafür entwickelten ja auch Bill Gates und Paul Allen das BASIC - aber da hieß die Firma noch Traf-O-Data. Das zu der Zeit mit einem Computer prinzipiell auch schon viel mehr möglich war, zeigte XEROX im PARC mit einem graphischen Texteditor, der über eine Maus gesteuert wurde! 1976 bauen Steve Wozniak und Steve Jobs den Apple I. HP und Atari interessierten sich auch schon irgendwie für das neue Zeugs. Wo wir mit den PCs 1977 aber realistisch standen, können Sie ganz gut an dem Spruch oben auf dieser Seite erkennen.

78 KB

Die Programmiersprache der ersten Zeit der Mikrocomputer war BASIC (Abk. für "Beginners All-Purpose Symbolic Instruction Code", dt.: "Allgemeiner symbolischer Anweisungscode für Anfänger"). BASIC wurde 1963/64 in Dartmouth entwickelt und nach Kompatibilitätsschwierigkeiten zwischen den verschiedenen Versionen um 1971 wurde 1974 die Standardisierung angestrebt. 1978 schließlich wurde der ANSI-Standard für BASIC veröffentlicht und noch im gleichen Jahr erfasste die Zeitschrift "Datamation" ganze 22 sogenannte "Mikrocomputersysteme", von denen für 70% BASIC verfügbar war.

Die einzige Alternative auf Mikrocomputern war zu der Zeit Assembler für Prozessoren wie den Motorola 6502 (Apple und Commodore), die Intel 8008, 8080, 8085 oder den Zilog Z80. Dazu brauchte man aber Informationen über die Hardware, die vom Hersteller super geheim gehalten wurde. Ich erinnere mich, dass ich von meinem ersten selbst verdienten Geld einem Mitarbeiter des Computerherstellers sein Systemhandbuch abgekauft habe, auf dem dick so witzige Sprüche wie "nur zum internen Gebrauch" aufgestempelt waren.

Das Jahrbuch "Taschenrechner + Mikrocomputer" von 1981 zählt bereits 183 verschiedene Hersteller von Computern auf. Gemäß diesem Buch wurden bis Ende 1979 in Deutschland ca. 20.000 Mikrocomputer mit Preisen bis zu 10.000,- DM verkauft. 1979 war auch für mich das Jahr, in dem ich das erste Mal vor einem Mikrocomputer saß: ein Wang mit 40x25 Großbuchstaben auf dem Bildschirm, 4 KB RAM und einem eingebauten Kassettenlaufwerk zum dauerhaften Speichern der BASIC-Programme und Daten. Ich war damals 17 Jahre alt und tief beeindruckt. Dies war auch das Jahr, in dem Commodore mit seinem PET den großen Siegeszug antrat, vor allem wegen der Graphikzeichen, die auf den Tasten vorne aufgedruckt waren und so über eine spezielle Funktionstaste direkt eingegeben werden konnten. Neben dem Apple II war es auch der einzige bezahlbare Rechner - und es stand bereits "Personal Computer" drauf!

125 KB
1979
149 KB

Die damals im normalen Buchhandel in deutsch verfügbaren Bücher für Mikrocomputer bestanden aus schrecklichen Listings noch schrecklicherer Programme und enthielten wenig wirklich spannende Infos. Aber es war halt eine Zeit, wo man sogar noch den gesamten Markt überschauen konnte und eigentlich alles gegriffen hat, was irgendwie verfügbar war - ich zumindest. Alles, was nicht für Mikrocomputer geschrieben wurde, war sofort super wissenschaftlich aufgezogen, sehr kompliziert und teuer und obendrein auf dem Mikrocomputer kaum verwendbar - also out! Es gab damals halt zwei Welten: Profis an UNIX-Maschinen und Freaks an Mikrocomputern!

105 KB

In der ersten Arbeitsgruppe "Informatik" auf unserem Gymnasium half uns die Frau eines Mathematikprofessors der Uni Bochum auf die Beine und erklärte uns das IF ... THEN ... ELSE und vor allem das GOTO! Denn besonders strukturiert wurde damals noch nicht programmiert. Die Auszüge links und rechts stammen aus Büchern von 1983 und 1984 und sehen immer noch nicht besonders strukturiert aus. Aber wie viele Leute nennen sich heute noch Softwareentwickler und hauen einfach den Code in die Büchse!

171 KB

Bereits 1972 schrieb Dijkstra seine "Notes on Structured Programming", was Ende 1973 in der Zeitschrift Datamation zur "Revolution in Programming" führte. Niklaus Wirth schrieb zu der Zeit über "Systematisches Programmieren" und später (1975) über "Algorithmen und Datenstrukturen". Viele griffen das auf und so konnte man denn auch durchaus schon recht früh mehr machen als nur Runtercodieren, wenn man denn wollte.

110 KB
126 KB

Als ich mich 1980 auf meinen großen Auftritt bei "Jugend Forscht" vorbereitete, programmierte ich bereits mit einem BASIC-Compiler, hatte in der "Triumph Adler alphatronic meines Vaters bereits das neue 160 KB Diskettenlaufwerk, 48 KB RAM und schrieb in meiner "Forschungsarbeit" nebenstehenden Absatz.

114 KB

Ich sah zu der Zeit in einigen Büchern Diagramme, und zwar Flussdiagramme (s. links) und Struktogramme (s. rechts) und eiferte dem nach. So hatte ich etliche einzelne Diagramme erstellt, die ich zu einem Gesamt-Flussdiagramm zusammensetzte. Ein Photo von mir vor diesem Gesamt-Flussdiagramm bei der Vorstellung meiner Forschungsarbeit Anfang 1981 finden Sie ganz am Ende meiner Projektreferenz auf meiner Homepage.

108 KB

1981 war auch das Jahr, in dem dann wirklich in den USA der PC von IBM geboren wurde. Damit wurde der viel diskutierte Begriff "Personal Computer" (dt.: Persönlicher Computer) manifestiert und Bill Gates bekam die Chance seines Lebens - und nutzte sie! Es sollte aber noch etwas dauern, bis sich das System etablierte und verbreitete. Schließlich war der Erfolg des PCs ja auch nie geplant und damals von IBM sogar nichtmal wirklich gewollt. Ich saß das erste Mal 1984 vor dem IBM PC und staunte über die Subdirectories von MS-DOS 1.1. Ich habe heute noch einen im Keller und bin jedes Mal wieder fasziniert, wenn ich die Kiste nur so aus Spaß ohne Systemdiskette direkt ins ROM-BASIC boote :-)

113 KB
163 KB

Auch noch 1982, als das CP/M-Betriebssystem bereits seiner Ablösung durch Microsofts MS-DOS entgegen sah, war Programmierung für die meisten nichts, was im Auftrag eines Kunden unter Einhaltung von Termin und Budget möglichst strukturiert oder gar systematisch erfolgen sollte. Entweder waren es Forscher, Wissenschaftler und Ingenieure, die den Mikrocomputer zur Vereinfachung ihrer Routineberechnungen benutzten, oder es waren Freaks, die einfach Spaß an der tollen Technik hatten.

Die Darstellung oben aus einem CP/M-Buch ist die Einleitung zur Programmierung. Es sieht so aus, als müsste man nur wissen, wie man den ASM aufruft, und schon kann man programmieren. Als Hauptproblem war hier die Speicheradressierung genannt. Der Ausschnitt rechts zeigt das nächste Kapitel, in dem immerhin darauf hingewiesen wird, wie wichtig doch die Fehlerbehebung ist. Mich erinnert das etwas an den Spruch: "Wenn Debugging der Vorgang ist, Fehler auszubauen, dann ist Programmieren wohl der Vorgang, Fehler einzubauen."

119 KB
70 KB

1983 erschien von Intel der "iAPX 286 Operating Systems Writer's Guide" - ja: 1983! Es dauert ja immer ein paar Jahre, bis die Boards und die PCs gebaut sind und die Betriebssysteme angepasst sind. Daher kommen solche Schriften oft recht früh raus. Mit dem "Protected Multitasking" revolutionierte der 80286 von Intel die Programmierung, weil er endgültig die Statiker von den Dynamikern trennte:

"The role that an operating system may play in managing a multitasking execution environment depends on the nature of the application. Applications can be classified according to the volatility of tasks executing over a period of time. Applications in which tasks frequently begin and end are called dynamic systems. Applications in which the mix of tasks does not change are called static systems." (dt.: Die Rolle, die ein Betriebssystem in der Verwaltung einer Multitasking-Umgebung spielt, hängt von der Natur der Applikation ab. Applikationen können nach der Sprunghaftigkeit der Ausführung der Tasks über einen gewissen Zeitraum unterschieden werden. Applikationen, in denen die Tasks oft beginnen und enden werden dynamische Systeme genannt. Applikationen, in denen sich die Zusammensetzung der Tasks nicht verändert, werden statische Systeme genannt.) Durch die massive Segmentierung der Programme und die Berücksichtigung des Multitaskings kamen völlig neue Aspekte auf die Softwareentwicklung zu, die eine viel planerische Vorgehensweise benötigte und uns mehrere Jahre auf Trab gehalten hat. Insbesondere brauchten wir nun Ablaufdiagramme, in denen die simultanen Abläufe der Tasks darstellbar war. Selbst in der UML wurden erst 2004 mit der Version 2.0 die Aktivitätendiagramme so weit geklärt, dass sie für einen praktikablen und eindeutigen Einsatz in Multitasking- bzw. Multithreading-Umgebungen sauber einsetzbar sind.

Als ich 1984 im Softwarehaus anfing, war meine BASIC- und FORTRAN-Zeit endgültig zuende und meine Assembler-Zeit begann richtig. Es ging zunächst darum, Kopierschütze und Adaptionsroutinen für Winchesterplatten in Assembler zu programmieren. Da sich diese Programme selbst durch den Speicher geschoben (s. nebenstehende Quelle) und die Register der CPUs und Ports der Boards bis zum Brechen gebogen haben, war da nicht viel Raum für Flussdiagramme und Systematik. Aber dafür wurden Dokumentation und Testen ein riesiges Thema für mich. Damit erkannte ich, dass es nicht eine einzige richtige Vorgehensweise in der Softwareentwicklung gibt, sondern dass im günstigsten Fall die eine beste Vorgehensweise an das jeweilige Projekt adaptiert werden musste. 1984 war übrigens auch das Jahr des Apple Macintosh, jenem Xerox-Nachbau von Steve Jobs. Im Vergleich zum IBM PC war der Mac zwar klein, graphisch, mausorientiert und total interessant, aber es gab keine Software und keine Entwicklergemeinde (dies war die zweite Chance für Bill Gates und er entwickelte Microsoft Word und Excel für den Mac - lange vor den Windows-Versionen).

88 KB

Nachdem die hardwarenahe Programmierung mit intensivem Speichermanagement und Multitasking in Assembler kein großes Problem mehr war, kam 1985 (Mitte 84 bis Mitte 86) ein Betriebssystem für eine Speicherschreibmaschine auf mich zu, das ich mit einem Kollegen komplett in 8080 Assembler geschrieben habe. Dazu mussten wir Speicheraufteilungen, Ländervarianten-Mappings, Zustandsdiagramme, Flussdiagramme und Prozessabläufe ohne Ende entwerfen. Wir haben damals nur leider keine Tool-Unterstützung gehabt und mussten alle Diagramme von Hand auf Papier zeichnen. Selbst die Spezifikationen wurden meistens auf Papier vorgeschrieben. Das war eine Katastrophe bei den andauernden massiven Änderungen durch neue Ideen. Außerdem steckte ein riesiges Unternehmen hinter der Entwicklung, das parallel die Hardware zuende entwickelte und richtig Ahnung von Testen hatte. Es gab da tatsächlich eine Hydrostößel-Apparatur, die softwaregesteuert die ganze Nacht durch getippt hat und so regressiv alle Funktionen mit allen vorher schon einmal dagewesenen Fehlersituationen getestet hat. Das war das erste Mal, dass ich Testfälle schreiben musste (die wir damals "Featuretests" nannten). Entwickelt haben wir auf den original Intel-Entwicklungsmaschinen ISIS II und III mit ICE (In-Circuit-Emulator) zum Debuggen der EPROMs direkt in der Hardware. Das reine Code-Listing brauchte schließlich über 1000 Seiten von diesem tollen grün-linierten Endlospapier. Ohne eine gewisse Systematik hätten wir da keine Chance gehabt - aber ohne die 110-Stunden-Wochen auch nicht. Ich glaube, das war mein erstes echtes Heldenprojekt ;-)

181 KB 201 KB 194 KB 237 KB 254 KB 159 KB

1986 saß ich vor meinem ersten C-Compiler von Lattice. Nach der Assembler-Zeit und den Gehversuchen mit dem C-nahen PL/M (Programming Language for Microcomputers) eine Wohltat. Gelernt hatte ich C 1985 in den Hotels aus dem Buch heraus (ich besaß tatsächlich ein Exemplar der C-Bibel aus der ersten Auflage von 1978). In C konnte man viel schneller Programme erstellen als in Assembler und trotzdem direkt in den Speicher langen. Und wenn es auf Taktzyklen ankam konnte man schließlich immer noch eine Assemblerfunktion aufrufen. So konnten wir viel größere und leistungsfähigere Programme viel schneller schreiben und entwickelten nicht nur einen neuen Texteditor, sondern auch eine eigene ISAM-Datenbank mit Maskeneditoren, Selektionsprogrammen und alles, was zu einem Office-Paket halt so dazu gehört. Mein Lieblingssatz aus einer späteren Übersetzung des Buchs war: "Es gibt auch ein goto in C und Sie können es beliebig mißbrauchen".

73 KB

tbc ...


 

Homepage Ralf Bürger Ralf Bürger SSE Historisches Konventionen/Hilfe Änderungen/Neues Inhaltsverzeichnis Index Vorseite Folgeseite Seitenanfang