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

Contribuez C++ Discussion :

Livre C ou C++


Sujet :

Contribuez C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut Livre C ou C++
    Bonjour,
    J´aimerai apprendre le C++ ( je ne connais pas le C ), je me demandais quel est le meilleur livre pour apprendre le C++ ? Car il y en a Beaucoup.

    J'aimerai un live où on propose des exercices a chaque fin de chapitre pour voir si on a bien compris.

    Merci de répondre a ma question.

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    bien le bonsoir,

    as-tu été voir parmi les livres présentés dans la rubrique livres ?
    il y a notamment "L'INTRO C++ Le livre d'initiation pour C++"

    il semble tout à fait adapté aux débutants. Par contre, il n'a pas l'air d'être organisé en théorie/exercices

  3. #3
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    Si tu veux apprendre le C++, alors un bouquin de C++, pas de C!!

    Le bouquin qui a le plus la côté n'a pas été traduit -> Accelerated C++ par Koenig et Moo, chez Addisson Wesley.

    Un autre bouquin qui aborde le C++ dans un bon ordre est celui de Francis Glassborough. Il a été traduit (attendre des petites erreurs à cause de cela) chez Micro Application. On peut aussi regretter qu'il ne va pas très loin. Ceci dit, il accompagne très bien.

    A côté plein de bouquins (type cours) en VF que je ne peux pas recommender car soit je ne les ai pas lus, soit ils ne sont vraiments pas recommandables (et je ne doute pas qu'ils seront cités dans ce fil ).

    Bref, la recherche avancée est ton amie!!
    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...

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Le bon ordre c'est une question de goût. Moi j'ai appris le C avant et j'ai trouvé que c'était une méthode enrichissante.

    Je conseille aussi Accelerated C++.
    Sinon de traduit tu as le livre de Bjarne Stroustrup mais pour commencer il est peut-être un peu lourd.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut
    Oui merci mais j'aurrai aimé un livre complètement en français

    Oui j'ai regardé les livres ici http://c.developpez.com/livres/ mais, je ne sais pas lequel choisir

  6. #6
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 463
    Par défaut
    En français ce n'est pas facile de conseiller. Le livre C++ primer de Lippman & Lajoie a été traduit, et n'a pas trop mauvaise presse. Par contre, ils en ont sortie une nouvelle édition, avec Moo (la même que pour accelerated C++), qui m'a l'air plus prometteuse, mais n'est pas (encore ?) traduite.

    Je n'ai lu aucun de ces livres, et donc ne parle que par réputation.

    Mon préféré restant actuellement Accelerated C++, en anglais uniquement.
    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.

  7. #7
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Par défaut
    je te conseillerais "La Bible du programmeur C/C++" de jamsa, ainsi même si tu ne connais pas le C, tu en aura un aperçu qui te sera toujours utile.

    Sinon il est dommage que tu veuilles passer directement au C++ sans passer par le C, mais bon c'est un choix on ne va pas refaire un debat dessus ^^ (du moins pas ici ) sinon je t'aurais conseillé aussi "Méthodologie de la programmation en C" de A.Braquelaire (qui a été mon prof de C à l'université de Bordeaux1 il fut un temp :p)

  8. #8
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 463
    Par défaut
    Un livre qui mélange deux langages différents, je suis très suspicieux. D'autant plus qu'un bon programme en C peut être une mauvais programme en C++ (qui probablement ne compilera pas), et qu'un bon programme en C++ ne sera très probablement pas un programme en C valide.

    Pour ce qui est du passage par C, t'as-on forcé à apprendre le latin avant que tu n'apprennes le français ? Pourtant les deux sont reliés, l'un dérive de l'autre, et il peut être bon pour maîtriser le français à haut niveau d'avoir quelques notions de latin.
    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.

  9. #9
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Citation Envoyé par loka
    sinon je t'aurais conseillé aussi "Méthodologie de la programmation en C" de A.Braquelaire (qui a été mon prof de C à l'université de Bordeaux1 il fut un temp :p)
    C'est ma bible aussi

    Je rappelle que le C++ est un sur-ensemble du C. La plupart des techniques décrites dans cet ouvrage sont utilisable en C++.

    Il n'y a pas que la POO en C++, loin de là

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Y'a quand même pas mal de choses qui ne sont plus à faire une fois qu'on est en C++, comme les malloc, les unions, les tableaux, ...

  11. #11
    Membre émérite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par défaut
    Tout dépend.

    Les classes sont à utiliser à bon escient. Les unions sont tout à fait indiquer, si le développeur sait pourquoi il les préfère à une classe.

    Un objet qui ne doit pas être hérité, qui n'a pas de méthode, et ne fait que contenir des données de différents types est-il forcément plus indiquer qu'une union, juste pour faire POO?

    Je pense que non. Les unions sont mal comprises (les pauvres) par la plupart des développeurs, un peu comme les pointeurs d'ailleurs.

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Les unions en C++, c'est interdit dans 99% des cas, sauf si c'est une unions de types de base, en gros - sinon, on l'initialiserait comment ? -, le pendant des unions, c'est un peu le type boost::any.

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 109
    Par défaut
    Ce que j'en pense (en tant qu'ancien de Java)

    - Dans un premier temps, tu n'as pas besoin du C pour apprendre le C++, c'est sûr et certain. Je dirai presk que ça handicape.
    - Dans un deuxième temps, tu sera obligé de comprendre un peu (au moins) certaines notions de C car beaucoup de bibliothèque sont en C et si tu veux créer tes classes, et bien tu devras t'y faire. Mais attention, ce n'est pas dans l'immédiat.

    - Apprendre le Java et C++?
    Je pensais que c'était une bonne idée, je me frottais même les mains en me disant : chouette, je connais le Java, C++ facile et bien ... grosse erreur ... Je ne vais pas plus vite que les autres, j'aurai mis 1an pour faire mon premier truc qui tourne (à peu près rêvons pas) en C++ et 3ans pour être tranquille (exactement ce que dit la FAQ)
    Sur la forme il y a très peu de différences, dans le fond, aucun rapport ... Donc exit les livres traitant les deux langages.

    - En revanche, Java m'a apporté l'UML et une bonne maîtrise des classes ce qui n'est pas négligeable . Donc si tu connais (au moins un peu) tu éviteras énormément d'erreurs que les anciens du C font.

    - Un livre que je te déconseille : Programmer en langage C++ de Delanoy, truffé d'approximations quand ce ne sont pas des fautes (genre new [] avec delete ... )


    - Et evidemment : poser des questions ici )

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut
    Merci a tous

    Mais, quel sont les différences etre le C et le C++ ?

  15. #15
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Par défaut
    Bien que le C++ soit une évolution du C, et que les deux sont la plupart du temps compatible, il y a quand même pas mal de petites différences et subtilités. Voir par exemple ceci :

    - http://c.developpez.com/faq/cpp/?pag...ompatibilite_C
    - http://nicolasj.developpez.com/artic...ompatibilites/

    Sinon, en gros on peut dire que la grande différence c'est que le C++ permet en plus la POO, avec les classes, etc.

  16. #16
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Moi je trouve que connaitre le C avant est pas mal parce que du coup tu sais vraiment ce que sont les containers comme std::vector<> et std::list<>.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut
    Ha oui merci, veux mieu apprendre le C pour commencé ? Car je veux bien commencé par la si c'est "plus facile"

    Et aussi, beaucoup de personne disent que je devrai prendre le Java pour commencé dans la programmation ... Je sais pas pourquoi

  18. #18
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Par défaut
    Je voudrais pas rentrer dans un troll, mais bon perso je vois pas quelle serait l'obligation. Ca peut aussi être un handicape avec les habitudes du C qui sont différentes .

    A la limite c'est un choix mais en tout cas je dirais pas "vaut mieux". Clairement si tu dois être productif et que t'as pas forcément que du temps pour ça ce n'est vraiment pas indispensable.

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 67
    Par défaut
    Ha oki merci, génial ce forum car sur les autres sites que j'ai trouvé, ils se moquent tous de moi Mais je pense que tout le monde est passé par la non ?

  20. #20
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 463
    Par défaut
    Apprendre le C avant ?

    Personnellement, je pense que si le but est de maîtriser C et C++, autant apprendre les deux. Dans ce cas là, je n'ai pas d'opinion sur l'ordre d'apprentissage.

    Si le but est de maîtriser le C++, apprendre le C avant ne me semble pas uniquement inutile, mais néfaste. Et même par la suite, une connaissance superficielle suffit en général. Personnellement, je serais bien incapable d'écrire un programme en C, alors qu'en C++, je pense me défendre.

    Bien entendu, et contrairement à ce que supposent la plupart des gens défendant le passage par le C, il est hors de question pour moi de commencer par les aspects orientés objet du C++, surtout s'il s'agit d'un premier langage. Le C++ est aussi un langage procédural, et je commencerait par me restreindre à ce mode de programmation, avant de l'élargir à la programmation générique et à l'orienté objet (probablement dans cet ordre là, d'ailleurs).

    Le C++ possède toutes les notions nécessaires pour enseigner le développement du C++, et me permet de les introduire dans l'ordre que je souhaite. Le C m'impose dès les premiers pas d'introduire des notions trop complexes (la gestion manuelle de la mémoire, en particulier) qui masquent mon propos est que je souhaiterais n'aborder que quand l'élève maîtrise déjà les fondamentaux.


    Différences/relations entre C et C++ :

    Le C++ a été concu initialement pour prendre en compte des aspects comme la programmation orientée objets, tout en restant compatible avec le langage le plus courant de l'époque. Compatible sous diverses formes :
    - Compatible dans le sens où l'on peut aisément interfacer du C et du C++
    - Compatible sans le sens ou une syntaxe proche fait qu'un programme écrit proprement en C puisse être compilé en C++ (cette compatibilité est un échec, dans le sens où le mot proprement n'a jamais été défini...).
    - Compatible dans le sens où à partir du moment ou un programme en C a bien voulu compiler en C++, on peut raisonablement espèrer qu'il ait un comportement identique à celui qu'il avait (y compris, et c'est important, en terme de performances)
    - Compatible dans le sens où les développeurs maîtrisant le C ne partent pas de 0 pour apprendre le C++ (c'est de moins en moins vrai, mais c'est aussi de moins en moins un critère de succès pour ce langage).

    Mais il serait faux de dire :
    - Que le C++ est un sur-ensemble du C (certains programmes valides en C ne le sont pas en C++
    - Que le C++ est la nouvelle version du C : Le C continue à évoluer de son côté, souvent sans se soucier de l'existance du C++
    - Qu'il existe un truc se nommant C/C++ : Ce sont deux langages différents, et quand bien même ils ont des ressemblances au niveau syntaxe, les styles de développement sont énormément différents.Un programme C considéré comme très bien écrit et très bien conçu, même s'il compilait en C++ (on ne sais jamais), serait assurément considéré comme inélégant au possible dans ce langage.

    Quel langage est plus facile

    On entre dans des sujets ecore plus trolligènes qu'avant... Comme tout ce post d'ailleurs, ceci n'est que l'expression de mon avis, d'autres ont des avis différents (mais ils ont tous tort ! ).

    La question se découpe pour moi en trois :
    - Quel est la langage le plus facile à maîtriser : Le C. Il demande de maîtriser beaucoup moins de notions que le C++, et donc peut se maîtriser relativement rapidement. En C++, même les experts ne connaissent pas tout le langage.

    - Quel est le langage le plus facile à utiliser : Le C++. Toutes ces notions supplémentaires n'ont pas été ajoutées là juste pour se faire plaisir. Elles permettent à l'utilisateur de s'abstraire de détails bas niveaux quand il le souhaite, et d'utiliser des fonctionnalités mieux packagées. Cela rend l'utilisation du C++ bien plus simple que celle du C.

    - Quel est le langage le plus facile à apprendre : Le C++. On peut avec ce langage de par sa facilité d'utilisation être plus rapidement opérationnel, et avoir un retour sur investissement bien plus gratifiant. Bien entendu, on ne le maîtrisera pas dans sa totalité, mais est-ce si important, si on en maîtrise suffisemment pour se sortir de toutes les situations (même s'il existait peut-être une autre façon plus élégante de s'en sortir) ? Mais je pense qu'un étudiant ayant étudié le C++ pendant une semaine saura faire des programmes de plus grande envergure et à coût moindre que le même étudiant ayant apris le C pendant la même durée.
    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.

Discussions similaires

  1. Les meilleurs livres pour l'Assembleur
    Par gtr dans le forum Livres
    Réponses: 52
    Dernier message: 25/09/2010, 10h25
  2. Quel est votre livre préféré sur Java ?
    Par Ricky81 dans le forum Général Java
    Réponses: 138
    Dernier message: 25/11/2006, 03h42
  3. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  4. [Turbo Pascal] Recherche cours ou livre sur le Turbo Pascal
    Par killarg dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 02/03/2003, 16h12
  5. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

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