Ceci est fait tout le temps.
Chaque compilateur traduit le "langage principal", comme C ++, en langage d'assemblage natif de la machine ou en bytecode indépendant de l'architecture dans le cas de langages interprétés.
J'imagine que ce n'est pas ce dont vous parlez. Vous voulez probablement un traducteur qui convertit le C ++ en quelque chose comme Java ou Python. Quel est le but de cela, cependant? Au mieux, le résultat final aura exactement la même efficacité que la source d'origine. (Pratiquement, ça va être bien pire.)
Si vous souhaitez simplement que le code soit traduit afin que vous puissiez le lire comme une langue que vous comprenez, un tel traducteur aurait l'effet inverse de l'effet souhaité. Il ne vous restera plus qu'un tas de codes cryptés, peu intuitifs et illisibles.
En effet, seules les choses les plus triviales se traduisent directement d’une langue à l’autre. Souvent, ce qui est simple dans une langue nécessite d'énormes bibliothèques pour une autre - ou peut-être même être impossible. Par conséquent:
- Si le programme est trivial, vous pourriez obtenir un résultat décent. Mais alors, si c'est aussi simple que ça, à quoi bon de le faire passer par un traducteur?
- Si le programme est non trivial, le code sera de mauvaise qualité.
En fin de compte, le seul moyen d'écrire un bon code est de l'écrire. Les ordinateurs ne peuvent tout simplement pas - du moins pas encore - faire correspondre les humains aux questions de lisibilité, de meilleures pratiques et de solutions élégantes.
En bref, ça ne vaut tout simplement pas la peine.