10.12.2012 Aufrufe

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Die Arbeiten von Edsger Dijkstra, Ole-Johan Dahl, C. A. R. Hoare zum<br />

Stichwort ,,Strukturiertes Programmieren“ (1972) zeigten, daß es galt,<br />

Programmierkonzepte und Programmiersprachen e<strong>in</strong>zusetzen, die von ihrer<br />

Struktur her Fehler weitgehend ausschließen sollten — hier sei nur<br />

auf die berühmte Diskussion zum Thema ,,Gotos considered harmful“ h<strong>in</strong>gewiesen<br />

— und e<strong>in</strong>e Theorie der schrittweisen Programmierung zu entwickeln.<br />

Im Rahmen des strukturierten Programmierens stand das Postulat<br />

der schrittweisen Verfe<strong>in</strong>erung (Niklaus Wirth, 1972). Es wurde<br />

<strong>in</strong> <strong>München</strong> von den Professoren Bauer und Samelson aufgegriffen3 und<br />

unter dem Stichwort ,,CIP: Computer-aided, Intuition-guided Programm<strong>in</strong>g“<br />

konkretisiert. Besonders bee<strong>in</strong>flußt war diese Idee von der Vorstellung<br />

e<strong>in</strong>er Transformation von Programmen. Sie war ganz ausgerichtet<br />

auf die immer noch moderne Zielsetzung, daß e<strong>in</strong> früher Entwurf<br />

von Programmen zunächst nicht so sehr auf Effizienz ausgerichtet se<strong>in</strong><br />

sollte, sondern vor allem auf Korrektheit der Spezifikation — da viele<br />

Programmierkonstruktionen, die besonders auf Effizienz abzielen, schwer<br />

beherrschbar s<strong>in</strong>d und leicht zu Fehlern führen. Die Grundidee war also,<br />

e<strong>in</strong>e Spezifikation sowie klare, e<strong>in</strong>fache Lösungen an den Beg<strong>in</strong>n der Programmierung<br />

zu stellen und durch entsprechende Transformationen die<br />

Programme schrittweise schließlich <strong>in</strong> e<strong>in</strong>e effiziente Form zu br<strong>in</strong>gen, e<strong>in</strong>e<br />

Idee, die sich heute beispielsweise <strong>in</strong> der aktuellen Forschungsrichtung des<br />

Refactor<strong>in</strong>gs von Softwarearchitekturen wiederf<strong>in</strong>det.<br />

Die schrittweise Transformation der Programme sollte, um Fehler zu vermeiden,<br />

nicht freihändig erfolgen, sondern durch e<strong>in</strong>en festen Satz von Regeln,<br />

sogenannten Transformationsregeln, die sicherstellen, daß die funktionale<br />

Korrektheit der durch die Transformation erzeugten Programme<br />

gleichermaßen gegeben ist, falls nur die Ausgangsprogramme diese Eigenschaft<br />

haben. Als Transformationsregeln wurden e<strong>in</strong>erseits sehr e<strong>in</strong>fache<br />

syntaktische Umformungen e<strong>in</strong>gesetzt, andererseits aber auch vergleichsweise<br />

komplexe Umformungsregeln, die stark an Designpatterns er<strong>in</strong>nern,<br />

wie sie seit etwa 10 <strong>Jahre</strong>n <strong>in</strong> der Softwaretechnik e<strong>in</strong>e große Rolle spielen.<br />

Die CIP-Gruppe. Bei dem Bemühen, möglichst e<strong>in</strong>fache und durchsichtige<br />

Programmkonstruktionen zu verwenden, stieß die CIP-Gruppe,<br />

die sich unter F. L. Bauer und K. Samelson Mitte der siebziger <strong>Jahre</strong> formierte,<br />

mit ihren Mitgliedern Rupert Gnatz, Hans Wössner, Peter Pepper<br />

und Helmuth Partsch schnell auf die Idee der funktionalen Programmierung<br />

und damit auf Themen der Rekursion. Rekursives Programmieren<br />

und der Übergang von rekursiven zu nichtrekursiven Programmen, Entrekursivierung<br />

als Transformation eben, spielten schnell e<strong>in</strong>e sehr zentrale<br />

Rolle <strong>für</strong> CIP. Gleichzeitig wurde aber deutlich, wie wichtig die<br />

3 Was ist Programmtransformation? Elektron. Rechenanlagen 18 (1976), 229–233<br />

63

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!