
Envoyé par
DonQuiche
Une chose me chiffonne tout de même dans tout ce que je lis. Tout le monde insiste sur la nécessité d'introduire au plus tôt la STL et tout ce qui fait le C++ moderne. D'un autre côté, si vous n'avez que cent heures de cours à prodiguer, que vaut-il mieux former : des élèves capables de joliment manipuler la STL ou bien des élèves capables de manipuler les pointeurs sans se vautrer ? A quoi cela sert-il de prodiguer un cours en C++ à base de auto_ptr si les élèves ne comprennent pas comment cela fonctionne ?
Après, j'entends que les élèves sont effarés par ce qui est nécessaire rien que pour créer une fenêtre. En même temps si on ne leur explique pas ce que "bas niveau" veut dire... Pour de nouveaux développements le C++ ne devrait être utilisé que lorsque l'on a besoin de sa puissance et d'un contrôle bas niveau, pas pour des applis qui seraient aussi bien développées, et plus rapidement, en Java ou C#.
Enfin certains critiquent le manque de formation à la POO. Mais cela a t-il sa place dans un cours de C++ ? C'est plutôt un module à part. Qu'on fasse une embardée pour les spécificités du C++ qu'on retrouve de moins en moins ailleurs (héritage multiple, patterns spécifiques, etc).
Un dernier pour la route : le modèle de compilation. Ajouter aux normes un second modèle de compilation, moderne, dont les fichiers seraient compilés comme l'est n'importe quel langage aujourd'hui (sans headers, avec un traitement préprocesseur purement local et une étape de résolution des noms avant la compilation proprement dîte), ne serait pas du luxe. Cela n'enlèverait rien à la puissance du C++ (templates et defines toujours utilisables via des include) et accélèrerait grandement sa prise en main, sans même parler d'un intérêt pour de nouveaux projets.
Partager