[Java/C++] Traduction Java => C++

Fermé
In Vino Veritas Messages postés 11 Date d'inscription vendredi 20 juillet 2007 Statut Membre Dernière intervention 16 septembre 2007 - 10 août 2007 à 15:09
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 10 août 2007 à 20:42
Bonjour,
Je n’apprendrai rien à personne en disant que le débat entre JAVA et C++ n’a pas fini de faire couler de l’encre (ou d’engendrer quelques ruptures de touches de claviers, enfoncées violemment, sous l’effet de l’énervement, pour répondre à une pique lancée contre son langage favori par un membre du camp adverse). Ma question n’est donc pas de savoir lequel est mieux ou moins bien que l’autre (si toutefois cette question a un sens). En fait, ce que j’aimerais savoir, c’est le temps que prend la réécriture en C++ d’un code JAVA. Connaissez-vous des articles qui parlent de ce sujet ? Pouvez-vous me fournir une évaluation du temps nécessaire pour cette réécriture, en fonction du nombre de lignes de JAVA ? Est-il « facile » (pour un utilisateur maîtrisant parfaitement ces deux langages) de réaliser cette réécriture, c’est-à-dire y a-t-il des correspondances fortes entre les bibliothèques de fonctions JAVA et C++ ?

Je ne connais pas le C++ mais j’ai cru comprendre que le codage des interfaces graphiques était bien plus rapide en C++ qu’en JAVA. Je précise donc que je parle d’un programme qui n’en comporterait pas (ou alors une interface minimaliste).

Merci pour vos éclaircissements, et bonne journée !
In Vino Veritas
A voir également:

1 réponse

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
10 août 2007 à 20:42
Pour les interfaces graphiques c'est relatifs, disons que certaines librairies genre QT simplifient bien la vie en C++. Au niveau du débat C++ et java, les deux ont leurs avantages et c'est difficile de dire que l'un est mieux que l'autre. Java est plus portable car tourne sur une machine virtuelle, C++ est plus rapide car compilé, bref ce ne sont pas les mêmes utilisations. De plus les librairies développées pour l'un comme pour l'autre sont assez différentes donc pas tellement comparable.

Pour la traduction tout dépend du code. Syntaxiquement parlant il y a quelques subtilités sur les histoires d'héritages et de lien dynamique, et sur les concepts de référence et de pointeurs (en java tout est référence ce qui n'est pas el cas du C).

En fait la principale difficulté réside dans les instructions utilisant des classes java standard, pour lesquelles il faudra trouver ou recoder un équivalent C++. A noter que le C++ de base assez peu de classe (cf la STL pour les container (listes, ensembles, vecteurs...)), mais que plein de librairies existe pour palier ce manque (QT par exemple, ou encore la lib boost pour les graphes, la lib pcre pour les expressions régulières etc...).

Enfin étant donné que le C++ permet d'aller plus loin que le java au niveau des templates, il y a sans doute moyen d'arranger le code source java originel de ce côté là. Pour ce point là, la question revient à se demander est ce que tu traduis "mot à mot" ou est-ce que tu en profite pour améliorer le code.

Bonne chance
0