Software        zurück ]      [ Stichworte ]      [ Literatur ]      [ Die Hyper-Bibliothek ]      [ Systemtheorie ]

Mit dem Ausdruck "Software" verweise ich nicht auf einen Gegenstand (also nicht auf ein Computer-Programm), sondern auf eine Eigenschaft des Computers.

Eine Maschine kann mit verschiedenen Programmen scheinbar in verschiedene Maschinen transformiert werden, so beispielsweise, wenn ich unter Windows von der Textverarbeitungsmaschinen zur Datenbankmaschine wechsle. Dieses 'Verhalten' bezeichnen wir als Software-Aspekt der Maschine. Diese "Erscheinung" verschwindet, wenn man die Programme als physische Teile der Maschine auffasst. Dann verändert sich die programmierte Maschine wie sich die BlackandDecker verändert, wenn man einen Bohrer oder eine Schleifscheibe einspannt

Dass ein Programm keine "Software" ist, sieht man unter anderem am Aufwand, der zu leisten ist, um ein Programm zu entwickeln oder zu ändern. Die Maschine in die 'richtige' Struktur zu bringen ist so hart, wie das Drehen einer Welle aus einem Stück Stahl.


Zur Begriffsgeschichte: 2 Aspekte

Als Computer wurden programmierbare Automaten bezeich net, also physische Maschinen, deren Funktion durch Programme beeinflusst werden können. Was Programme sind, ist dabei tautologisch bestimmt: Das, womit die Funktion der Maschine festgelegt wird:
Beispiel: Lochkarten bestimmen das Verhalten der Maschine.

1958 prägte der John W. Tukey den Begriff "Software" typischerweise in der Mathe-Zeitschrift "American Mathematical Monthly" unter dem Titel "The Teaching of Concrete Mathematics" wie folgt: "Today the 'software' comprising the carefully planned interpretive routines, compilers, and other aspects of automative programming are at least as important to the modern electronic calculator as its 'hardware' of tubes, transistors, wires, tapes and the like."
In diesem Fall geht es darum, die algebraische Logik hervorzuheben, die das Rechnen überhaupt erst möglich macht.

In den 1970er Jahren verlangte die US-Regierung von IBM eine detailiertere Rechnungsstellung, in welcher ersichtlich war, was die Maschinen kosten, und was das Einrichten der Maschinen kostet, weil IBM bis dahin "eingerichtete Maschinen" verkauft hat. Hintergrund dieser Forderung war natürlich, dass man die Maschinen auch selbst "einrichten" können wollte, respektive, dass es mittlerweile Programmierer gab, die diese Arbeit angeboten haben. Seit 1960 gab es kommerzielles Cobol und eine institutionelle Erforschung der Programmiersprache Algol, die von der amerikanischen Armee getragen wurde.
In den 1970er Jahren die Gründung von Firmen, die erstmals nur mit Software handelten und nur Software und keine Hardware entwickelten. Zu diesen Firmen gehörte in den USA Microsoft und in Deutschland SAP. Die Existenz solcher Firmen erscheint im 21. Jahrhundert als Selbstverständlichkeit, stellte damals jedoch eine erhebliche Neuentwicklung dar.


Literatur
"Speziell durch die Einführung der Mikroprogrammierung wird deutlich, dass Hardware und "Software" logisch äquivalent sind. Was vorher als eine Maschinen-Konstruktion angesehen wurde, kann jetzt als ein Programm aus detaillierten Anweisungen formuliert werden" (Keil-Slawik, 1985, 8).

Keil-Slawik sagt: Programmee sind auch hardware.

Der Ausdruck "Software" repräsentiert ganz viele begriffliche Probleme, die wir im Zusammenhang mit Wissen haben.

Die naive Auffassung sagt, "Software" sei im Unterschied zur Hardware das, was man nicht anfassen könne. Damit wird suggeriert, dass es etwas geistiges, imaterielles gebe, ganz analog dem, was man naiv als Wissen bezeichnet. Texte und andere Artefakte werden dann als Trägersubstanz von Wissen bezeichnet.

Als "Software" gelten in dieser naiven Sicht Programme, aber eben nicht wirkliche Programme, den diese sind natürlich materielle Artefakte, sondern etwas, was die Programme bedeuten sollen.

Die Klärung des "Software"-Begriffes klärt deshalb auch etwas vom Wissensbegriff.

"Etwa die Hälfte des Codes praktisch eingesetzter Software besteht (...) aus Benutzungsschnittstellen, Fehlermeldungen, Ausnahmebehandlungen und Kommentierungen, Aspekten also, die der Verständigung dienen und nicht der algorithmischen Verarbeitung durch den Rechner. (...) Software-Entwicklung ist also in erster Linie ein sozialer und kognitiver Prozess, bei dem die Qualität des erzeugten Produktes im wesentlichen vom Problemverständnis der beteiligten Menschen abhängt" (Keil-Slawik, 1990, 83).

"Auffallend ist die seit den Anfängen des Computers erfolgte Zunahme des Umfangs der Softwaresysteme. Die Grösse eines Systems kann in der Anzahl der Befehle gemessen werden. Allein die Software, die in einem heutigen Fernsehempfänger enthalten ist, kann bereits 10'000 Instruktionen enthalten. Für den Space Shuttle waren sogar 30-40 Mio. Befehle erforderlich, und die für die Weltraumstation benötigte Software wird aus 80 Mio. Anweisungen geschätzt. (...) Für die Erstellung und Inbetriebnahme eines grossen und komplizierten Softwaresystems wird von 100 $ je Befehl gesprochen, doch kommen auch wesentlich höhere Zahlen vor. (...) Gelegentlich müssen Softwarvorhaben als undurchführbar erkannt und abgebrochen werden; die aufgelaufenen Kosten, die in die Dutzende oder sogar Hunderte von Millionen Dollar gehen können, müssen als Verluste abgeschrieben werden. (...) Seit langem liegt die Leistung einer Softwaremannschaft in der Erstellung, Prüfung und Installation eines grossen un komplizierten Systems zwischen etwa 2000 und 5000 Befehlen je Mannjahr. Nun ist einzuräumen, dass es die neuen Programmierungssprachen erlauben, in einem einzelnen Befehl laufend mehr Funktionen unterzubringen. Aber diese Zunahme liegt hinter der Leistungssteigerung der Hardware weit zurück" (Speiser, A. P.: Aufstieg der Software zum Wirtschaftsfaktor, in: NZZ Nr. 304, 29.12.94, 23).

Softwarearchitektur


 
[wp]