"- On prend parfois de mauvaises habitudes (Ya un Garbage Collector, je me fiche des fuites mémoires) "
En C++ c'est pareil et même pire, comme l'os libère toutes les ressources à la fin du processus, beaucoup de programmeur omettent les delete, c'est un comportement que j'ai vu sur plusieurs programmeurs. "
Heu... c'est faux, et facile de vérifier...
En C++ il est indispensable de faire des delete sur toute allocation mémoire. Car justement elle ne seront pas libéré par le programme.
On appel ca des fuite de mémoire. ou memory leak.
Et quand un programme a des fuite de mémoire, ben... tu reboot ton PC pour vider la mémoire vive.
Perso le garbage collector... bof bof, il fonctionne quand il veux et pas tout le temps comme il faut.
Le C# je connais pas, je sais que c'est l'équivalent du Java version Microsoft, donc un langague haut niveau (rien a voir avec le niveau de difficulté) et rien a voir avec le C++ non plus qui est un langage bas niveau.
Le problème de java et du C# est que c'est un langage interprété qui nécessite donc une VM java ou le CLR (Common Language Runtime) pour le C#, et donc forcement plus lent a l'exécution qu'un langage compilé.
Le mieux pour commencer a programmer, le Q basic sur calculatrice CASIO. c'est comme ca que j'ai commencé en tout cas.
Et forcement quand tu poussera plus loin pour faire des jeux video, l'apprentissage du C++ deviendra indispensable.
Car pour le moment seul les langage 'bas niveau' te permettent justement de jouer avec la mémoire pour optimiser des temps de traitement et surtout de jouer avec le GPU, Pixel et Vertex shader.