Diskussion über NP geht immer weiter:

Jetzt schalten sich die Anwender ein

01.09.1978

MÜNCHEN (hö) - Nachdem sich jetzt in drei CW-Ausgaben (Nr. 27, 30 und 32) das Software-Spezialisten-Team Röttger und Osterberg von der Software-Technik, München, mit Dr. Reinhold Thurner, Sodecon AG, über Sinn und Unsinn der Normierten Programmierung auseinandersetzten, schaltet sich jetzt erstmals ein Anwender in die Diskussion: Ladislav Motl, Datenbank-Spezialist bei der Münchener Rück-Versicherung, hält den Streit über NP-Generatoren für überflüssig, "weil er jeglicher Grundlage entbehrt, wenn man das Problem sachlich analysiert". Hier seine Argumente:

Das Ziel eines Programmierers ist es, nicht nur ein Programm zum Laufen zu bringen, sondern auch dafür zu sorgen daß später bei der Programmpflege die EDV-Kollegen (oder er selbst) sich in diesem Programm leicht zurechtfinden. Um dieses Ziel zu erreichen, sollte er normiert" programmieren.

Die NP unterscheidet sich von der Nicht-NP durch folgende Merkmale:

1. Die normierte Steuerung der Verarbeitungsprozeduren, hauptsächlich der Gruppenwechselsteuerung.

2. Die normierte Vergabe der Paragraphen-Namen der Unterprogramme und die Berücksichtigung der Restriktionen zum Aufbau der Programmstruktur (hat mit Strukturierter Programmierung nichts zu tun).

3. Die normierte Vergabe von Feldnamen in den Ein/Ausgabebereichen und dem Arbeitsbereich.

Die Kenntnis dieser Normen ist das "Einmaleins" eines Programmierers, wodurch er mit zunehmender Praxis diese Standards immer mehr unbewußt als bewußt bei seiner Arbeit einsetzt. Einem Anfangsprogrammierer muß aber zuerst dieses Einmaleins beigebracht werden. Dabei kann ein NP-Generator gute Dienste leisten, weil die Zeitspanne, in der aus einem EDV-Neuling über das Stadium eines EDV-Künstlers ein EDV-Realist wird, unterschiedlich groß ist. Dies gilt aber nur bei Punkt 1.

Es ist leicht einzusehen, daß ein NP-Generator einem Programmierer in den Punkten 2 und 3 nicht besonders viel helfen kann. Für diese zwei Merkmale müssen in jeder EDV-Abteilung Programmkonventionen ausgearbeitet werden, die dann zu jedem Zeitpunkt der Softwareentwicklung eingehalten werden sollten. Der NP-Generator ist aber lediglich in der Lage, zu Anfang der Programmierung ein Programmskelett zu erzeugen.

Die Qualität eines solchen Programmskeletts hängt von der Qualität des NP-Generators ab. Vielleicht wäre es sinnvoll, darüber zu diskutieren, was (und wie) im Detail ein NP-Generator minimal und maximal erzeugen soll.

Es ist nicht unbedingt notwendig, daß ein NPG alle Möglichkeiten und Ausnahmesituationen berücksichtigt, da die Bereitschaft eines Programmierers, in die erstellte Logik einzugreifen, mit zunehmender Komplexität abnimmt und er das Ganze lieber als "blackbox" betrachtet.

Jeder Generator erzeugt notwendigerweise im Programmskelett viel Überflüssiges, das sowieso gelöscht werden muß wenn das Programm später effizient arbeiten soll.

Solche Eingriffe kann ein Programmierer aber nur dann mit gutem Gewissen vornehmen, wenn er die vom NP-Generator benutzte Logik hundertprozentig kennt. Wenn er aber die Logik kennt, braucht er keinen NP-Generator, weil die Erzeugung der Steuerkarten für den NP-Generator länger dauert, als wenn er selbst diese normierte Steuerung codieren würde.

Es gibt Programmierer, die das "Einmaleins" der Gruppenwechselsteuerung auch im Schlaf bis zu x-beliebigen Gruppen beherrschen. Das Ganze läßt ß sich tatsächlich auf einem DIN-A4Blatt darstellen.

Dennoch ist der Einsatz des NP-Generators in jeder EDV-Abteilung zu empfehlen, weil er als Barometer für die Qualitätsbeurteilung der Programmierer dienen kann. Wenn die ersten Frustrationsausbrüche über den NP-Generator bei einem Programmierer stattfinden und er behauptet, lieber zu kündigen, als "so einen Schmarrn" zu benutzen, ist er kein Anfänger mehr, was mindestens mit einer Gehaltserhöhung bewertet werden sollte.