Pour en revenir a la discussion, je pense qu'il est plus pertinent d'apprendre directement le C++. De toute façon, une grande partie des chapitre seront identiques a ce qu'on peut trouver dans un bouquin de C.
D'un autre coté, pour quelqu'un qui veut faire de la programmation "light", l'approche C, puis C++ peut etre intéressante. Perso je suis "vieille école" comme dit LGV, et j'utilise les grand concept du C++, mais pas toutes les possibilités qu'il offre. Je trouve cela bien trop compliqué (rien que les flux, c'est .... beurk).
J'ai bossé sur maintenant plus d'une vingtaine de jeux commerciaux et tout le monde a une approche différente du C++. Il y a les gros puristes, qui écrivent forcement des trucs compliqués que personne comprends, et il y a les réfractaires comme moi, qui s'obstine a garder les choses simples au maximum. Au final, le programme fait exactement la même chose.
Il existe surement autant de façon de programmer que de programmeur, donc a chacun de choisir sa voie.
Sinon pour commencer à faire des JV, il y a des langages dérivés du Basic très sympa (BlitzBasic, PureBasic, DarkBasic, etc).
L'avantage c'est que tout est intégré : moteur graphique, gestion du son, etc... Tu tapes 3 lignes de codes et t'as un perso en 3D tout animé qui s'affiche à l'écran.
Évidement cette simplicité se paye un jour ou l'autre, mais pour commencer c'est l'idéal je pense car c'est plus motivant d'avoir un bon résultat avec un minimum d'effort.
Il y a également game maker qui a l'air très sympa. J'ai jamais essayé perso mais certains jeux fait avec sont plutôt pas mal.
Exemple d'un jeu fait en pure basic:
http://www.youtube.com/watch?v=YEKEp04vgxo
Ca laisse deja pas mal de marge avant de "payer un jour".
"Il existe surement autant de façon de programmer que de programmeur, donc a chacun de choisir sa voie."
Lapintade ++
Il y a beaucoup d'avis divergent sur la question. Et ca depend beaucoup de ce que les gens vont faire et apprendre. Par exemple, a al fac de versailles, les informaticiens commencent par apprendre Java pour les former directement a la conception d'application, maintenabilite, evolution. Alors que les Physiciens commencent par apprendre le C parcequ'ils ne sont interesse que par l'aspect calculatoire de l'informatique. De la meme facon les electronicien apprennent souvent l'assembleur avant autre chose parce que c'est ce qui est utile pour comprendre le fonctionnement des systemes qu'ils creent a l'echelle la plus basse.
Tout a fait, ca revient a ce que je dis, que chaque personne a son style de programmation, qui n'est pas dicté par le langage qu'il utilise.
Je trouve aussi que le C c'est bien mais pour ce qui est du « sans ambiguité possible » en ce qui me concerne j'en suis moins convaincu :
int i = 0;
printf ("%d %d\n", ++i, i++);
Évidemment tu ne dois pas tricher : le but du jeu est de deviner ce qui sera affiché ensuite, sans tester.
Il me semble que la norme possède quelques petites "failles" comme ça, mais je ne les connais pas donc je n'affirmerai rien là dessus.
ooc ? hoho. C.
"int i = 0;
printf ("%d %d\n", ++i, i++);
Évidemment tu ne dois pas tricher : le but du jeu est de deviner ce qui sera affiché ensuite, sans tester. "
Bon tu ne peut pas car l'ordre d'évaluation des arguments n'est pas spécifié par le langage. Mais ça ne contredit pas ce que dit godrik, car la norme dit sans ambiguité que ce comportement dépend du compilateur pour des raisons d'optimisations.
Ce qui est gênant dans d'autre langage c'est que certains comportement tout à fait prévu par la norme sont extrêmement complexe à prévoir sans une grande pratique du langage.
au final, savoir dire que d'apres la norme on ne peut pas prevoir, c'est deja savoir en soi. On ne peut pas predire le resultat, mais on peut definir le comportement.
C'était précisément ce que je voulais faire remarquer en fait.
j'ai vu qu'il y avait eu un petit débat concernant le c et le c++
pour le moment je continue d'aprendre le C, là j'ai fait un petit TP sur le site du zéro, et je trouve quand même cool de programmer en C.
je trouve que ça développe l'esprit logique, et même si les résultats ne viennent pas les 1er jours ça payera un jour.
enfin , j'espère que le C me servira pour mieux comprendre le c++
ah oui j'allais oublier.
j'aurais voulu savoir si vous connaissiez un documentaire, ou un reportage montrant comment on créer un jeux-vidéo, quand je dit créer je parle surtout de l'aspect programmation.
merci
Il faut aller voir la FAQ ![]()
oui et ensuite?
enfin moi je parle en vidéo pas en texte.
printf ("%d %d\n", ++i, i++);
Perso, je trouve cela très sale de melanger de l'affichage et du traitement. J'ecris toujours du code simple (donc j'ecrirai sur plusieurs ligne le code ci dessus). Car d'une part c'est moche, et d'autre part c'est incomprehensible. Donc du mauvais code. (et donc peut importe ce que ca fait au final, c'est caca beurk). ![]()
c'est ce que je repond au gens quand ils me demandent dans quel sens sont evalues les expression : "est ce que || est prioritaire sur &&, est ce que * est prioritaire sur je-ne-sais-pas-quoi?". Ma reponse est toujours : si tu as un doute, mets des parenthese. Si tu as des effets de bord dans ton expression : casse ton expression en deux.
Lapintade ---> ah ouais c'est t'apporte des choses constructives toi quand tu taille ceux qui présentent leurs projets parce que ils sont voués à tomber à l'eau. Le C n'a rien avoir avec le C++ ce sont deux langages differents qui ne doivent pas être mélangé et j'en ai rien à foutre que on peux faire de l'objet en C ou non là n'est pas la question.
Si tu ne sais pas argumenter ta position, ta contribution est encore moins utile que la precedente...
De plus, j'ai toujours vu Lapintade rediriger les projets mal engages (ou fantaisistes...) vers des sentiers plus realistes !
Si tu n'a rien a apporter de constructif, et que tout ce que tu est en mesure de faire c'est de jouer les integristes sur un langage donne, tout le monde se passera joyeusement de ton intervention.
Bah ça sert à rien de discuter la dessus, dire que le C et le C++ n'ont rien à voir, il suffit de lire les 2 premières pages du bouquin de l'inventeur du C++ pour se rendre compte à quel point cette affirmation est fausse.
Sinon je trouve la remarque sur les XBasic dédiés aux jeux vidéo (PaulAimik) très intéressante, ainsi que la vidéo youtube postée par Lapintade qui a fait suite.
Pourquoi? Parce que sur tous les forums que je fréquente, ce que je lis me donne l'impression qu'un projet de jeu est forcément de la merde s'il n'est pas fait en C++. Et là on a un exemple de jeu très sympathique fait avec un langage de haut niveau qui donne un résultat supérieur à ce que la plupart des... disons grandes gueules (je vise personne ici) qui passent leur temps à scier ce qui ne fait pas l33t à leur goût sont en mesure de présenter.
Si je prend l'exemple de java ou c#, ces 2 langages, bien que managés, peuvent tous deux utiliser l'accélération matérielle, disposent de moteurs open source basés sur du bas niveau performant (DirectX pour c#) et peuvent déjà donner vie à des projets superbes.
Ce que j'essaie de dire en fait, c'est qu'un débutant ou un amateur a infiniment plus de chance d'être limité par son propre savoir-faire que par le langage de programmation qu'il utilise. Donc pourquoi systématiquement tourner le dos à des outils et langages de plus haut niveau?
Le C++ ne dispose pas d'outils multimédia mais il est facile et non négligeable d'utiliser une bibliothèque en plus du langage (exemple SDL, SFML ...)