Kauderwelsch oder Kommunikation: DV-Spezialisten im Gespräch

03.05.1985

Hans Keutgen Leiter der GEI-Niederlassung Aachen

Babylonische Sprachverwirrung - ist das nicht nur eine These von praxisfremden Informatikern? Wenn Datenverarbeiter beisammen sind, könnte ein Außenstehender annehmen, er sei in einen Kreis von Personen geraten, die weder Deutsch noch Englisch richtig beherrschen. Ist die Verwendung der fremdsprachigen Fachterminologie die Rettung oder eine eindeutige Hilfe?

Ende der 60er Jahre hatte ich mein - so glaubte ich - fachsprachliches englisches Rüstzeug zur Entwicklung von Software parat. Ich konnte mit Begriffen wie 'file', 'record', 'byte', 'editor', 'compiler' etwas anfangen. Konfrontiert wurde ich dann plötzlich mit Begriffen wie 'Abwickler', 'Idiot', 'Großseite ', 'Kachel', 'Kompilierer'. Ich benötigte schon einige Zeit, um die wichtigsten Äquivalenzen zu verstehen. Synonyme wie Nullprogramm, Idiot, 'idle loop' wurden die größte Selbstverständlichkeit. Doch die bald vertrauten deutschen Begriffsbildungen verschwanden schnell wieder aus meinem Sprachschatz, da der Traum einer deutschen DV-Weltmachtstellung im technologischen - vielleicht auch förderpolitischen - Bereich zerplatzte.

Also benutzten Datenverarbeiter wieder die Begriffe die ihnen der Technologievorreiter beschert hatte. Ich greife in den schier unendlichen Vorrat: Software, Hardware, Firmware, spezifizieren, programmieren, codieren, implementieren, Record, File, ... oder zu den Mischformen - Sprachbastarden - wie reviewen, dumpen, swappen, Softwareentwurf, die der Duden als Gralshüter der deutschen Sprache nicht einmal eines Blickes würdigen möchte.

Ich versuche einmal, die Begriffe inhaltlich zu definieren - also die Grundlage für die Kommunikation zwischen Menschen zu legen. DV-Spezialisten wissen, was Hard- und Software ist - nämlich, wie der Name bereits verrät, etwas Handfestes: Chips, Boards, Moduln, Komponenten, alles Dinge, die man einzeln oder als gesamtes anfassen kann. Nebenbei, ist ein Fernseher in Modultechnik Hardware?

Etwas genauer soll der Begriff "Software" betrachtet werden. Da DIN nichts zu dem Thema sagt, greife ich auf eine andere Quelle zurück. Dort - Wolfgang Hesse unter anderen, "Ein Begriffssystem für die Softwaretechnik, Vorschlag zur Terminologie" - steht zu lesen: ... Menge von Programmen oder Daten zusammen mit begleitenden Dokumenten, die für ihre Anwendung notwendig oder hilfreich sind.

Die Definition geht auf die Begriffe Datum und Programm zurück, doch dazu später mehr. Software wird hier weiter gefaßt als im klassischen Weltbild - eine Folge aus 0 und 1, verborgen in der Hardware. Handfestes Papier oder auch Datenträger gehören dazu, um die Arbeit der Entwickler anderer transparent und nützlich zu machen. Steckt da nicht schon die Erfahrung von vielen (neudeutsch) "M$", die Softwareentwickler verbraucht, aber nicht gebraucht haben?

In einer populärwissenschaftlichen Abhandlung aus dem Anfang der 70er Jahre, die Laien in der Computerwelt einführen soll, steht gar: Unter der Software versteht man die vom Hersteller für das betreffende Anlagensystem bereitgestellten Programme.

In einen zwanzig Bände umfassenden, weiterverbreiteten Lexikon, das Mitte der 70er Jahre erschien, findet man zwar Softdrink, aber nichts über Software.

Ich greife nun einmal als Thema "Programm" auf. Nach

DIN 44 300 gilt: Eine zur Lösung einer Aufgabe vollständige

Anweisung zusammen mit allen erforderlichen Vereinbarungen.

Hintergrund dieser 1965 festgelegten Norm sind die prozeduralen Sprachen, die die wohl klassische Trennung von Daten und Algorithmen - programs = data + algorithms - festschreiben. Ist das jedoch eine Sicht, die heute noch aufrechterhalten werden kann? Was schreiben denn die Forscher im KI-Bereich, wenn sie sich mit Prolog, OPS5 oder anderen modernen Errungenschaften beschäftigen?

Wenn es schon so schwierig ist, diese Grundlagen zu klären, sollte man sich lieber den praktischen Dingen (...) wenden. Jeder Insider (...) welche Tätigkeiten während der Entwicklung von Software ausgeführt werden.

Zunächst untersucht man das zu "automatisierende" Umfeld und beschreibt die zu realisierende Lösung. Die Metabegriffe "untersuchen" und "beschreiben" helfen über die ersten Probleme. "Untersuchen" heißt doch wohl: analysieren, die Requirements spezifizieren, ein Pflichtenheft erstellen... "Beschreiben" ist doch wohl: definieren, spezifizieren, ein Lastenheft (oder gar ein Pflichtenheft) erstellen,... Dann macht man sich Gedanken über den Aufbau und die Erstellung der Software, also entwerfen, spezifizieren, konstruieren, codieren, implementieren.

Was heißt denn in diesem Zusammenhang "implementieren"? Ist es die Tätigkeit die das Lastenheft in ausführbare Programme transformiert, ist es die Übersetzung eines vollständigen Entwurfs - oder Spezifikation - in eine formale Progammiersprache mit anschließendem Test oder gar nur die Einbringung der ausgetesteten Software in die Benutzerumgebung? Kleiner Ratschlag für die Praxis: Wenn Sie auch nicht wissen, was Ihr Gesprächspartner meint, fragen Sie ihn doch! Oder empfinden Sie es als blamabel, wenn Sie solche Banalitäten der Umgangssprache nicht beherrschen?

Spezifizieren scheint ein Allerweltswort ähnlicher Schattierung zu sein. Wenn nichts mehr hilft, dann spezifiziert man Spezifizieren durch ein spezifizierendes Beiwort - etwa Anforderungsspezifikaton, Systemspezifikation, Entwurfsspezifikation, Programmspezifikation, ... . I(m Sinne der Verwendung allgemeinverständlicher Termini ist hier wohl einiges zu spezifizieren oder besser vielleicht zu definieren.

Die Vereinheitlichung der verwendeten Begriffswelt ist dringend erforderlich. Auch wenn dieses Unterfangen schwierig ist, sollte man es nicht aussparen. Einheitliche Sprache tut not, um der sinnvollen Verständigung

zwischen Fachleuten willen. Normen, Standards, defacto-Standards etc. sind Wege in die notwendige Richtung, die Begriffe unseres Denkens und Handelns einem bei DV-Spezialisten gemeinsamen Verständnis zuzuführen. Das kann nur die Grundlage echter Kommunikation sein und nicht die herrschende babylonische Sprachverwirrung.

P.S: Was ist denn nun "Firmware"? Ist das vielleicht in Hardware versteckte Software? Ich habe bei diesen Basisüberlegungen immer das ungewisse Gefühl, daß Abstraktionen, die wir einführen, auch von Zeit zu Zeit überdacht werden müssen.