Ci sono un paio di rari casi limite in cui la programmazione con poliglotta è utile. Con la programmazione poliglotta, il codice sorgente può essere compreso in più lingue. Di solito, questo è fatto per una sorta di retrocompatibilità.
Ad esempio, possiamo creare uno script Perl che può anche essere invocato come script di shell, che ha alcuni usi se il sistema non supporta correttamente la linea shebang:
#!/bin/sh
#! -*-perl-*-
eval 'exec perl -x -wS $0 ${1+"$@"}'
if 0;
(da perldoc perlrun )
È anche abbastanza comune per le librerie C ++ esprimere l'interfaccia visibile esternamente in modo compatibile con C. Ciò consente di utilizzare la libreria più facilmente. Mentre C e C ++ hanno una sintassi simile (e C ++ era basato su C), differiscono in un paio di punti sottili che possono rendere difficile l'uso del codice C ++ da C.
All'interno di C e C ++, c'è anche un sacco di uso intelligente del preprocessore per usare portabilmente caratteristiche specifiche del compilatore. Se sosteniamo che GC's C è una lingua diversa da Visual Studio C, un programma che compila sotto entrambi può essere considerato come poliglotta.
Oltre a questo, la programmazione poliglotta in produzione è inutile. Sai quale compilatore o interprete utilizzerai, quindi devi solo targetizzarlo.