Questo è fatto tutto il tempo.
Ogni compilatore traduce il "linguaggio primario", come C ++, nel linguaggio assembly nativo della macchina o nel bytecode indipendente dall'architettura nel caso dei linguaggi interpretati.
Immagino che non sia di questo che stai parlando. Probabilmente vuoi un traduttore che converta C ++ in qualcosa come Java o Python. Qual è il punto di ciò, però? Nella migliore delle ipotesi, il risultato finale avrà esattamente la stessa efficienza della fonte originale. (Praticamente, sarà molto peggio.)
Se vuoi semplicemente tradurre il codice in modo da poterlo leggere come una lingua che capisci, un traduttore del genere avrebbe l'opposto dell'effetto desiderato. Ti verrà lasciato un sacco di codice criptico, non intuitivo e illeggibile.
Questo perché solo le cose più banali si traducono direttamente da una lingua all'altra. Spesso, ciò che è semplice in una lingua richiede enormi librerie per un'altra - o potrebbe essere del tutto impossibile. Perciò:
- Se il programma è banale, potresti ottenere un risultato decente. Ma allora, se è così semplice, che senso ha farlo passare attraverso un traduttore?
- Se il programma non è banale, il codice sarà di bassa qualità.
Alla fine, l'unico modo per scrivere un buon codice è effettivamente scriverlo. I computer semplicemente non possono - almeno non ancora - abbinare gli esseri umani in materia di leggibilità, buone pratiche ed eleganti soluzioni.
In breve, non ne vale la pena.