Beispiel: Programmiersprachen
Auch im Bereich der Programmiersprachen (die ich jetzt auch einfach mal als “Programme” bezeichne) herrscht ein sehr starker Konkurrenzdruck, da es auch hier eine Unzahl von verschiedenen Arten gibt, die um die Nutzergunst werben und die – ebenso wie Programme, aber auch wie Lebewesen – einer ständigen Modifikation und Anpassung an die Umwelt unterliegen. Insbesondere kann es auch passieren, dass ehemals sehr erfolgreiche Sprachen an den Rand der Bedeutungslosigkeit gedrängt und durch andere Sprachen ersetzt werden, je nach dem, welche Sprache gerade am besten an die aktuellsten Gegebenheiten angepasst ist (ein echtes Aussterben ist allerdings nicht so oft zu beobachten – bei einigen Sprachen kann man hier durchaus von “leider” sprechen). Nehmen wir etwa den Sprung von Assembler zu den Hochsprachen. Vor der Entwicklung der strukturierten Programmierung war Assembler die hauptsächlich (praktisch einzige) zur Verfügung stehende Programmiersprache; mit dem Aufkommen der ersten strukturierten Programmiersprachen wie Basic und Pascal aber wurde Assembler ziemlich schnell verdrängt und fristet heute ein Nischendasein im Bereich des High Performance Computing und der extrem systemnahen Entwicklung (man mag jetzt einwenden, dass das nicht unbedingt eine “Nische” ist – relativ gesehen ist Assembler aber nicht sonderlich weit verbreitet). Gleiches geschieht Sprachen, die mit der aktuellen Entwicklung der Technik und insbesondere den Anforderungen an moderne Programmiersprachen nicht Schritt halten können (also weniger gut an die Umwelt angepasst sind) und so ebenfalls an Bedeutung verlieren; prominentes Beispiel hierfür ist die Programmiersprache C++, welche lange Zeit ohne Neuerungen auskommen und dafür mit sinkender Verbreitung bezahlen musste.
Andersherum gilt aber auch der memetische Ansatz für Programmiersprachen. Sprachen mit einer sehr weiten Verbreitung können sich – ähnlich wie der Firefox – allein dadurch länger behaupten, dass sie ständig weiterempfohlen (auch und vor allem in der akademischen Lehre!) und benutzt werden. Dabei ist der Verwendungsgrad teilweise völlig unabhängig davon, wie “gut” die Sprache zur Lösung bestimmter Probleme geeignet ist; allein dadurch, dass sie eine weite Verbreitung hat, wird sie auf alle möglichen Probleme angewendet, auch auf solche, für die es eigentlich bessere Ansätze gäbe. Der Grund hierfür dürfte unter anderem auch sein, dass viele Leute zuerst mit einer bestimmten Sprache in Kontakt kommen und dann zeitlebens an ihr hängen bleiben (ganz analog zu Webbrowsern, Betriebssystemen und so weiter) – gewissermaßen stellen derartige Sprachen ein selbsterhaltendes Mem dar.
Fazit
Ich hoffe, meine Gedanken zur Evolution und Verbreitung einigermaßen verständlich zu (digitalem) Papier gebracht zu haben. Wir haben gesehen, auf welche Art und Weise Programme am Leben erhalten und verbreitet werden und wie aus dem Umfeld der Informatik Parallelen zur Genetik und Memetik gezogen werden können.
Welche Erkenntnisse aus derartigen Betrachtungen gezogen werden können, ist nun natürlich zu diskutieren – ähnliches gilt aber auch für die Evolutionstheorie und die Memetik (letztere wird übrigens auch genau dafür kritisiert, dass sie keinen echten “Mehrwert” in Bezug auf die Erkenntnis bringt). Ich persönlich denke aber, dass Gedanken und Untersuchungen zur Verbreitung von Programmen durchaus von Vorteil sein können. Auf der einen Seite natürlich für die Softwareentwickler, die nach Wegen suchen, ihre eigenen Programme zu verbreiten oder in guter Verbreitung zu halten; auf der anderen Seite aber auch für die Nutzer von Programmen, die durch derartige Betrachtungen ihr eigenes Nutzungsverhalten hinterfragen können und sich somit vielleicht wenigstens ab und zu die Frage stellen, aus welchem Grund sie an einem bestimmten Programm festhalten und ob nicht doch vielleicht ab und zu ein Programmwechsel etwas frischen Wind in das (Computer-)Leben bringen würde.
Die Historie hat gezeigt: in dynamischen Systemen führt Stillstand nur selten zum Erfolg; nur, wer sich verändert und anpasst, kann mit dem Wandel Schritt halten. Habt also Mut zur Veränderung und schaut ab und zu über den Tellerrand hinaus – irgendwann wird es sicherlich auf die ein oder andere Weise belohnt werden.
Kommentare (23)