Software-Evolution

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
[]

Software-Evolution ist eine wissenschaftliche Theorie und erklärt und beschreibt die Veränderlichkeit der Computersoftware.

Vererbung von Eigenschaften der Objekte einer Klasse

Im Gegensatz zum Leben auf dem Planeten Erde ist die Computersoftware nicht durch den Schöpfungsakt eines intelligenten Designers entstanden, sondern hat sich seit den Anfängen der Computergeschichte von selbst entwickelt. Beim Kopieren einer Diskette treten aufgrund von äußeren Einflüssen, z.B. verstellten Leseköpfen, Wackelkontakten, Magnetfeldern, Wetterradars usw. klitzekleine Kopierfehler auf, wodurch die Software ein wenig verändert wird. In den meisten Fällen führt dies zu Funktionsausfällen und Abstürzen, in seltenen Fällen kann aber gemäß dem Infinite-Monkey-Theorem auf diese Weise aus einer Datei mit Datenmüll ein ausführbares Programm mit nützlichen Funktionen entstehen.

Mehrfachvererbung zur Unterstützung allgemeiner Fähigkeiten

Hat ein Programm zu viele Bugs und stürzt immerzu ab, wird es nicht vervielfältigt. Dies bezeichnet sich als „natürliche Selektion“. Die wenigen nützlichen Mutationen finden hingegen eine hohe Verbreitung. Aber auch die nützlichen Programme sind fehlerhaft und stürzen immerzu ab; sie sind gerade mal so nützlich, dass sie gerade so noch vervielfältigt werden. Selten benutzte Funktionen werden mit der Zeit unbrauchbar, weil trotz der sich anhäufenden Fehler das gesamte Programm kopiert wird. Jedes Programm füllt daher genau eine informationstechnische Nische.

Subtyp-Vererbung zur Spezialisierung der Funktionalität einer abstrakten Klasse

Die Entstehung der ersten Computerprogramme setzt voraus, dass irgendwann einmal große Mengen an Datenmüll hin- und herkopiert wurden, wie es in Behörden und Versicherungsunternehmen der Fall ist.

wiki:Software-Evolution wiki-en:Software evolution