liaison

Une liaison est la couche qui permet à un programme écrit dans un langage d'utiliser du code écrit dans un autre.

Ce que le mot veut dire

Le moteur est écrit dans un seul langage, Rust, et c'est là que le travail se fait. Un programme écrit en Python ne peut pas l'appeler directement : les deux ne s'entendent pas sur la façon dont un nombre, un texte ou une liste sont rangés en mémoire.

La liaison est le traducteur qui se tient entre les deux. Un appel du côté Python fait passer les arguments, exécute le vrai code, et rend la réponse. Elle est écrite une fois, et tous ceux qui travaillent en Python en profitent.

Ce qu'il fait sur un vrai document

Chaque exemple de ce site est publié deux fois, une fois dans chaque langage, et dessine exactement le même document. Les deux fichiers sortent identiques octet pour octet, ce qui prouve que la liaison ne cache rien et n'ajoute rien de son cru.

Il existe une troisième voie, qui n'est pas une liaison du tout : envoyer une description du document à un serveur, par le réseau. Un programme dans n'importe quel langage sait le faire, sans se lier à quoi que ce soit.

D'où il vient, et pourquoi

Le problème est aussi vieux que le fait d'avoir plus d'un langage. Une bibliothèque qui vaut d'être écrite vaut d'être utilisée de partout, et la réécrire dans chaque langage, c'est autant de versions à tenir au même niveau, et autant d'endroits où elles peuvent diverger.

La sortie a toujours été la même : écrire le travail une fois, dans le langage qui lui convient, et l'emballer finement pour les autres. Ce qui a changé au fil des ans, c'est seulement la finesse possible de l'emballage.

Revenir au glossaire complet