Skip to main content
main-content

Über dieses Buch

In diesem Buch wird die Programmiertätigkeit vom Standpunkt der evolutionären Erkenntnistheorie neu beleuchtet. Die Auseinandersetzung mit dem Induktionsproblem mündet in die Formulierung der sogenannten negativen Methode. Sie bietet die besten Aussichten auf Erfolg beim Programmieren und ermöglicht optimales Lernen aus den Fehlern. Die Denkfallen beim Programmieren werden anhand typischer und geläufiger Programmierfehler aufgezeigt und in ein geschlossenes System gebracht. Eine darauf aufbauende systematische Fehleranalyse führt zu konkreten Handlungsanweisungen. Die praktische Bedeutung dieses Systems zeigt sich bei der Formulierung von Techniken zur Verbesserung des Programmierstils sowie bei der Bewertung von Techniken der Qualitätsprüfung und von Fehlertoleranztechniken. Denksportaufgaben, Übungen und Programmierstudien runden das Buch ab. Der Autor, Professor an der Fachhochschule Fulda, hat langjährige Industrieerfahrung.

Inhaltsverzeichnis

Frontmatter

1. Einführung

Zusammenfassung
Feinschmecker, so sagt man, erkennen eine gute Küche daran, daß sie einen Ein- topf richtig zubereitet. Ob ein Programmierer gut ist, zeigt sich nicht allein daran, daß er besonders anspruchsvolle Probleme lösen kann. Nein, sondern wie er die alltäglichen, auf den ersten Blick einfach anmutenden Aufgaben erledigt, darin erweist sich der Meister. Die äußere Schlichtheit des Problems kann trügen. Denkfallen zeichnen sich ja gerade dadurch aus, daß sie sich nicht leicht zu erkennen geben. „Die allgemeinsten Meinungen und was jedermann für ausgemacht hält, verdient oft am meisten untersucht zu werden“ (Georg Christoph Lichtenberg).
Timm Grams

2. Grundmuster des Verhaltens und Denkens

Zusammenfassung
Der Programmierer sitzt einem komplexen Gebilde, dem Computer, gegenüber. Die Reaktionen des Computers lassen den Eindruck von Eigenleben aufkommen: „Was hat er denn jetzt schon wieder gemacht?“ ist ein von Programmierern oft gehörter Verzweiflungsschrei. Auf diese Weise werden Fehlerursachen in den Computer hineinprojiziert. Das ist in zweierlei Hinsicht von Bedeutung: Das eigene Handeln wird hinsichtlich Zielstrebigkeit, Folgerichtigkeit und Klarheit überschätzt. Eine kritische Auseinandersetzung mit den eigenen Fehlern wird unterdrückt, das Lernen aus den Fehlern erschwert.
Timm Grams

3. Denkfallen beim Programmieren

Zusammenfassung
Prüfungsordnungen für das Hochschulstudium entstehen in einem sehr langwierigen Prozeß. Vom ersten Entwurf bis zur endgültigen Veröffentlichung im Amtsblatt wird ein solcher Text von vielen Leuten gelesen und geprüft. In einer solchen (veröffentlichten!) Prüfungsordnung befindet sich diese Stelle: „Das Studium wird mit der Diplomprüfung abgeschlossen. Sie besteht aus folgenden Teilen:
1.
Teil: studienbegleitende Prüfungen
 
2.
Teil: Diplomprüfung
 
3.
Teil: Mündliche Diplomprüfung.“
 
Timm Grams

4. Fehleranalyse

Zusammenfassung
Es ist wohl anerkannt, daß die Frage nach den Fehlerursachen von außerordentlicher Wichtigkeit ist. Das Kurieren an Symptomen zahlt sich nirgendwo aus. Auch beim Programmieren nicht. Tatsächlich ist auch kein Mangel an Veröffentlichungen, die Fehler- und Ursachenanalysen zum Gegenstand haben.
Timm Grams

5. Programmierstil

Zusammenfassung
Neigungsbedingte Fehler hängen vom Hintergrundwissen und von der Aufgabenstellung ab. Die Vermeidung von neigungsbedingten (und anderen) Fehlern kann demnach grundsätzlich gelingen durch
  • den Verzicht, die Aufgabe überhaupt zu lösen
  • die Veränderung der Aufgabenstellung
  • die Veränderung des Hintergrundwissens
  • die Nutzung von Hilfsmitteln und Informationen, die das Hintergrundwissen ergänzen
Die erste der Möglichkeiten muß ins Auge gefaßt werden, wenn die Risiken, die mit der Lösung einhergehen, den erwarteten Nutzen übersteigen. Der Programmierer muß auch darüber nachdenken. Seine Hauptaufgabe besteht aber nicht darin, Aufgaben in Frage zu stellen, sondern nach gangbaren Lösungswegen zu suchen.
Timm Grams

6. Qualitätsprüfung und Fehlertoleranztechniken

Zusammenfassung
Das Anliegen eines Textes über Programmieren muß zuallererst die Weiterentwicklung des persönlichen Programmierstils sein. Das war das Thema des vorhergehenden Abschnitts. Programmiertechniken und Mechanismen der Selbstkontrolle wie
  • das Programmieren nach Regeln
  • die Fehleranalyse
  • das Testen nach Regeln
  • die Fehlerbuchführung
stellen die Basis dar, von der aus hohe Software-Qualität erreicht werden kann. Diese Programmiertechniken konstituieren einen Rückkopplungsprozeß des Lernens aus den Fehlern, dessen Dreh- und Angelpunkt die Regelkataloge bilden. Für die Fortschreibung der Regelkataloge im Zuge des Rückkopplungsprozesses spielt die Fehleranalyse eine wichtige Rolle.
Timm Grams

7. Programmierstudien

Zusammenfassung
Bisher ging es um die Darlegung einer Methode, nach der jeder Programmierer seinen Programmierstil verbessern kann: optimales Lernen aus den Fehlern mit dem Ziel, korrekte, lesbare und effiziente Programme zu erzeugen.
Timm Grams

Backmatter

Weitere Informationen