Je débarque après la bataille... je traîne plutôt sur les forums en ligne (d'OC/ZdS), ou la réponse qui suit t'aurait été donnée.
Un contenu des plus modernisé que l'on trouvera sur l'enseignement du C++ est le big tuto de Zeste de Savoir, et son adaptation en livre. Le livre apporte son lot de corrections et améliorations (sur la partie OO en particulier), et un chapitre entièrement réécrit (gestion des ressources et de la mémoire).
C'est du C++ moderne au sens premier, de 2002 et avant (non, je n'ai inversé aucun chiffres). C'est à dire, que les bonnes pratiques sont mises en avant, que la mémoire est gérée de façon transparente et ... correcte. Il existe d'autres ouvrages (dont l'auteur a été cité (*)) où les derniers éléments du langage sont présentés comme des annexes tout en suivant où approche historique de l'enseignement du C++—imaginez un cours de cuisine qui commence par nous apprendre à tailler nos silex pour aller chasser le mammouth.
Le tuto de ZdS est donc moderne au sens premier, mais aussi au sens contemporain où la norme choisie est celle du C++17 pour l'intégralité du cours: les éléments des précédentes normes qui n'ont aucun intérêt pratique pour le débutant ou la pratique professionnelle quotidienne sont passés sous silence, ou traités très rapidement sans insister dessus. Par contre, c'est un ouvrage pour débutants. Il reprend absolument tout. Mais correctement, si je puis dire. Il a été intensivement lu et relu et critiqué par des spécialistes du langage, dont certains enseignent parfois—j'en fais parti, et suis donc parti pris.
Quelques indices pour reconnaitre un bon ouvrage:
- les premiers tableaux enseignés sont std::array et std::vector
- les chaînes de caractères des std::string
- la gestion de la mémoire à la main est vue bien, mais vraiment bien après—cela concerne aussi les pointeurs, qui ne seront jamais vus avec tableaux et chaines.
- dans la foulée de la gestion de la mémoire, voire avant, les pointeurs intelligents type std::unique_ptr<> seront abordés.
- la familiarisation à la bibliothèque standard n'est pas reléguée en annexes/fin de la formation/livre
- l'héritage n'est pas relégué à la factorisation de données, mais au contraire mis en avant pour la factorisation de comportements
- et avec un peu de chances (une préoccupation très francophone), valeurs et entités seront traitées séparément car cela a des impacts sur les recettes de cuisines à appliquer. Comprendre que l'enseignement du C++ ne peut pas se résumer à "voici la syntaxe, débrouillez-vous!". Il est plus important d'associer les éléments de syntaxes aux besoins auxquels on cherche à répondre.
(*) A noter que je suis mauvaise langue, je n'ai pas eu sa toute dernière édition entre les mains pour juger si l'enseignement du C++ avait enfin (!) été modernisé et centré sur les objectifs au lieu de la syntaxe.
# Un avis tardif
Posté par lmg HS (site web personnel) . En réponse au message Quelles ressources pour apprendre sérieusement ?. Évalué à 2. Dernière modification le 21 avril 2022 à 13:23.
Je débarque après la bataille... je traîne plutôt sur les forums en ligne (d'OC/ZdS), ou la réponse qui suit t'aurait été donnée.
Un contenu des plus modernisé que l'on trouvera sur l'enseignement du C++ est le big tuto de Zeste de Savoir, et son adaptation en livre. Le livre apporte son lot de corrections et améliorations (sur la partie OO en particulier), et un chapitre entièrement réécrit (gestion des ressources et de la mémoire).
C'est du C++ moderne au sens premier, de 2002 et avant (non, je n'ai inversé aucun chiffres). C'est à dire, que les bonnes pratiques sont mises en avant, que la mémoire est gérée de façon transparente et ... correcte. Il existe d'autres ouvrages (dont l'auteur a été cité (*)) où les derniers éléments du langage sont présentés comme des annexes tout en suivant où approche historique de l'enseignement du C++—imaginez un cours de cuisine qui commence par nous apprendre à tailler nos silex pour aller chasser le mammouth.
Le tuto de ZdS est donc moderne au sens premier, mais aussi au sens contemporain où la norme choisie est celle du C++17 pour l'intégralité du cours: les éléments des précédentes normes qui n'ont aucun intérêt pratique pour le débutant ou la pratique professionnelle quotidienne sont passés sous silence, ou traités très rapidement sans insister dessus. Par contre, c'est un ouvrage pour débutants. Il reprend absolument tout. Mais correctement, si je puis dire. Il a été intensivement lu et relu et critiqué par des spécialistes du langage, dont certains enseignent parfois—j'en fais parti, et suis donc parti pris.
Quelques indices pour reconnaitre un bon ouvrage:
- les premiers tableaux enseignés sont
std::arrayetstd::vector- les chaînes de caractères des
std::string- la gestion de la mémoire à la main est vue bien, mais vraiment bien après—cela concerne aussi les pointeurs, qui ne seront jamais vus avec tableaux et chaines.
- dans la foulée de la gestion de la mémoire, voire avant, les pointeurs intelligents type
std::unique_ptr<>seront abordés.- la familiarisation à la bibliothèque standard n'est pas reléguée en annexes/fin de la formation/livre
- l'héritage n'est pas relégué à la factorisation de données, mais au contraire mis en avant pour la factorisation de comportements
- et avec un peu de chances (une préoccupation très francophone), valeurs et entités seront traitées séparément car cela a des impacts sur les recettes de cuisines à appliquer. Comprendre que l'enseignement du C++ ne peut pas se résumer à "voici la syntaxe, débrouillez-vous!". Il est plus important d'associer les éléments de syntaxes aux besoins auxquels on cherche à répondre.
(*) A noter que je suis mauvaise langue, je n'ai pas eu sa toute dernière édition entre les mains pour juger si l'enseignement du C++ avait enfin (!) été modernisé et centré sur les objectifs au lieu de la syntaxe.