Il primo esempio è possibile. Solitamente queste cose accadono in PHP (e in altri linguaggi di programmazione web correlati) come questo:
<HTML>
<?PHP
call_some_php_function(1,2,"a","b"); /* This is may return nothing, a text string, or actual HTML markup code */
?>
</HTML>
Alcuni punti importanti da notare su questo esempio:
- HTML NON è un linguaggio di programmazione, è un linguaggio di markup.
- PHP e HTML e non eseguiti / interpretati nello stesso posto: il codice PHP viene eseguito da un interprete PHP in esecuzione sul server e il risultato viene "iniettato" nell'HTML circostante. Quindi l'intero blob viene inviato al client / browser che esegue il rendering dell'intero codice HTML.
Il tuo secondo esempio sembra una specie di mash-up di C ++ e Java. È possibile che moduli compilati scritti in lingue diverse parlino tra loro, ma combinare Java e C ++ nello stesso file sorgente sarebbe estremamente confuso e difficile: come fa il compilatore a sapere quali dichiarazioni sono Java e quali sono C ++?
Suppongo che in teoria potresti scrivere uno speciale compilatore / pre-processore con indicatori di "lingua" come:
Java
{
import java.util.Scanner;
}
C++
{
cout << "Insert a number from 1 to 10";
}
Java
{
Scanner n = new Scanner(System.in); //Actually, this line *could* be a C++ line - it's hard for me to tell just by looking at it.
System.out.println("The value you entered was" +n.newLine());
}
Ma onestamente non sono sicuro che otterrai qualcosa di utile in questo modo.
Inoltre, in che modo questo ambiente linguistico ibrido gestirà le caratteristiche del linguaggio che sono incompatibili tra i due?