Wie vollständig ist vollständig oder was implementiert man

Ich hatte ja schon darüber geschrieben, dass wir einen recht guten BASIC-Interpreter in unserer Software eingebaut haben, mit dem man tatsächlich alles Steuern und umfangreiche Berechnungen durchführen kann. Nun zeigte sich, dass wir teilweise Matrix-Algebra benötigen, um verschiedene Auswertungen effizient zu ermöglichen. Selbstverständlich könnten wir auch verlangen, dass der Anwender alles von Hand programmiert, aber das ist wohl nicht der Sinn der Sache, viel besser ist es, wenn es spezielle Anweisungen und Funktionen als integralen Bestandteil der Sprache gibt, die so etwas übernehmen. Also haben wir angefangen, Matrix-Algebra-Funktionen in die Sprache einzubauen. Das ist natürlich ein immens weites Feld. Wer sich mal etwas näher damit beschäftigt hat wird wissen, dass die mathematische Verknüpfung von Variablen, Vektoren und Matrizen nicht nur starren Regeln folgt, sondern auch sehr viel Raum für Zulässigkeitsbetrachtungen und Implementierungsformen bildet.
Genau hier liegt dann das Problem. Tatsächlich brauchen wir nur sehr wenige Vektor- und Matrixoperationen für alle Auswertungen, die in unserem Fachbereich notwendig sind.
Hoch-komplexe Auswertungen würde man ohnehin mit anderen Werkzeugen als der von uns implementierten Programmiersprache erstellen. Die Schönheit der Vollständigkeit verlangt natürlich, alle Varianten einzubauen, selbst die, die nicht benötigt werden; die wirtschaftliche Betrachtung verbietet das jedoch.
Generell hat man immer wieder die Situation, dass die Frage aufgeworfen wird: „Wenn das schon vorhanden ist, warum dann nicht noch den kleinen Schritt gehen, um es vollständig zu machen?“. Was jedoch ist schon tatsächlich vollständig? Das liegt immer im Auge des Betrachters. Eine pragmatische Sicht ist zu sagen, dass vollständige Programme all das enthalten, was üblicherweise benötigt wird (das lässt natürlich Raum in Bezug auf die Betrachtung, was als „überlicherweise“ zu bezeichnen ist). Damit wird die Vollständigkeit zu einem gleitenden Prozess. Es gibt also immer eine „aktuelle Vollständigkeit“, die sich durch neue Erkenntnisse oder Anforderungen in eine „Unvollständigkeit“ wandeln kann, was dann wiederum mit sich bringt, dass Erweiterungen vorgenommen werden müssen, um wieder eine „aktuelle Vollständigkeit“ zu erreichen.
Ich denke, dass dieser Ansatz vertretbar ist (und vor allem wirtschaftlich sinnvoll).

Dieser Beitrag wurde unter Allgemein, Programmerweiterungen, Programmieren an sich veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Ein Kommentar zu Wie vollständig ist vollständig oder was implementiert man

  1. Timm sagt:

    Interessanter Beitrag. Würde gern mehr Blogposts zu dem Thema lesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.