IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

compiler java en natif


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 86
    Points : 44
    Points
    44
    Par défaut compiler java en natif
    Salut,

    Y-a-t'il un intêret de faire du c++(niveau rapidité) si je compile java en code natif au lieu de bytecode.?

  2. #2
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Java en natif, c'est peu évolué, il n'y a pratiquement pas de support pour les interfaces graphiques, et seulement une petite partie de l'api standard est supportée. Bref, l'intérêt de Java en natif est moindre, car tu pourras faire trop peu de chose avec.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,
    si tu envisages de passer Java en natif, tu perds l'avantage qu'on a à utiliser Java: compilation à la volée et portabilité multi-architectures.
    Maintenant, ça dépend ce que tu appelles rapidité ( de développement, d'exécution ) ?

    S. Desbois

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Janitrix
    Java en natif, c'est peu évolué, il n'y a pratiquement pas de support pour les interfaces graphiques, et seulement une petite partie de l'api standard est supportée.
    Ce n'est vrai que pour GCJ/GNU Classpath, car Exclesior JET propose un compilateur 100% compatible (qui a d'ailleurq passé le test de compatibilité de Sun).


    Par contre je pense aussi que la compilation en natif n'apporte rien... même pas en performance (lire : La machine virtuelle Java est-elle vraiment lente ?).


    a++

  5. #5
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Merci de cette précision adiGuba

    Exclesior JET semble en effet tenir la route, mais il est apparemment payant, un défaut de plus donc pour la solution native.

    Je ne pense pas que la compilation native n'apporte quoi que ce soit, on pert tous les avantages de Java pour ne gagner finalement pas grand chose, donc je pense personnellement que cela ne vaut pas le coup.

    Encore merci adi

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    945
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 945
    Points : 1 840
    Points
    1 840
    Par défaut
    Pour en revenir au sujet initial, puisqu'il semble qu'il y ait peu d'intérêt à compiler Java en natif, la question revient à se demander si, compilé en natif ou pas, Java est-il plus ou moins rapide que C++.

    Java contre C++ est un vieux débat qu'il vaut mieux ne pas ranimer. Je dirais seulement qu'à condition de bien connaître le C++, on peut effectivement faire plus rapide avec ce dernier, mais la différence s'est beaucoup réduite ces derniers temps grâce à de nouvelles JVM pratiquant la précompilation.

    Il faut à présent se demander quels sont vos objectifs, sachant que C++ mal employé aboutit à des catastrophes.

  7. #7
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 321
    Points : 360
    Points
    360
    Par défaut
    Les dernières JVM sont TRES performantes et l'ecart en terme de vitesse d'excution tend à s'amoindrir au fil du temps. JAVA n'est pas lent, c'est souvent les developpeurs peu rigoureux qui plombent eux meme les performances de leur application. Si on ajoute à cela que java est un langage dans lequel les temps de developpement sont largement inferieur à ceux où sont utilisés C++, JAVA est à mes yeux une des meilleures solution si ce n'est la meilleure pour developper des applications

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    945
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 945
    Points : 1 840
    Points
    1 840
    Par défaut
    Ca dépend de ce que l'on veut. La dernière fois que j'ai mené une comparaison sérieuse, j'ai remarqué le projet Jake 2 : une réécriture du moteur de Quake 2 en Java. Ca a peut-être changé depuis, mais il était 15% plus lent que la version d'origine en C. En y regardant de plus près, on s'aperçoit qu'il fait appel à des librairies externes en C dans des sections critiques.

    Je suis bien d'accord pour dire que les temps de développement en Java sont bien moindre. Ce n'était pas la question.

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Je ne sais pas si un moteur de jeu est un bon exemple, car dans ce type de programme, il y a même des morceaux d'assembleur...

Discussions similaires

  1. mode de compilation pour du Natif utilisant du Managed
    Par breezer911 dans le forum C++/CLI
    Réponses: 1
    Dernier message: 17/04/2007, 07h14
  2. Erreur de compilation java.net.MalformedURLException
    Par karimspace dans le forum Services Web
    Réponses: 4
    Dernier message: 12/04/2007, 11h34
  3. Compiler du java en natif & Optimisation serveur socket
    Par Skreo dans le forum API standards et tierces
    Réponses: 32
    Dernier message: 09/07/2006, 16h31
  4. Compilation Java avec GCJ pour faire un exe. Pourquoi ?
    Par Claude URBAN dans le forum Général Java
    Réponses: 11
    Dernier message: 17/06/2006, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo