Binding

Ein Binding ist die Schicht, mit der ein Programm in einer Sprache in einer anderen Sprache geschriebenen Code nutzen kann.

Ausführlicher

Die Engine ist in einer Sprache geschrieben, Rust, und dort geschieht die Arbeit. Ein in Python geschriebenes Programm kann sie nicht einfach aufrufen: Beide wurden gebaut, um unterschiedlich zu sprechen.

Das Binding ist der Übersetzer, der zwischen beiden steht. Ein Aufruf auf der Python-Seite reicht die Argumente hinüber, führt den eigentlichen Code aus und reicht die Antwort zurück. Es wird einmal geschrieben, und jeder, der in Python arbeitet, erhält es.

Was es an einem echten Dokument bewirkt

Jedes Beispiel auf dieser Website wird zweimal veröffentlicht, einmal in jeder Sprache, und erzeugt genau dasselbe Dokument. Die beiden Dateien kommen Byte für Byte identisch heraus; das beweist, dass dieser Übersetzer zwischen den beiden Sprachen genau das weiterreicht, was er erhält, und genau das zurückgibt, was die Engine erzeugt hat.

Es gibt einen dritten Weg, der überhaupt kein Binding ist: eine Beschreibung des Dokuments über das Netz an einen Server zu senden. Ein Programm in jeder Sprache kann das, ohne etwas einzubinden.

Woher es kommt, und warum

Das Problem ist so alt wie die Existenz von mehr als einer Sprache. Eine Bibliothek, die es wert ist, geschrieben zu werden, ist es wert, von überall genutzt zu werden, und sie in jeder Sprache neu zu schreiben heißt, ebenso viele Fassungen im Gleichklang zu halten und ebenso viele Stellen, an denen sie auseinanderlaufen.

Der Ausweg war immer derselbe: die Arbeit einmal schreiben, in der Sprache, die zu ihr passt, und sie für die anderen dünn umhüllen. Geändert hat sich im Lauf der Jahre nur, wie dünn die Hülle sein kann.

Zurück zum ganzen Glossar