Salut,
Juste pour détailler un peu plus ce que je pensais. En gros, je vois plusieurs raisons qui poussent à apprendre :
- Tu veux apprendre pour apprendre. Je pense qu’on est plein à avoir fait ca, et je suis carrément pour. Et pour faire cours, ne te plonge pas dans un tuto de C++ pour ca. Fais toujours plus de projets rapides et différents, du web, réimpémenter une stack TCP, de l’électronique, un bootloader, lis des livres, fais des vieux langages, des récents, du bas niveau comme du haut niveau, fais de l’admin sys, des CTF, découvre plusieurs paradigmes (fonctionnel, POO, ..), etc. Bref amuse toi et découvre.
- Tu as un cours de C++ dans une univ. AHAHA, tu es puni et on te dicte ce que tu dois faire. Baisse les yeux, lis les articles de Herb Sutter, le tuto de gbdivers (et fais lui des bisous) et fais tes TPs.
- Tu as un projet en tête, DO IT, mais avant pose toi 50 fois la question d’avec quels outils tu veux le faire et si c’est adapté. Les outils autour de cpp c’est de la bonne grosse crap (Make, Cmake, Autotools, QMake)
- Tu veux participer à un projet en Cpp pour l’améliorer. Fais le tuto de gbdivers et DO IT. Bois le code des autres participants, demande de l’aide, lis la doc, améliore le projet, comprends leurs outils autour, utilise git et autres.
Puis, pour revenir sur le commentaire de Renault, j’avoue que je suis pas d’accord avec les trois écoles. Dans le sens où je pense que cette affirmation était vraie il y a quelques années, mais ce n,est plus le cas aujourd’hui. Si veux apprendre à faire du Cpp, apprend la std avec. Ca va de pair et tu n’as pas vraiment le choix. Si tu fais du cpp, utilises les outils standards au maximum. La bib a bien été développée depuis des années et y a plein de structures de données cools, la partie de gestion de mémoire avec les smarts pointers, les outils relatifs aux temps avec <chrono>, des headers comme <algorithm>, <functionnal>, des outils relatifs a la concurrence et encore d’autres trucs qui s’en viennent. Bref, Cpp sans std, c’est rater une grosse partie. Aujourd’hui, le tooling fais la force d’un langage (cf js, Python, ou les outils autour de Rust et go).
Aujourd’hui pour moi, on peu se passer de Boost, sauf si on veut écrire des papiers sur le cpp et tester des choses sur le langage, mais pour un projet… Par contre, Qt peut vraiment simplifier la vie (ou le contraire parfois), mais tu auras sans doute à le croiser.
Bref, y a des choses plus drole dans pas mal de cas et avec un meilleur tooling que le cpp (quoique gdb
est uber cool). Mon conseil, c’est donne toi un objectif et choisis en fonction de cet objectif plutot que de choisir une technologie pour ne pas en profiter.