Euh, je ne dirais pas que le C++ est plus facile que le C... c'est plus concis, sans aucun doute, et tu peux faire des choses bien plus puissantes, mais il suffit de jeter un oeil à la doc de la STL pour s'appercevoir que c'est un sacré bordel, et il n'est pas toujours évident de bien saisir les subtilités de ce langage si tu as fais beaucoup de C car la logique est un peu différente (par ex, l'utilsation intensive de références au lieu de pointeurs).
C++ est nettement plus facile que le C si on suit un bon cours, par exemple inspiré de Accelerated C++. C'est-à-dire quand on apprend les strings, les streams et les conteneurs dès les premiers chapitres, et que des choses plus difficiles à manipuler (comme les pointeurs et l'allocation dynamique) viennent après. Dans ce bouquin par exemple, on voit « * » comme opérateur de déréférencement des itérateurs (cette notion d'itérateur étant bien expliquée) bien avant que les pointeurs soient introduits. Tout simplement parce que ce sont les éléments de base du C++ (les éléments de base ne sont pas du tout ceux du C).
Evidemment le C++ parait moins simple si on ne suit pas un ordre logique dans son apprentissage, par exemple en focalisant trop sur le C. Ce n'est pas forcément un inconvénient de bien connaitre le C quand on fait du C++ mais il faudrait savoir s'en détacher quand l'approche C++ est bien différente.
Et je ne suis pas très convaincu par ce que tu dis quand d'un côté tu trouves la SL (ou seulement la STL) bordélique, et qu'en même temps le C te convient pour faire de l'objet...
[^] # Re: Quel langage choisir ?
Posté par M. Vandemar . En réponse au journal Quel langage choisir ?. Évalué à 1.
C++ est nettement plus facile que le C si on suit un bon cours, par exemple inspiré de Accelerated C++. C'est-à-dire quand on apprend les strings, les streams et les conteneurs dès les premiers chapitres, et que des choses plus difficiles à manipuler (comme les pointeurs et l'allocation dynamique) viennent après. Dans ce bouquin par exemple, on voit « * » comme opérateur de déréférencement des itérateurs (cette notion d'itérateur étant bien expliquée) bien avant que les pointeurs soient introduits. Tout simplement parce que ce sont les éléments de base du C++ (les éléments de base ne sont pas du tout ceux du C).
Evidemment le C++ parait moins simple si on ne suit pas un ordre logique dans son apprentissage, par exemple en focalisant trop sur le C. Ce n'est pas forcément un inconvénient de bien connaitre le C quand on fait du C++ mais il faudrait savoir s'en détacher quand l'approche C++ est bien différente.
Et je ne suis pas très convaincu par ce que tu dis quand d'un côté tu trouves la SL (ou seulement la STL) bordélique, et qu'en même temps le C te convient pour faire de l'objet...