Le C ++ est-il nécessaire pour savoir si je veux un jour trouver un emploi dans l'industrie du jeu? Je suis extrêmement familier avec C # et j'ai une maîtrise de base de la création de jeux 2D dans XNA 4.0. En ce moment, je n'ai que 13 ans et j'adore créer des jeux, et j'espère un jour obtenir un emploi en programmation de jeux. J'ai entendu beaucoup de gens dire que le C ++ est la «norme de l'industrie» et que cela nuirait à votre carrière sans le savoir. J'essaie également de cibler plus de plates-formes que de simples fenêtres et je connais Monogamemais pour une raison quelconque, j'ai beaucoup de problèmes avec les modèles de Visual Studio, et je trouve de nombreux bugs avec le jeu unique. Étant donné que techniquement, je ne peux pas encore obtenir d'emploi, et je ne pourrais probablement pas obtenir un emploi de programmation avant d'avoir 22 ans ou quelque chose (sauf si je suis un travailleur indépendant). Et dans cette période de plus de 9 ans, l'industrie du jeu va très probablement changer beaucoup. Voici donc quelques questions
- L'apprentissage du C ++ ne réduira-t-il pas mes chances d'obtenir un travail de programmation?
- Au moment où je peux obtenir un emploi, C ++ sera-t-il encore le langage de programmation «standard de l'industrie»
- Si je suis un développeur indépendant, est-ce vraiment important que j'apprenne le C ++ ou non, et que je reste avec ce que je sais?
- Dois-je même commencer à l'apprendre maintenant, car j'ai de nombreuses années avant de pouvoir même trouver un emploi?
Je crains également que même si je suis familier avec la programmation orientée objet, je puisse passer beaucoup de temps sur C ++, et devenir très frustré et confus, puis arrêter de l'apprendre, et à ce moment-là, j'ai oublié beaucoup de XNA et je dois tout apprendre partout. Donc en bref: devrais-je apprendre le C ++ si je veux un travail de programmation?
MISE À JOUR
Merci à tous pour vos réponses et suggestions. Récemment, j'ai choisi SFML et C ++ et ça va plutôt bien. Je commence à maîtriser le C ++ et commence à m'ouvrir les yeux pour ne pas m'inquiéter d'apprendre de nouvelles choses parce que j'ai pu transférer toutes mes connaissances en C # pour rendre C ++ plus facile à apprendre. Merci à tous encore une fois.
la source
Réponses:
Je veux me concentrer sur votre troisième question, car c'est dans mon domaine de connaissance (développeur indépendant):
Je n'ai pas écrit de ligne de code C ++ depuis de très nombreuses années. Et, en fait, j'ai oublié de nombreux détails (et en C ++ il y en a beaucoup ). Je fais la plupart de mon travail en C #. Et vous devez absolument ne pas avoir à apprendre le C ++.
Cependant , les compétences que j'ai acquises en apprenant le C ++ - en particulier les éléments de bas niveau, en particulier le fonctionnement de la mémoire et des pointeurs - se sont révélées inestimables.
De plus, il y a eu plusieurs occasions où j'ai dû lire le code C ++ d'autres personnes. Si vous savez programmer en C # ou Java, vous pouvez probablement deviner ce qui se passe - mais savoir est bien mieux.
Ma recommandation à vous , en particulier, est d'apprendre le C ++ maintenant. À votre âge, vous avez beaucoup de temps à consacrer uniquement à l'apprentissage. De cette façon, vous n'aurez pas à vous soucier de choisir C ++ pendant que vous essayez de développer un jeu ou de décrocher un emploi.
Ne vous inquiétez pas d'oublier les détails, si vous arrêtez d'utiliser C ++ pour une raison quelconque (ou XNA ou autre). Les concepts sont plus importants. Et vous pourrez reprendre les détails facilement si vous le devez.
Comme l'ont laissé entendre vos autres questions - nous ne savons pas à quoi ressemblera l'industrie dans une décennie. Bien que je suppose que C ++ sera toujours assez utilisé. Parlant pour le moment - connaître le C ++ vous donnera un coup de pouce substantiel dans l'employabilité - même dans un magasin non-C ++.
la source
Si vous voulez être programmeur de jeux, vous ne pouvez probablement pas éviter d'apprendre le C ++. Si vous voulez un travail différent dans l'industrie du jeu, comme producteur ou artiste, vous n'avez pas besoin de C ++.
C ++ est difficile. Beaucoup de gens ne l'apprennent qu'au collège. Vous avez beaucoup de temps. Travaillez avec d'autres langages pour vous familiariser avec les concepts de programmation de base. Commencez petit et faites-le une étape à la fois.
la source
Vous avez encore beaucoup de temps à apprendre, donc je ne pense pas que vous devriez trop vous soucier de la langue que vous utilisez, mais je vais énoncer certaines choses que vous pourriez trouver utiles:
C ++ est un langage tandis que XNA est un framework. XNA ne sera plus mis à jour par Microsoft, donc je trouve incroyablement difficile d'imaginer qu'il soit utilisé dans 9 ans à partir de maintenant à quelque titre que ce soit. Le C ++ de l'autre et existe depuis toujours, a un comité de normalisation actif engagé à l'améliorer et offre aux développeurs un contrôle tellement important sur le matériel qu'il faudrait un bond de géant dans la puissance matérielle pour rendre ce contrôle inutile et ainsi permettre à un autre langage de le supplanter. comme standard de facto pour les jeux de haute performance.
L'apprentissage des concepts est la partie importante, pas le langage dans lequel vous les implémentez. Vous pouvez "apprendre" un nouveau langage assez rapidement si vous comprenez déjà ses principes de base.
Le C ++ vous obligerait à vous renseigner sur les pointeurs et les problèmes de mémoire à un niveau beaucoup plus profond que le C #, je vous recommande donc de l'apprendre à un moment donné, quelle que soit son utilisation dans l'industrie.
Votre souci d'oublier des choses n'est probablement pas fondé. C'est vrai que vous oublierez des choses mais les détails ne sont pas vraiment la partie importante. Vous n'oublierez pas comment concevoir un jeu en changeant de langue.
Vous semblez avoir des raisons de ne pas apprendre le C ++, je pense que vous essayez en fait de rationaliser votre envie de ne pas apprendre quelque chose de nouveau.
Pensez-y de cette façon: si vous apprenez le C ++ et qu'il s'avère ne pas être utilisé à l'avenir, vous avez de nombreuses années pour apprendre ce que c'est et je vous garantis qu'avoir appris le C ++ vous aidera à le faire. Si vous oubliez tout votre XNA et n'arrivez pas à apprendre le C ++, il vaudrait mieux le découvrir et aller de l'avant que de vous soucier des possibilités. Je ne pense pas que l'un ou l'autre cas soit très probable.
la source
Conseil général: ne vous concentrez pas sur ce que vous devez apprendre ou sur ce que vous devriez apprendre. Faites juste quelque chose.
Pour répondre à votre question spécifique, Microsoft ne mettra plus à jour XNA, il est donc probable qu'il ne restera pas longtemps. C ++ est une norme industrielle bien établie et ne partira pas de sitôt. Si vous voulez travailler sur des jeux AAA, alors oui. Une expérience en C ++ sera nécessaire.
la source
Puisque la question a déjà été répondue, permettez-moi de remplir quelques trous ici et là ...
D'où vous est venue cette idée que le C ++ est un langage monstre terrible? Ce n'est pas! C'est vraiment très amusant.
Certes, vous pouvez vous rapprocher du matériel, ce qui a en fait deux avantages: vous en apprenez beaucoup plus sur le fonctionnement réel de l'ordinateur et, deuxièmement, vous avez beaucoup plus de puissance entre vos mains qu'avec, disons, C #.
Mais là encore, C ++ propose d'excellentes méthodes d'abstraction et possède des bibliothèques très utiles, donc ce n'est pas comme si vous communiquiez directement avec la carte graphique (vous le pouvez certainement) - elle sera simplement résumée.
Connaître à peu près toute langue est très utile, a une bonne chance d'augmenter vos chances d'être embauché, et certainement vous un meilleur programmeur.
Lorsque vous aurez le temps, consultez JavaScript et / ou Python. D'autres suggéreraient probablement Lisp aussi, mais je ne suis pas très bien informé en ce qui concerne cela, donc je ne dirai rien. Mais il pourrait être utile de le vérifier de toute façon, je pense que c'est assez soigné même avec ma compréhension limitée de ses concepts. Il y a aussi Haskell mais bh.
Vrai. Mais devinez quoi: dans 9 ans et plus, nous utiliserons toujours l'assemblage, le C ++ et le C. Je doute que les développeurs de jeux décident soudainement qu'ils disposent de suffisamment de ressources et cessent de repousser les limites des machines. Bien sûr, ce n'est qu'une supposition, mais toutes ces langues sont beaucoup plus anciennes que moi, donc je pense avoir raison.
De plus, en apprenant le C ++, vous faciliterez la transition vers un nouveau langage potentiel de niveau intermédiaire.
Je suis sûr que vous vous trompez ici. Vous pourrez en fait trouver un emploi dans quelques années. Je pense que peu de choses 2 par les lois de mon pays. Mais pas un travail à temps plein.
Il y a encore des options pour travailler lorsque l'école est fermée, et si vous êtes bon, et vous l'êtes probablement, alors il y aura sûrement une entreprise de développement qui voudrait vous embaucher. Une entreprise gamedev? Probablement pas. Mais il n'y a aucune raison pour que vous souhaitiez travailler en tant que débutant, AFAIK, vous pourriez être mieux payé dans une entreprise régulière et travailler sur un jeu pendant votre temps libre.
De plus, regardez votre nom, c'est presque comme si vous vous étiez déjà familiarisé avec la joie de la programmation C ++!
la source
Je ne suis pas encore en affaires (j'ai 17 ans), mais je pense que c'est vraiment un must pour découvrir de nouvelles langues et technologies. Pendant que vous avez le temps, apprenez C ++, OpenGL et Java. La maîtrise de ceux-ci prend un certain temps (j'ai pris 5 ans, j'ai donc commencé au même âge que vous maintenant), mais l'expérience que vous acquérez est vraiment incroyable.
Une bonne chose à essayer est de faire un clone Minecraft en Java et OpenGL. Cela vous donnera un aperçu de nombreuses techniques gamedev et vous apprendra BEAUCOUP de techniques d'optimisation. C'est ce que j'ai fait à l'âge de 16 ans. Vous pouvez voir le résultat de ceci sur: CraftMania . Je recommande de commencer avec Java parce qu'il est facile à programmer. Il y a un garbage collector et une gestion des exceptions soignée. Cela vous permet d'apprendre OpenGL très efficacement, sans déranger toutes les difficultés que C ++ présente pour un développeur inexpérimenté.
Une fois que vous avez l'impression de maîtriser Java en combinaison avec OpenGL, jetez un œil à C ++ et essayez de faire des choses faciles (pas encore de jeux). Une fois que vous pensez que vous comprenez comment C ++ est compilé et fonctionne sur le runtime et savez comment la mémoire est organisée en C ++, ALORS jetez un œil à SDL pour faire un jeu facile.
Pourquoi dois-je me concentrer sur OpenGL? Parce que OpenGL s'exécute sur toutes les plates-formes, à l'exception de XBox360. Il s'agit de: Windows, Linux, OS X, Android, iOS, BlackBerry, Wii, DS, PS3, PSP, etc ... Lorsque vous maîtrisez uniquement Xna et DirectX, vous êtes lié à Windows et XBox360. Je pense que c'est une bonne raison d'apprendre OpenGL et C ++ si vous voulez obtenir un travail de programmation dans l'industrie du jeu.
la source
Ma réponse serait que cela dépend vraiment de ce que vous voulez faire dans l'industrie des jeux. Pour le moment, si vous voulez créer des jeux sur console AAA, C ++ est un must. Aucune autre langue ne vous permettra de profiter des ressources limitées dont vous disposez sur une console.
Pendant longtemps, C ++ a été la lingua franca de l'industrie des jeux, mais avec l'avènement de l'iPhone et de Unity, il est désormais possible de créer des jeux décents en utilisant des langages comme C # et Objective-C. Même HTML 5 est capable de créer des jeux maintenant. Le simple fait est qu'il existe de nombreuses options.
À votre âge, vous avez encore beaucoup de temps pour apprendre et observer l'évolution de l'industrie. Mon conseil serait le suivant: ne vous concentrez pas sur la langue. Concentrez-vous sur la façon de créer des jeux et / ou de créer des mods pour les jeux qui existent. Une idée pourrait être d'obtenir Minecraft et de comprendre comment créer des mods en utilisant Java. Rien de mieux que de voir que vous pouvez changer le comportement d'un jeu, même si vous ne publiez aucun mod.
À votre âge, je faisais des jeux en utilisant Basic (sur le Commodore 64). RPG Maker et plus tard en utilisant Java pour mod jeux. Je n'ai même pas touché le C ++ avant d'avoir environ 18 ans, donc vous avez encore beaucoup de temps pour grandir.
Pour répondre à vos vraies questions:
À ce stade, il n'y a aucun moyen de le savoir. Cela peut prendre jusqu'à 10 ans avant de commencer à chercher un «vrai» travail et la technologie progresse extrêmement rapidement.
Voir la réponse ci-dessus.
Ce qui compte, c'est le nombre de jeux que vous terminez et sortez.
Il n'est jamais trop tôt pour commencer à apprendre, ni trop tard.
la source