Kern-Satelliten-Kombinationen
Literale reichen nicht immer aus, um alles Gewünschte auch ausdrücken zu können, da sie keine weitere innere Struktur besitzen. Oft ergibt sich der Wunsch, eine Bedeutung durch eine strukturierte Beschreibung angeben zu können.
Eine strukturierte Beschreibung besteht meistens aus einer groben Typangabe und weiteren Details. Man denke an eine Beschreibung wie „Die Biene Maja“. Hier gibt das Wort „Biene“ an, worum es überhaupt geht, nämlich um eine Biene, während dann eine nähere Bestimmung durch die zusätzliche Angabe „Maja“ erfolgt.
Daß es sich um eine Beschreibung handelt und was sie bedeutet, wird in dem Lied „Biene Maja“ selbst deutlich gesagt: „Und diese Biene, die ich meine, nennt sich ‚Maja‘ “.
In der Linguistik bezeichnet man die Angabe des Grundtyps als den Kern und die weiteren Bestimmung als die Satelliten der Beschreibung. In der Beschreibung „Die Biene Maja“ ist also „Biene“ der Kern und „Maja“ ein Satellit.
Eine einfache Beschreibung wie „die Biene“ besteht nur aus einem Kern ohne Satelliten. Man kann die Satelliten oft weglassen, ohne die Bedeutung ganz zu verfälschen, auch wenn sie dann vielleicht ungenauer wird. So kann wird aus „Dort fliegt eine Biene Maja.“ dann „Dort fliegt eine Biene.“. Das zeigt, daß der Kern schon das Wesen eines Begriffs enthält, während die Satelliten die Details klarstellen. So kann man also auch die Wahl der Bezeichnung „Kern“ und der Bezeichnung „Satellit“ verstehen.
Manchmal kann aber auch der Kern weggelassen werde, wie etwa in „Dort fliegt Maja.“ Die schon bekannten Literale lassen sich so als Satelliten verstehen, deren Kern stillschweigend enthalten ist, so wie „4“ eine Kurzschreibweise für die ausführlichere Beschreibung „Die ganze Zahl 4“ mit dem Kern „ganze Zahl“ und dem Satelliten „4“ ist.
Somit wird auch die Bedeutung von Kern und Satelliten klar: Der Kern gibt den Typ des Beschriebenen an (z.B. eine Biene oder eine ganze Zahl), die Satelliten legen dann ein Individuum dieses Typs (z.B. Maja oder 4) fest.
Nun soll es darum gehen, wie in formalen Sprachen Satelliten zu Kernen gefügt werden können.
Es stellt sich heraus, daß man für eine vollständige Programmiersprache nicht mehr braucht als die Möglichkeit, Angaben aus Kernen und Satelliten zusammensetzen zu können.
Scheinbar enthalten viele Programmiersprachen noch viel mehr Möglichkeiten als nur Kern-Satelliten-Beschreibungen, doch tatsächlich sind diese Schreibweisen nur verschiedene Varianten, die im Grunde alle aus einem Kern und aus Satelliten bestehen. Sie unterscheiden sich nur in der Schreibweise: So wird der Kern einmal vor und einmal hinter die Satelliten geschrieben, manchmal auch dazwischen und so weitern.
Der vorangestellter Kern mit eingeklammerten Satelliten
Ein sehr weit verbreitete Schreibweise für Kern-Satelliten-Beschreibungen ist der vorangestellte Kern mit direkt folgenden eingeklammerten Satelliten.
- 〈vorangestellter Kern mit eingeklammerten Satelliten 〉 ::=
- 〈Kern 〉 "(" 〈Satelliten 〉 ")".
Bei dieser Schreibweise wird der Kern zuerst geschrieben und die Satelliten folgenden dann in runden Klammern. „Die Biene Maja“ würde man in dieser Schreibweise als "Biene( Maja )" schreiben. Man erkennt, daß diese Schreibweise gar nicht fremdartig ist, denn sie ist ja praktisch wie die normale deutschsprachige Bezeichnung „Biene Maja“, nur daß der Satellit „Maja“ eingeklammert wurde. Die Klammern machen die richtige Interpretation der Beschreibung sogar noch einfach als in der deutschsprachigen Bezeichnung „Biene Maja“, weil sie es sofort erkennen lassen, was Kern und was Satellit ist: Der Kern steht immer vor den Klammern und die Satelliten in der Klammern.
Tatsächlich entwickelte sich die gleichartige mathematische Funktionsschreibweise vermutlich aus der normalen Sprache. „Der Sinus des Winkels x“ heißt auf Lateinisch „Sinus Arcus x“, dies wurde von Euler zunächst als "Sin. Arc. x " abgekürzt und später wurde dann nur noch "sin x " geschrieben, oder, mit eingeklammertem Satelliten: "sin( x )". Auch heute wird die Schreibweise "sin x " (neben der Schreibweise "sin( x )") in der Mathematik verwendet, während viele Programmiersprachen Klammern um den Satelliten verlangen.
In der Mathematik nennt man den Kern hier auch eine Funktion und die Satelliten die Argumente. Beim Programmieren hat aber die Bezeichnung „Funktion“ manchmal eine andere Bedeutung und außerdem verwendet man auch Kerne, die keine Funktionen im mathematischen Sinne darstellen müssen. Deswegen wird in diesem Text auf die allgemeinere Bezeichnung „Kern“ zurückgegriffen.
Die Funktion "sin" ist auch der Kern in der Beschreibung "sin( x )", sie gibt also an, daß es sich hier um einen Sinus-Wert handelt. Der Satellit "x " sagt dann genauer, um welchen Sinus-Wert es sich handelt, nämlich um den Sinus von "x ". Genauso gibt ja auch der Kern „Biene“ in „die Biene Maja“ an, daß es sich hier um eine Biene handelt, während der Satellit „Maja“ genauer sagt, um welche Biene es sich handelt.