IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Livres C++ Discussion :

Apprendre le C++ Moderne


Sujet :

Livres C++

  1. #21
    Futur Membre du Club
    Homme Profil pro
    débutant
    Inscrit en
    octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2016
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Matt_Houston Voir le message
    Tu dis toi-même que tu ne sais pas ce qu'il est possible de réaliser en programmation, mais tu penses que le C++ est l'outil ad hoc ? Laisse tomber les jugements de valeur et fais du Python.
    Je suis désolé mais on peut très bien savoir ce qu'il est possible dans un langage sans savoir quoi faire .

  2. #22
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2003
    Messages
    5 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : août 2003
    Messages : 5 273
    Points : 10 829
    Points
    10 829
    Par défaut
    Quelques livres ont été cités: C++ primer, ou Principes et Pratiques de Programmation appliqués au C++. Je ne saurai dire à quel point ils seraient trop "pavé" ou pas pour toi. Malheureusement il va falloir que tu testes et que tu vois si ça te convient. Si tu habites dans une assez grande ville, il y aura peut-être moyen de les emprunter à une bibliothèque, vraisemblablement universitaire.

    Après, le C++ est un langage à part, et il est compliqué de trouver de bons ouvrages orientés purs débutants, en particulier en français -- la tradition du C++ historique est toujours bien trop présente. Ces 3 contraintes sont difficiles à satisfaire simultanément. Et tu l'auras compris, on préfère t'orienter vers un bon ouvrage d'initiation au Python (cf le message de Pierre Louis Chevalier) qu'un mauvais ouvrage d'initiation au C++. Cela permet de s'éclaircir quelques peu les idées quant à ce que développer peut apporter et permettre. Cela permet de s'initier à l'algorithmie: le fondement de tout acte de développement (quelque soit le langage), et sans se retrouver largué par des détails inutiles pour un débutant (problème typiques du C, et C++ historique ; problème qui en a découragé plus d'un), et aussi de s'amuser assez simplement (oui, on est comme ça pour beaucoup d'entre nous que tu croiseras sur la toile)

    PS: je comprends que les conseils "contradictoires" soient déroutants. Désolé, on est comme ça: pas toujours d'accord entre nous. Ça serait trop facile.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #23
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 5 153
    Points : 16 965
    Points
    16 965
    Par défaut
    Citation Envoyé par Assysty Voir le message
    Je suis désolé mais on peut très bien savoir ce qu'il est possible dans un langage sans savoir quoi faire .
    Pas vraiment. Cela dit, tu peux quand même essayer.

    Si tu veux connaitre le langage, lit le traité le définissant. Plus simple, lit tout cppreference.com.
    Si tu veux comprendre le langage, il faut le mettre en œuvre, et cela signifie s'en servir.
    Et pour s'en servir, il faut faire quelque chose. Choisis-toi un projet, fais le, et tu avanceras dans la compréhension.

    La grammaire du langage en lui-même est assez simple, une cinquantaine de mots clés, quelques règles de syntaxes.
    Le langage est plus complexe que cela, car c'est le fonctionnement qui est riche et parfois subtile (je pense aux règles de résolution des surcharges).

    Tu peux apprendre l'intégralité du langage en une journée. Tu peux le retenir par cœur en une semaine.
    Mais pour apprendre à t'en servir, c'est une autre paire de manches, pour laquelle tu auras besoin d'un but.

    Si tu tiens à poursuivre dans cette voie, cherche ce que sont:
    • les types composés (compound types)
    • la compilation séparée, l'édition de lien, extern et les espaces de nom anonymes
    • les références (et le problème de l'aliasing)
    • les segments de mémoire (et donc les erreurs de segmentation)
    • le mode de compilation des templates
    • private
    • RAII
    • SOLID
    • les rvalue-references (&&)
    • la surcharge d'opérateur (dont = et () )


    Quand tu sauras expliquer à quoi ils servent, et ce que ca apporte, alors tu auras compris la moitié du langage en lui-même.

    Il faudra ajouter aussi la bibliothèque standard, et ainsi, par exemple:
    • std::string
    • std::vector
    • std::unsorted_map
    • std::is_nothrow_destructible
    • std::unique_ptr
    • std::future
    • std::optional


    Et regarde tes messages privés, ca pourrait t'intéresser.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #24
    Expert éminent sénior

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    avril 2002
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : avril 2002
    Messages : 2 519
    Points : 16 815
    Points
    16 815
    Par défaut
    Citation Envoyé par Assysty Voir le message
    Bon au final je fais quoi ? Ça fait 4 mois que je cherche à programmer mais la je suis démotivé... A chaque fois je me retrouve avec des tutos obsolètes ou des gens qui vont me dire "avant de faire de la POO en C++ fait du Python". NON NON ET NON PYTHON NE M’INTÉRESSE PAS . Désolé de ce coup de gueule mais la je suis démotivé de ouf. Je pense qu'une fois que je me lancerai pour de bon ça reviendra...
    Ici c'est un forum C++, donc les gens vont te dire de faire du C++ c'est normal
    Si tu avais fait des études d'informatique on t'aurai appris l'algo, puis Python ou Java, la avec C++ tu va au casse pipe quoi qu'en dise les autres c'est tout.
    Il faut 5 ans pour devenir un bon développeur C++, qu'est ce que ça peu faire que tu passes 2 mois à t'initier à la programmation avec Python ou avec Java avec le cours Java enfants, c'est rien deux mois...
    Soit tu as un QI de 180 et tu apprends le C++ direct avec un des livres qui à été cité, soit tu redescends sur terre et tu apprends la programmation comme tout le monde avec des cours d'algo un autre langage plus facile.
    Moi pendant mes études et mes stages j'ai appris tout un tas de langages différents, c'est plutôt enrichissant, je ne voie pas le problème.
    Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...

  5. #25
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 5 153
    Points : 16 965
    Points
    16 965
    Par défaut
    Ce n'est pas honnète.
    J'ai appris le C++ en trois mois, sans connaissance préalables autres qu'un peu de javascript primitif, et trois programmes en basic sur ma calculatrice TI-82.

    Je ne pense pas être un génie.
    Et les "ingénieurs en 5 ans" ne font pas que du C++, ils apprennent aussi à manier des bases de données, un réseau, des apis graphiques. Ils font du calcul distribué, de la conception. Et aussi de la rédaction de cahier des charges, de spécifications.
    Et à l'arrivée, beaucoup ne sont pas à jour avec leur langage.
    Et la plupart ne savent pas comment se servir d'outils comme git, bugzilla, jenkins ou doxygen.

    Et j'ai eu des cas qui ne savaient même pas ce qu'est un set.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #26
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    4 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 4 377
    Points : 13 189
    Points
    13 189
    Billets dans le blog
    1
    Par défaut
    Je suis en train d'apprendre le C++, parce que depuis quelques mois, dans le cadre du travail, je travaille sur un projet qui en C++. Je maitrise bien le C et le Java, j'ai de bonnes connaissances en Python, j'ai touché à beaucoup d'autres langages, je connais bien la POO. J'ai commencé à lire Effective C++ de Scott Meyers depuis quelques semaines.

    Constatation ? Le C++ est un langage difficile. Vraiment. Il y a beaucoup de choses, il y a plein de subtilité. Tu as énormément de maitrise sur ce que tu fais ou au moins sur ce que tu souhaites faire et la contrepartie est que tu dois maitriser ce que tu fais.

    Python ou Java sont beaucoup plus simples à appréhender. C++ est un bon langage mais ce n'est pas un langage pour débutants.

    Si tu n'as pas de bonnes raisons de faire du C++ mais que tu souhaites simplement faire de la programmation pour t'amuser, fais autre chose. Fais du Python.

  7. #27
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2003
    Messages
    5 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : août 2003
    Messages : 5 273
    Points : 10 829
    Points
    10 829
    Par défaut
    Citation Envoyé par Pierre Louis Chevalier Voir le message
    a- Ici c'est un forum C++, donc les gens vont te dire de faire du C++ c'est normal
    b- Si tu avais fait des études d'informatique on t'aurai appris l'algo, puis Python ou Java, la avec C++ tu va au casse pipe quoi qu'en dise les autres c'est tout.
    c- Il faut 5 ans pour devenir un bon développeur C++, qu'est ce que ça peu faire que tu passes 2 mois à t'initier à la programmation avec Python ou avec Java avec le cours Java enfants, c'est rien deux mois...
    e- Moi pendant mes études et mes stages j'ai appris tout un tas de langages différents, c'est plutôt enrichissant, je ne voie pas le problème.
    a- Nous savons aussi être pragmatiques. Et avoir un recul les parties du C++ que l'on peut inculquer à un débutant. Il n'a pas besoin de tout connaitre, ni de tout maitriser pour être un expert. Je doute que l'on apprenne aux (ou exige d'apprendre) aux débutants qui font du Python comment on réécrit un objet pour changer/ajouter des comportements. En Ada, on ne commence pas par apprendre à manipuler des pointeurs. En Pascal, on ne commence pas par enseigner l'arithmétique des pointeurs sur les implémentations du langage qui le permettent (je m'étais pris une bonne claque quand j'avais commencé en Turbo Pascal avec la Bible du Pascal...). Bref. C'est pareil en C++, et c'est le message que l'on défend.

    b- Il y a divers types de formations. Entre celles qui forment des scientifiques, celles qui forment des automaticiens, ou celles qui forment des "ingénieurs" en informatique. Certaines ne vont présenter qu'un seul langage. Étrangement il y a en a quelques unes qui ne présentent pratiquement que le C++ (en mouture historique ), éventuellement accompagné de matlab. Pour les formations d'informaticiens, il est normal d'enseigner plein de choses. Et les gens tendent à vouloir factoriser le cursus, avec plus ou moins de succès. On voit ainsi éclore du C, suivi de C++. Certaines formation enseignent (/enseignaient?) pratiquement rien qui se retrouve en industrie, mais des langages qui permettent de couvrir un maximum de théorie que l'on va retrouver dans ceux présents en industrie -- c'était le cas de ma formation officielle il y a 20 ans.

    Je doute que l'OP soit dans ce cas. Pour avoir des difficultés avec la partie mathématique du cours de Guillaume, je ne sais pas s'il a atteint la 1ère. Du coup je ne suis pas persuadé que les considérations pour en faire un ingénieur pro soient totalement adaptées. Maximiser le fun sera plus important. On se rejoint ici sur Python (ou ruby, peu importe). Le truc est que l'OP insiste pour faire absolument du C++...

    c- Après, on peut avoir de bonnes bases en C++ en assez peu de temps si on est bien orientés, et si on sait déjà développer (nous sommes d'accord sur "algorithmie" en premier). En étant motivés, en un an on peut commencer à faire des choses correctes et sympas. Mais la maitrise, c'est en dizaines d'années qu'il faut mesurer. Je ne suis même pas sûr que Stroustrup veuille savoir parler ce que certains appellent le |i]standarde(e?)se[/i].

    e- Il est difficile de se mettre dans le cadre de pensée de quelqu'un qui désire faire quelque chose, surtout si on pense qu'il va s'engluer à le faire -- certains auront reconnu dans mon choix de termes une référence à la première partie de la présentation de Dan Saks aux cppcon de 2016. Il faut un autodidacte sachant communiquer avec tact pour lui répondre -- dénigrer des choix ou autre est facile, mais pas une solution.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  8. #28
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2003
    Messages
    5 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : août 2003
    Messages : 5 273
    Points : 10 829
    Points
    10 829
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Je suis en train d'apprendre le C++, parce que depuis quelques mois, dans le cadre du travail, je travaille sur un projet qui en C++. Je maitrise bien le C et le Java, j'ai de bonnes connaissances en Python, j'ai touché à beaucoup d'autres langages, je connais bien la POO. J'ai commencé à lire Effective C++ de Scott Meyers depuis quelques semaines.

    Constatation ? Le C++ est un langage difficile. Vraiment. Il y a beaucoup de choses, il y a plein de subtilité. Tu as énormément de maitrise sur ce que tu fais ou au moins sur ce que tu souhaites faire et la contrepartie est que tu dois maitriser ce que tu fais.

    Python ou Java sont beaucoup plus simples à appréhender. C++ est un bon langage mais ce n'est pas un langage pour débutants.

    Si tu n'as pas de bonnes raisons de faire du C++ mais que tu souhaites simplement faire de la programmation pour t'amuser, fais autre chose. Fais du Python.
    Le plus important quand tu vas venir de ces langages, c'est de comprendre qu'il ne faut surtout pas gérer les ressources à la main.
    Pour le reste:
    - SOLID et LSP en particulier, ça existe aussi dans les autres langages OO ;
    - sémantique de valeur VS sémantique d'entité existe également, mais c'est moins visible, pire c'est enseigné de travers (enseigner qu'un point coloré peut se définir en dérivant d'un point est une mauvaise pratique bien trop répandue)
    - les erreurs de programmation font des core dump et pas des null pointer exception

    Bref. Les erreurs côté génie logiciel pardonnent moins. Mais elles pouvaient déjà être commises dans ces autres langages.


    Pour Python, on pourrait dire qu'il va offrir beaucoup plus de facilités prêtes à l'emploi pour afficher des images, et autres courbes, faire des interfaces graphiques, communiquer sur le réseau. Le C++ est assez dépourvu, nativement parlant, de ce côté là. C'est aussi pour cela que l'on dit qu'il est plus facile de s'amuser avec ce langage.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  9. #29
    Futur Membre du Club
    Homme Profil pro
    débutant
    Inscrit en
    octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : débutant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2016
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    En attendant j'ai pas de source pour apprendre le C++ après avoir fait mes premiers langages ( à voir si ils seront toujours valables quand j'apprendrais )

  10. #30
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2003
    Messages
    5 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : août 2003
    Messages : 5 273
    Points : 10 829
    Points
    10 829
    Par défaut
    Ce message là ne t'étais pas adressé. Par contre, les deux où j'ai donné des références du C++ Primer, ou du PPPuC++, oui.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  11. #31
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    4 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 4 377
    Points : 13 189
    Points
    13 189
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Luc Hermitte Voir le message
    Le plus important quand tu vas venir de ces langages, c'est de comprendre qu'il ne faut surtout pas gérer les ressources à la main.
    C'est des premiers trucs que j'ai vu en me lançant dans le C++, car comme le PO, j'ai voulu me tourner vers du C++ moderne. C'est découvert la notion de RAII et les pointeurs intelligents et je trouve ça très bien. Ca tend vers ce que propose un garbage collector à la Java et ça simplifie grandement la vie.

    Mon "problème" est que je bosse dans l'embarqué sur MCU et je suis en C++03. Ce n'est pas demain la veille que je vais utiliser make_shared<>() malheureusement ^^

    Citation Envoyé par Luc Hermitte Voir le message
    Pour le reste:
    - SOLID et LSP en particulier, ça existe aussi dans les autres langages OO ;
    - sémantique de valeur VS sémantique d'entité existe également, mais c'est moins visible, pire c'est enseigné de travers (enseigner qu'un point coloré peut se définir en dérivant d'un point est une mauvaise pratique bien trop répandue)
    - les erreurs de programmation font des core dump et pas des null pointer exception

    Bref. Les erreurs côté génie logiciel pardonnent moins. Mais elles pouvaient déjà être commises dans ces autres langages.
    Un poster SOLID était accroché dans le couloir dans mon ancienne boite

    Je connaissais LSP du tout coup (le L de SOLID), mais j'ai relu des entrées de la FAQ C++ de Developpez récemment et je suis me rendu compte que je ne comprenais pas à quel point ça allait loin.

    J'ai fait du C, j'ai déjà eu des core dumped (même si j'ai jamais eu à déboguer à partir d'un core dumped )

    Citation Envoyé par Luc Hermitte Voir le message
    Pour Python, on pourrait dire qu'il va offrir beaucoup plus de facilités prêtes à l'emploi pour afficher des images, et autres courbes, faire des interfaces graphiques, communiquer sur le réseau. Le C++ est assez dépourvu, nativement parlant, de ce côté là. C'est aussi pour cela que l'on dit qu'il est plus facile de s'amuser avec ce langage.
    Je suis d'accord.

    Citation Envoyé par Assysty Voir le message
    En attendant j'ai pas de source pour apprendre le C++ après avoir fait mes premiers langages ( à voir si ils seront toujours valables quand j'apprendrais )
    J'ai moi aussi cherché une ressource pour apprendre le C++ moderne et c'est vrai que ce n'est pas évident. Surtout que je maîtrisais déjà très bien le C et la POO donc des chapitres entiers sur comment déclarer une variable, l'héritage et les boucles while, merci ! En plus, j'ai un peu menti, j'avais déjà fait du C++ pendant mes études... Du coup, j'ai lu des tuto simples pour me réapproprié les bases et quand ça a été bon, j'ai regardé les différences entre C++03 et C++11 et j'ai appris certains points qui me semblaient intéressants. Après, il ne faut pas être dupe : C++98, C++03, C++11, C++14 ou C++17, c'est C++. Et Scott Meyers l'explique très bien ici : http://scottmeyers.blogspot.fr/2011/...x-c11-age.html

  12. #32
    Expert confirmé
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    avril 2016
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : avril 2016
    Messages : 1 212
    Points : 5 151
    Points
    5 151
    Par défaut
    @Assysty :

    Comme d'autres l'ont déjà dit, tu peux lire la FAQ C++.
    Il reste quelques passages qui ne sont pas à jour, mais pas tant que ça.
    J'en avais fait une liste en avril dans le fil [FAQ] Prise en compte du C++11.

    En complément tu peux lire la C++ Super-FAQ de isocpp.org qui est assez bien faite. Elle insiste aussi sur certaines bonnes pratiques.

    Pour approfondir la POO, il faudra apprendre les patrons de conception.
    Personnellement, j'ai lu le livre Design Patterns -- Elements of Reusable Object-Oriented Software qui contient de gros pavés, mais qui a le mérite de donner des exemples explicites.
    Sur internet, je connais un wikibook qui est parfois bien, mais d'autres fois pas assez précis.

    Après, tu pourras lire des articles sur le C++ qui t'apprendront d'autres choses.
    Parmi ceux qui tiennent compte du C++11, on peut citer :


    Parmi les vieux articles sur le C++, il y a les vieux Guru of the week qui sont instructifs. Mais il est préférable de bien connaître en amont le C++11 pour avoir un regard critique sur ce qui est obsolète.

    En parallèle de toutes ces lectures, tu auras besoin de en.cppreference.com, déjà mentionné par ternel, pour approfondir les règles du C++ et le contenu de la STL.

    Et en parallèle de l'apprentissage théorique, tu pourras pratiquer en faisant des petits programmes.

    Si tu veux programmer des interfaces graphiques, il y a Qt qui est bien.

  13. #33
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    5 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 5 460
    Points : 16 193
    Points
    16 193
    Par défaut
    Je ne vais pas répéter les ressources citées entre autres par Luc, et qui sont ce qu'il y a de mieux en français à ma connaissance.


    Par contre, je vais te proposer une autre approche, qui est de plonger sans bouée au milieu de la piscine. C'est dangereux, on peut se noyer, mais comme de toute façon tu as l'air à un point de blocage, on risque peu

    Par exemple, regarde le site web de la SFML, qui est une bibliothèque pour faire des graphiques 2D en C++. Lis tous les tutoriels http://www.sfml-dev.org/tutorials/2.4/index-fr.php puis compile les, et fait les tourner. Une fois que ce sera fait, choisi toi un petit projet et réalise le (j'aime bien par exemple faire dessiner sur l'écran une image dans le style que peindrait Piet Mondrian, par exemple https://fr.wikipedia.org/wiki/Fichie...eu_et_noir.jpg c'est assez simple, ne demande pas trop de maths, mais demande quand même d'avoir les idées claires, mais fait avant tout quelque-chose qui TE plait).

    Tu vas en baver, et ton code risque d'être vraiment pas top. Mais ce n'est pas grave, quand on débute, le principal c'est d'y arriver quand même. Après, arrive le plus difficile, ce sera de prendre du recul sur ce que tu auras fait. Le mieux c'est si tu connais un développeur plus expérimenté en qui tu aurais confiance et qui voudrait bien relire ton code. Sinon, tu peux en extraire un petit bout et nous le montrer ici (plus le bout est petit, plus tu as des chances d'avoir des commentaires. Une trentaine de lignes me semble un max. Extrait de tout ton code ce qui en semble le coeur, ou ce sur quoi tu as bloqué). Applique les commentaires, documente toi sur les points précis qu'on t'aura indiqués, éventuellement on pourra te proposer d'autres sujets qui devraient peu à peu te forcer à utiliser des éléments du langage que tu ne connais pas encore. Puis passe au projet suivant, et encore au suivant. Puis reviens sur ton premier projet, refait le depuis 0, tu verras à quel point ce sera différent.



    .
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  14. #34
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    4 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 4 377
    Points : 13 189
    Points
    13 189
    Billets dans le blog
    1

  15. #35
    Membre éprouvé
    Profil pro
    Inscrit en
    mai 2006
    Messages
    779
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : mai 2006
    Messages : 779
    Points : 1 172
    Points
    1 172
    Par défaut
    Pour moi si on connait un peu la programmation, on peut commencer direct par "The C++ Programming Language " de Stroustrup. Je trouve que ça se lit bien, ce n'est pas qu'une référence.

    On peut aussi commencer par son bouquin sur "Apprendre la programmation en utilisant C++", qui est fait pour des débutants complets.

    On ne commence pas par "Effective c++", c'est pas du tout un bouquin pour débutant, c'est fait pour ceux qui veulent aller plus loin.

  16. #36
    Membre averti

    Profil pro
    Inscrit en
    décembre 2013
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2013
    Messages : 323
    Points : 429
    Points
    429
    Par défaut
    Citation Envoyé par Assysty Voir le message
    Après pour moi je ne veut pas le cours de gbdivers que je trouve un peu pavé au début quand ils te montre plein de concept mathématiques au début certain vont me dire que c'est juste que je suis nul en maths . Ettttt en fait c'est pas ça c'est juste que je suis super jeune donc je n'ai pas encore appris tout cela !
    Normalement, dans un cours sur un langage, aucun concept mathématique compliqué est nécessaire. C'est peut être dans les exos ou les exemples que tu as cela ? Tu peux peut être sauter ces parties si tu ne comprends pas ?

    Ou expliques ce que tu ne comprends pas comme concepts mathématiques. On pourra t'orienter vers des tutos plus spécifiques sur ces points la.

    EDIT :

    Dans un autre message :

    Citation Envoyé par Assysty Voir le message
    ( je voudrais faire un petit algorithme de chiffrement sous du SHA1 modifier )
    La cryptographie est probablement un des domaines de l'informatique qui demande le plus de math.
    Il faut rester cohérent : si tu veux faire de la crypto, bosser les maths ne devrait pas etre un probleme. Si bosser les maths est un problème, il faut probablement oublier la crypto.

  17. #37
    Membre émérite
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 750
    Points : 2 655
    Points
    2 655
    Par défaut
    Citation Envoyé par ternel Voir le message
    Ce n'est pas honnète.
    J'ai appris le C++ en trois mois, sans connaissance préalables autres qu'un peu de javascript primitif, et trois programmes en basic sur ma calculatrice TI-82.
    Moi, je pense qu'il faut plusieurs années.
    On n'arrive jamais au bout du langage.

    Un jour, on croit qu'on qu'on le maîtrise enfin, et il y a un toujours un gourou qui nous fait découvrir un truc.
    Ou alors, après plusieurs années d'expériences, on doit bosser pour la première fois sur de l'embarqué, et on doit explorer tout un pan qu'on avait négligé jusque là.

    Et si parfois, j'ai la prétention d'enfin tenir le langage sous ma botte, je vais aller lire quelques sources de Boost, et je redescends sur Terre.

  18. #38
    Membre émérite
    Profil pro
    Inscrit en
    novembre 2004
    Messages
    2 750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 750
    Points : 2 655
    Points
    2 655
    Par défaut
    Citation Envoyé par nikko34 Voir le message
    Pour moi si on connait un peu la programmation, on peut commencer direct par "The C++ Programming Language " de Stroustrup. Je trouve que ça se lit bien, ce n'est pas qu'une référence.
    Probablement le pire livre que j'ai lu. Très mal écrit.
    Alexandrescu, à côté, c'est "Martine à la plage".

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. Réponses: 2
    Dernier message: 03/06/2016, 18h20
  3. Apprendre un langage de programmation moderne
    Par aegal dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 22/02/2006, 14h15
  4. Apprendre un langage Objet
    Par samyl dans le forum Débuter
    Réponses: 6
    Dernier message: 23/06/2003, 11h42
  5. je veux apprendre la programmation quel language choisir??
    Par existance dans le forum Débuter
    Réponses: 26
    Dernier message: 06/08/2002, 05h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo