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

Langages de programmation Discussion :

C++ ou Java pour projet de fin d'année ?


Sujet :

Langages de programmation

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut C++ ou Java pour projet de fin d'année ?
    Bonsoir à tous,

    Je viens vers vous pour avoir votre avis sur quelque chose. Cette année je dois présenter un travail de fin d'année devant un jury de professionnels dans l'optique d'avoir mon diplôme. Le projet en lui-même et avance bien mais voilà, l'entièreté est composée de 3 parties distinctes :
    - Une partie web (déjà terminée)
    - Une partie administration du projet (sous forme d'application web avec Java/Spring)
    - Une partie "client" distribuée aux internautes par ddl sur le site (un petit jeu de gestion d'écurie de F1)

    Au début je pensais réalisé la partie client en C++ avec SDL comme je trouvais que c'était ce qu'il y avait de mieux, malgré le fait que je ne sois pas encore très à l'aise avec le langage (j'ai juste réalisé un petit projet de 4-5 classes en mode console pour me faire la main ainsi qu'un essais SDL où je gère un sprite dans une fenêtre sans collisions ni rien). Mais en discutant avec un amis qui ne jure que par Java, il m'a dit qu'SDL était disponible aussi sous Java !

    Je me suis donc renseigner un peu là dessus mais apparemment javasdl n'est plus mis à jour depuis 2005, en fouillant un peu le net j'ai vu que Slick était dispo pour le développement de jeux 2D sous Java mais je ne sais pas exactement ce qu'il vaut, Open GL aussi est disponible sous Java et assez bien utilisé dans le monde des jeux Java en 3D (dont Minecraft, pour ne citer que le plus connu) même si je ne sais pas si il est vraiment adapté pour la 2D.

    Donc voilà je viens vers vous pour savoir ce que je dois choisir niveau langages/technologies pour la partie client de mon projet. Je sais bien que normalement je devrais choisir celui dont j'ai le plus d'affinités/maitrise le mieux et se serait donc Java. Mais d'un autre côté comme j'aimerais bien, si possible, intégré le monde du jeu vidéo professionnel, prendre le C++ serait bien être un meilleur choix pour la réalisation du projet, projet qui me servirait de portefolio après l'obtention de mon diplôme. Ce serait aussi un plus niveau CV de maitriser C++ ET Java je pense, ou bien je me concentre principalement sur Java si les pro s'intéressent de plus en plus à ce langage ?

    Donc voilà, je suis un petit peu paumer dans mon choix, toute aide est la bienvenue !

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour.

    Réponses en vrac :
    * Il faudrait vérifier sur le forum java mais à ma connaissance Java n'est pas un bon langage pour le jeu, la faute au manque de bibliothèques, à des performances inégales et décevantes côté client, et aux problèmes intrinsèques aux langages managés (lags causés par le GC) qui demandent une bonne connaissance de la part du développeur pour être circonvenus (au prix d'une grosse perte de productivité). Il est tout à fait possible de faire des jeux en java mais ça demande une certaine expérience et tu te retrouveras confronté à des problèmes que tu n'aurais pas en C/C++ (même si la réciproque est aussi vraie).

    * Cela étant dit si tu souhaites faire un jeu 2D plutôt simple, de nos jours à peu près n'importe quelle plateforme conviendra, y compris bien sûr Java qui peut alors être un très bon choix. Et pas besoin de SDL pour ça, Swing devrait très bien faire l'affaire. Au passage la SDL en Java n'est sans doute pas ce qu'on trouve de mieux en 2014 et je me demande ce qu'il en est de sa portabilité sur mobiles. En général utiliser une biblio purement native dans un langage managé comme Java n'est jamais plaisant et ne doit être choisi que faute de mieux.

    * Si ton but est de décrocher un job dans le JV, avec Java tu seras sans doute cantonné aux petits jeux sur Android, principalement en 2D. Aucune limite en revanche avec le C/C++. L'autre marché dans le JV ce sont les outils maison et pour ceux-là Java ou C# sont plus indiqués mais à mon avis Java fait office de dernière roue du carrosse.

    * Tout cela étant dit tu devrais avant tout vérifier les offres d'emplois pour le pays où tu veux bosser, du fait des spécificités des écosystèmes nationaux. Et ensuite reposer ta question dans les forums java et jeux vidéo de ce site en fournissant les liens vers leurs petits frères des autres sections en t'excusant pour le double post, justifié dans le cas présent.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Merci pour cette réponse détaillée, ça confirme en grande partie ce que je pensais, qu'il vaudrait mieux que je prenne le C/C++.

    Mais étant donner que le temps me manque cruellement, j'ai peur de ne pas arriver à quelque chose d'un minimum potable si je commence à développer le projet en C++ alors j'ai réfléchis à une autre solution :

    - Développer ce premier projet pour mobile et en particularité pour Android étant donner que Java est utilisé pour ça et que c'est le langage que je connais le mieux pour l'instant. Ça me permettrais aussi de me faire une première expérience dans le monde du jeu vidéo, même si ce n'est "que" sur mobile pour ce premier projet. Et avec cette expérience acquise je pourrai m'orienter plus sérieusement vers C/C++ pour développer un autre projet. Étant donner que je ne part pour le Canada pas avant Avril 2015, j'ai le temps d'approfondir C++. Les deux projets me servant alors de "portfolio" vidéoludique que je pourrais spécifier dans mon CV auprès des entreprises, et surtout de pouvoir postuler dans d'autres entreprises dans un premier temps si je n'arrive pas directement à rejoindre ce que je souhaite.

    Après concernant les langages utilisés dans les grosses boites du jeu vidéo c'est assez vaste on va dire, de ce que j'en sais. Le C# est principalement utilisé pour les jeux dématérialisés qu'on peut retrouver sur le Xbox Live et le Playstation Network. Pour le reste, c'est surtout C++ qui est utilisé, mais récemment j'ai pu voir des infos comme quoi Java était aussi utilisé pour certaines choses, par exemple sur le dernier Sim City, une partie du coeur du jeu était écrite en Java et le reste en C++ et les développeurs expliquaient qu'ils avaient du recoder une partie du code Java en C++ pour répondre aux changements demandés par les joueurs (à savoir, le fait de pouvoir créer et jouer une partie hors-ligne).

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/09/2010, 09h20
  2. Réponses: 0
    Dernier message: 15/04/2009, 18h46
  3. Programmeur Java pour projet
    Par Lau.c dans le forum Projets
    Réponses: 3
    Dernier message: 18/12/2007, 14h05
  4. Recherches Développeurs Java pour Projet d'avenir
    Par pturlet dans le forum Autres
    Réponses: 0
    Dernier message: 08/12/2007, 12h52

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