Parainformatik
Die Parainformatik (manchmal auch Pseudoinformatik genannt) ist eine Betrachtung der klassischen Informatik aus einem neuen, evolutionären Blickwinkel. In der Parainformatik wird mehr das allgemeine Umfeld, in dem sich Quellcode befindet, als die Bedeutung des Codes selbst, betrachtet. Dennoch sind die positiven Einflüsse auf das Programm im Gesamten deutlich zu spüren.
Störgrößen[Bearbeiten | Quelltext bearbeiten]
Die Störgrößen, die mit Hilfe der Parainformatik erforscht werden, stellen heutzutage eine starke Belastung für moderne Computerprogramme dar, zu denen auch Spiele zählen. Immer komplexer werdende Algorithmen bringen die natürliche Ordnung unserer digitalen Umwelt durcheinander. Sowohl das Laufzeitverhalten, als auch der Speicherbedarf und andere wichtige Kenngrößen und letzendlich der Marktwert einer Software werden beeinträchtigt.
Diese Störeinflüsse können unter anderem von nicht entstörten Compilern, schlechtem Code, uvm. hervorgerufen werden.
Experten untersuchen gerade Unterschiede zwischen Programmiersprachen. Vermutungen zufolge sollen einige anfälliger für Störeinflüsse sein als andere. Das Ergebnis der intensiven Forschungen auf Basis modernster wissenschaftlicher Methoden gilt es jedoch noch abzuwarten (Stand 2016).
Erkennen der Störgrößen[Bearbeiten | Quelltext bearbeiten]
Es ist nicht immer leicht, Verursacher von Störgrößen ausfindig zu machen. Abgesehen von offensichtlichen Code-Konstrukten (Bsp. kurze Variablennamen) können auch viel subtilere Auffälligkeiten schon Anzeichen für eine hohe Belastung sein (Bsp. ungerade Anzahl an Leerzeichen im Code). Es wird angenommen, dass Schleifen (Bsp.: while, for) weniger Einflüsse auf ihre Umgebung abstrahlen, wenn ihre Abbruchbedingungen durch Primzahlen formuliert werden.
Minimieren von Störeinflüssen[Bearbeiten | Quelltext bearbeiten]
Der einfachste Weg, negative Erfahrungen mit Ihrer eigenen Software zu minimieren ist es, die Verursacher von unnötigen Einflüssen von Beginn an gering zu halten.
Bei großen Projekten mit vielen Zeilen Code, kann es teilweise sehr schwierig werden, alle Fehlerquellen direkt zu beheben. Hier bieten sich Beispielsweise sog. IntensivMethoden() an (Schreibweise von den Schöpfern der Parainformatik an die übliche Schreibweise einer Methode in vielen Programmiersprachen angelehnt). Diese IntesivMethoden() wurden von einem gewählten Fachkreis renommierter Parainformatiker als geeignet zur Entstörung betroffener Software erklärt. Einige Beispiele solcher Methoden sind z.B. der Sinus und der Cosinus, da für diese noch keine Nebenwirkungen beobachtet wurden.
Ein Beispiel (als Pseudocode) für eine Funktion "reinige()", die andere Funktionen von Einflüssen befreien kann.
funktion reinige(Funktion funktion)
sin(5); // Der Sinus einer Primzahl (hier 5, weil auch die Funktion 5 Zeilen hat) klärt die Energie und macht es einer Funktion, die danach aufgerufen wird leichter, korrekt zu arbeiten.
funktion(); // Aufruf der eigentlichen Funktion
; // Das 'leere Wort' gilt als besonders verträglich.
ende
Eine Solche Funktion könnte leicht nachträglich in bestehenden Quellcode eingefügt werden. Wenn man nun besonders auffällige Methoden in seinem eigenen Code ausfindig macht, kann man diese anstatt sie direkt aufzurufen auch über die Methode "reinige()" aufrufen.
Folgendes Beispiel zeigt, wie für eine nicht stark gestörte funktion "berechne()" Maßnahmen ergriffen werden können.
funktion main(...) // Einstiegspunkt in das Programm
// berechne();// Alter Code: "berechne()" wird direkt aufgerufen
; // Zwischen auskommentierten Funktionsaufrufen sollte immer mindestens ein Abstand von einer Zeile bestehen
reinige(berechne); // Neuer Code: Die Methode wird von unserer Hilfsmethode gestützt
ende
Haben Sie dazu keine Gelegenheit, weil es sich um bereits kompilierte Software handelt, müssen andere Faktoren zur Reduktion herangezogen werden (Bsp. unausgeglichenes Betriebssystem, falsche Maus/Tastatur, auch der Ort, an dem man sich befindet, kann eine Rolle spielen).
Es wird bereits an Geräten gearbeitet, die solche Einflüsse erkennen und beheben können.