Hochsprachen

Die niedrigste Ebene der Wiederverwendung, die hier betrachtet werden soll, ist die der Hochsprachen. Vor deren Verbreitung wurde Software in Assemblersprachen oder direkt im Maschinencode geschrieben. Die Komplexität der Befehle und Kontrollstrukturen ist in der Regel sehr klein, gleichzeitig ist die Abstraktion sehr gering. Softwareentwickler mußten daher auf der Ebene der Maschine denken und nicht auf der Ebene des Problembereiches. Weiterhin sind die wiederverwendbaren Teile eines Programmes nur schwer auszumachen.

Häufig auftretende Konstrukte aus Maschinenanweisungen, wie z.B. Schleifen und arithmetische Ausdrücke, bilden nun die Primitive der Hochsprache (siehe Abbildung 4). Diese Konstrukte werden von Charles W. Krueger auch als Implementierungsmuster ( implementation patterns ) bezeichnet ([Krueger, 1992]). Gegenstand der Wiederverwendung sind hier "Assemblersprachen-Muster" , Entwurfsmuster auf unterster Ebene. Ein Hochsprachenkonstrukt, wie eine while-do -Anweisung, kann als eine Abstraktion, als ein Name für ein Muster angesehen werden, daß diese Funktion realisiert. An die Stelle des Hochsprachenkonstrukts while-do -Schleife, tritt bei der übersetzung die Realisierung des Musters. Durch Hochsprachen erreicht man um den Faktor fünf kürzere Entwicklungszeiten im Vergleich zu Assemblerlösungen [Krueger, 1992, S. 139].

Abbildung 4: Wiederverwendung durch Hochsprachen: Assembler-Muster

Der Vorteil der Hochsprachen ist, daß sie vollständig formal spezifizierbar sind. Dies erlaubt die automatisierte Umsetzung mit Hilfe von Compilern mit Syntax- und Semantikprüfung. Hochsprachen sind in der Regel allgemein gehalten. Mit ihnen lassen sich prinzipiell alle Problemstellungen lösen (turing-mächtig). Das heißt aber auch, daß keine problemorientierten Sprachelemente existieren. Die Lösungen zu Problemen, wie z.B. das Durchsuchen einer Liste, müssen auf die Konstrukte der Sprache heruntergebrochen werden. Bezüglich Wiederverwendung sind Hochsprachen daher ganz unten in der Hierarchie einzuordnen. Die Anzahl der zur Verfügung stehenden Wiederverwendungselemente ist relativ gering (abhängig von der Sprache) und daher gut überschaubar.