Orthogonalität (Informatik)
# Orthogonalität (Informatik)

In der Informatik ist Orthogonalität ein Entwurfsprinzip, nämlich die freie Kombinierbarkeit unabhängiger Konzepte.
Zum Beispiel galt schon in Algol 60: Wo irgendein Ausdruck eines Typs stehen darf, darf jeder beliebige Ausdruck dieses Typs stehen (beispielsweise ein beliebig komplizierter arithmetischer Ausdruck zur Berechnung eines Indexes zur Bezeichnung eines Feld-Elements). Später in Fortran 66 durfte aber als (ganzzahliger) Index dagegen nur ein Ausdruck der Bauart „Konstante$_1$ mal Variable plus Konstante$_2$“ stehen, wobei zwei der drei Werte (samt zugehörigen Rechenzeichen) fehlen konnten. Das war ein Verstoß gegen das (viel früher formulierte) Entwurfsprinzip der Orthogonalität.
Orthogonalität bezeichnet auch, dass nicht mehrere Programme gleiche Funktionen haben. Zum Beispiel wird unter Linux die spezifizierbare Auswahl von Dateien von dem Programm find getroffen. Auf der anderen Seite kann find nur Dateien auswählen und hat keine zusätzlichen Funktionen; es lässt sich aber mit allen anderen Kommandos mittels der Pipekonstruktion "|" kombinieren. Das Programm tar kann mehrere Dateien zu einem Archiv zusammenfassen; zum Komprimieren wird es mit gzip kombiniert. gzip kann nur eine Datei komprimieren und kann keine Dateien auswählen oder zusammenfassen: $ echo 'H4sIAAAAAAAAAzMx4gIAMSmG0QMAAAA=' | base64 -d | gzip -d
Bei Mikroprozessoren ist Orthogonalität eine bestimmte Eigenschaft des Befehlssatzes. Ein orthogonaler Befehlssatz bedeutet, dass jeder Befehl auf jedes Register angewendet werden kann und jede Adressierungsart zugelassen ist.
Bei magnetischen Speichermedien ist Orthogonalität eine Aufzeichnungstechnik, siehe Perpendicular Recording.