Multilangage

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Un programme multilangage (également écrit multi-langage) est un programme conçu pour fonctionner avec différents langages de programmation. L'usage de ce terme se retrouve dans deux cas :

  • soit le code source du programme est conforme à la syntaxe de plusieurs langages de programmation ;
  • soit le programme permet de travailler avec plusieurs langages différents.

Exécution multilangage

Un code source peut être écrit de sorte qu'il respecte la syntaxe de plusieurs langages de programmation. Il s'agit le plus souvent d'un défi ou amusement, au même titre que l'écriture d'un quine.

Un polyglot est un code source qui peut être interprété selon différents langages, et qui produit la même exécution avec chacun d'entre eux. Par exemple, le code source suivant peut être lu comme un programme en C, en PHP et en Bash :

#define a /*
#<?php
echo "\010Hello, world!\n";// 2> /dev/null > /dev/null \ ;
// 2> /dev/null; x=a;
$x=5; // 2> /dev/null \ ;
if (($x))
// 2> /dev/null; then
return 0;
// 2> /dev/null; fi
#define e ?>
#define b */
#include <stdio.h>
#define main() int main(void)
#define printf printf(
#define true )
#define function
function main()
{
printf "Hello, world!\n"true/* 2> /dev/null | grep -v true*/;
return 0;
}
#define c /*
main
#*/

Application multilangage

Certains logiciels permettent de travailler avec différents langages de programmation. C'est le cas des générateurs de documentation, de CPD (détecteur de copier-coller) ou même de compilateurs tels GCC ou LLVM car les optimisations lors de la phase de compilation sont indépendantes du langage d'origine. Certaines plates-formes peuvent également accueillir plusieurs langages, telles les machines virtuelles Java, .NET ou Parrot (les deux dernières ayant explicitement été prévues en ce sens).

Voir aussi

  • Internationalisation de logiciel
  • Multilinguisme
v · m
Éléments de programmation informatique
Bibliothèque logicielle
Vocabulaire
Fonctions
Objet
Événementiel Inversion de contrôle
Code source
Structures de données
Déclarations
Structures de contrôle
Fonctions usuelles
Outil de développement
Folklore
Catégories :
  • Programmation informatique
  • Développement logiciel
  • icône décorative Portail de la programmation informatique