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

C++ Discussion :

Cours C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut Cours C++
    salut,
    au sein de mon entreprise je doit former une personne au C++. Elle n'a aucune exp�rience ni aucune formation en programation. G�n�ralement apr�s que j'ai dit �a tout le monde fait cette t�te . Je suis bien conscient que c'est un challenge et pour lui et pour moi.
    voil� mes questions:
    Est-ce quelqu'un � d�j� fait ce genre d'exp�rience ?
    Quels conseils auriez vous a donner ?
    Quel(s) bouquin(s) avez utilis�(s) et/ou appr�cier lors de votre formations ?

  2. #2
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Bonjour,
    Juste pour r�pondre pour le bouquin : tu peux t'appuyer sur Le Langage C++ de Bjarne Stroustrup, et aussi le livre Programmation en C++ ou quelque chose du genre, par Claude Delannoy. Ce sont 2 bouquins que je trouve tr�s bien faits. A cela tu ajoutes quelques petits documents par-ci par-l� et niveau support en lecture ca devrait aller.

  3. #3
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    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 296
    Par d�faut
    La premi�re r�ponse donn�e est une bonne r�ponse de bouquin de r�f�rence. Pas facile de commencer avec -- en VF, viser la 3ed r�vis�e techniquement par Michel Michaud.
    La seconde r�ponse est une mauvaise r�ponse -- cf les archives de fclc++ pour les critiques r�currentes.

    La r�f�rence est Accelerated C++, par Koenig et Moo, chez Addisson Wesley, non traduit � ce jour. L'approche peut paraitre novatrice quand on croit que l'on doive enseigner un C++ historique -- en passant par la case C. Un gros int�r�t, p.ex., est que le gars que tu vas avoir form� n'aura pas les r�flexes de croire savoir manipuler la m�moire pour au final intoduire des bugs qui seront corrig�s au dernier moment par des pompiers. L'apprentssage est focalis� sur des aspects de plus haut niveau. L'inconv�nient, tu ne pourras peut-�tre pas le mettre tout de suite en maintenance de code C/C++ (le qualificatif "C/" n'est pas un compliment ici), ou sur des biblioth�ques critiques bas-niveau. (Je ne pense pas non plus qu'il faille mettre un d�butant en maintenance, pour le plus grand malheur de ceux qui ne le sont pas)

    Autre bouquin qui peut t'int�resser, celui de Francis Glassborough, traduit chez Micro-application sous le titre "je me lance" -- la traduction semble avoir quelques d�fauts comme toute traduction. Pourquoi cela va t'int�resser ? Le profil du cobaye. Personne non informaticienne d'age m�r qui sait tout juste allumer son ordi et lancer un navigateur. St�r�otypes, st�r�otypes. En attendant, il semblerait que l'exp�rience ait �t� un succ�s. Petit incov�nient, cela n'aborde pas les objets, ne parlons m�me pas de la g�n�ricit�. Le bouquin ne pr�sente pas non plus le C++ selon l'approche historique.

    Enfin, tu as des profs et autres formateurs qui fr�quentent fclc++. Ce genre de questions ont parfois �t� abord�es.
    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
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut
    Merci pour vos r�ponses.
    pour le soustrup et le Delannoy �videment je les connais et les ai lus. Mon avis perso est que effectivement Delannoy se permet des entorses par rapport au langage. Mais il est tr�s p�dagogue. Pour le Stroustrup, je suis assez d'accord avec Luc, c'est certainement le meilleurs bouquin de r�f�rence, mais n'est pas adapt� � un apprentissage en partant de rien.
    Pour le Accelered C++ je ne connais pas, je vais essayer de le trouver.
    Par contre, Luc, peux-tu expliquer ce que tu entends par C++ historique ?
    Pour le je me lance je comprend pas bien de quoi parle ce bouquin ? (pas de C++, pas de g�n�ricit�,...). Il raconte juste comment quelqu'un a appris � d�velopper ?
    Juste pour pr�ciser la personne � form� est un testeur exp�riment�. Il connait donc bien les produits leur mode de fonctionnement ainsi que tout la partie fonctionnelle .
    Pour le mode pompier, les corrections, etc... Notre culture d'entreprise fait qu'ici plus qu'ailleurs on fonctionne comme �a. Notre cr�do est qu'il faut mieux arriver avant tous nos concurent avec un produit bugg�, plutot qu'arriver apr�s. Et vaut mieux corriger rappidement un bug quit � faire de regression, car comme cela le client pense qu'on s'occupe de lui m�me si on est moyennement comp�tent.

  5. #5
    Membre confirm� Avatar de Luffy Duck
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    165
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 165
    Par d�faut
    [Mode troll]
    Notre cr�do est qu'il faut mieux arriver avant tous nos concurent avec un produit bugg�, plutot qu'arriver apr�s.

    Tu travailles chez Microsoft ?
    [/mode troll]

    Sinon, moi je commencerais par pas mal de th�orie sur la programmation : langage interpr�t�, langage compil�, notion de fonctions et de variables avec l'analogie avec les maths.

    Apr�s un p'tit HelloWorld �a fait toujours plaisir , puis apr�s le tralala sur l'allocation m�moire, la POO, etc...

    En tout cas bon courage
    �a peut �tre une tr�s bonne exp�rience pour lui, mais pour toi aussi !

  6. #6
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut
    non je ne travaille pas chez Microsoft, mais effectivement c'est une analogie que l'on fait souvent et effectivement dans notre branche nous somme leader mondial de l'univers (enfin c'est ce que dit la direction).
    Cette effectivement un vrai challenge pour moi !

  7. #7
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par d�faut
    Citation Envoy� par BigNic
    non je ne travaille pas chez Microsoft, mais effectivement c'est une analogie que l'on fait souvent et effectivement dans notre branche nous somme leader mondial de l'univers (enfin c'est ce que dit la direction).
    Cette effectivement un vrai challenge pour moi !
    On peut savoir c'est quoi comme branche?

  8. #8
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    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 296
    Par d�faut
    Citation Envoy� par BigNic
    Par contre, Luc, peux-tu expliquer ce que tu entends par C++ historique ?
    J'entends ce que ceci me semble sous-entendre:
    Citation Envoy� par Luffy Duck
    puis apr�s le tralala sur l'allocation m�moire, la POO
    A savoir, la pr�sentation de d�tails qui arrivent g�n�ralement trop t�t dans l'apprentissage. Soit parce que c'est comme cela que l'on nous l'a appris (et donc on reproduit les sch�mas, etc, etc), soit parce que l'on est persuad�s que le bout de sous-ensemble C du C++ doit �tre pr�sent� d'abord parce que au fond le C++ � �t� "d�riv�" du C.

    C'est perdre le d�butant dans des d�tails qu'il n'a pas besoin de connaitre au d�but de son apprentissage. Quel int�r�t d'apprendre la syntaxe des sp�cificateurs de format de printf/scanf, et des notions de pointeurs/adresse d�s la seconde le�on (parce que le Hello World doit demander notre nom) en C++ ? Ou plus g�n�ralement, pourquoi les tableaux dynamiques g�r�s � la main via des pointeurs quand on dispose d'abstractions qui encapsulent une bonne partie de la gestion de la m�moire ? Lorsque j'apprenais l'Ada, je n'avais aucun probl�me � manipuler des tableaux sans m�me connaitre la syntaxe des op�rations de gestion manuelle de la m�moire. Pourquoi le d�butant en C++ devrait d'abord commencer � manipuler des tableaux statiques ou dynamiques plut�t que des vecteurs ?

    Perso, je pense que l'on peut retarder l'introduction de la gestion dynamique de la m�moire jusqu'au chapitre sur le polymorphisme.

    Citation Envoy� par BicNic
    Pour le "je me lance" je comprend pas bien de quoi parle ce bouquin ? (pas de C++, pas de g�n�ricit�,...). Il raconte juste comment quelqu'un a appris � d�velopper ?
    Non, non. C'est bien un bouquin d'apprentissage du C++. C'est juste qu'il est co-�crit entre un formateur et son coba^W�l�ve qui ne connaissait vraiment pas grand chose � l'"informatique" au moment o� la formation avait d�marr�. Tentes une recherche sur ce titre, on en eut discut� ici sous au moins deux threads.

    Il a aussi l'approche non historique : pas de passage par la case C, utilisation intensive des abstractions de la biblioth�que standard (au lieu de commencer par montrer le b-�-ba des m�canismes qui servent � l'impl�menter). Et je rajouterai m�me : pas une pr�sentation du C++ comme une s�rie de r�gles syntaxiques.

    <premi�re disgression>
    C'est un point que je regrette dans divers documents. J'ai parfois l'impression qu'il s'agit d'un �talage de r�gles syntaxique sans pr�cisions sur les conditions d'applicabilit�. C'est tr�s bien pour du document de r�f�rence. Pour du document cens� former des gens qui devront rapidement �tre productifs, je n'aime pas trop.

    Je pense par exemple aux surcharges des constructeur de recopie et op�rateur d'affectation qui sont rarement les bienvenus dans les hi�rarchies polymorphes -- � cause de la dualit� s�mantique de valeur (� laquelle ces op�rations sont �troitement li�es (je simplifie, il est tard)) <-> s�mantique de r�f�rence/d'entit�s (typique des hi�rarchies polymorphes).
    Combien de fois j'ai vu des gens (et moi le premier il y a quelques temps maintenant) s'obtiner � toujours d�finir en public ces deux op�rations de recopie, et s'entendre ensuite "ah ah. Le C++ est tout pourri, pour copier des hi�rarchies, il faut des clone()". Mais a-t-on v�ritablement besoin de toujours dupliquer ces objets entit�s, qui par nature sont tous diff�rents les uns des autres, combien m�me ils auraient le m�me �tat...?

    J'ai bien aim� l'approche de AC++, qui, de ce que j'ai survol�, n'explicite pas ce qu'il faut ou ne pas faire, mais montre des designs types pour les classes de valeur et les classes d'entit�. A contrario de : �x les objets ; �x.n les contructeurs ; �x.n.t ctr de recopie ; sous-paragraphe l'op�rateur d'affectation (quand il n'y a pas un chapitre entier sur les op�rateurs surchargeables) ; �x+1 l'h�ritage ; �x+1.n' la surcharge ; �x+1.m' le polymorphisme (sous-entendu d'inclusion) ; ...

    Tout �a pour dire que le C++ ne se r�sume pas � une syntaxe, et qu'il y a un certain nombre de r�gles de cuisine simplificatrices qui permettent de l'utiliser au d�but dans de bonnes conditions. Au fur et � mesure, on commence � voir les raisons de ces r�gles, ainsi que leurs exceptions. Ce petit avis personnel pour dire que j'aurais tendance � glisser subreptissement les termes "valeur" et "entit�" (quitte � donner des r�f�rences pour ensuite approfondir) et signaler que "les premi�res classes se manipulent g�n�ralement de telle fa�on (chapitre) et les secondes de telle autre (chapitres) -- et oui, on peut imaginer des hybrides <fermer la parenth�se, suite dans la formation avanc�e>".

    <seconde disgression>
    Des notions de conception objet seront �galement importantes. Je pense en particulier au LSP. Ne serait-ce que pour sensibiliser la personne � ne pas d�river ListeTri�e de Liste.

    PS � m�diter: Un contenu technique de qualit� (technique) parfois d�sirable, enseign� par un excellent p�dagogue, est-ce une si bonne chose ?

    Sur ce. ZZZzzzzz.
    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. #9
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut
    pour Jean-Marc: la finance.

    Pour Luc:
    tout �a semble plein de sagesse, la question est de savoir si j'ai le niveau pour le faire.
    En tout cas effectivement la s�paration entre C et C++ semble ne pas �tre la m�me selon les personnes. Dans ma boite la population est assez disparate, mais les anciens sont d'ancien d�veloppeurs C qui font maintenant du C++. Donc pour eux il faut absolument passer par C avant C++. Mais c'est soutout parceque pour eux
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(int v_i;v_i < max;v_i++)
    Ce n'est pas du C++. Pour eux le C++ commence toujours pas des mot cl�s comme class, template, virtual etc... Ils confondent paradigme et langage, et ne voit le C++ que � travers les apports qu'il offre par rapport au C. Mais d'autre personne les plus "intelligentes" ou les plus jeunes comprenne bien qu'apprendre le C n'est pas indispensable pour apprendre le C++.
    En tous cas merci de vos conseils � tous

  10. #10
    Membre confirm� Avatar de BigNic
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    195
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 195
    Par d�faut
    quelq'un � une opinion sur le C++ par la pratique de steve oalline aux �ditions O'Reilly ?

  11. #11
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par d�faut
    Citation Envoy� par BigNic
    quelq'un � une opinion sur le C++ par la pratique de steve oalline aux �ditions O'Reilly ?
    http://www.accu.org/cgi-bin/accu/rvo...&file=p003502a

  12. #12
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    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 296
    Par d�faut
    Citation Envoy� par BigNic
    tout �a semble plein de sagesse, la question est de savoir si j'ai le niveau pour le faire.
    [...]
    Donc pour eux il faut absolument passer par C avant C++. Mais c'est soutout parceque pour eux
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(int v_i;v_i < max;v_i++)
    Ce n'est pas du C++.
    Hum. En voulant aller vite et parler d'autres choses, l'id�e principale que je voulais faire passer s'est perdue en chemin..

    Ce n'est pas une question de niveau. C'est une question qu'il y a des ordres d'apprentissage qui sont vraiment mal venus. En particulier parler trop t�t de la gestion manuelle de la m�moire.

    Je qualifie cette approche d'historique et de tirant vers le C dans la mesure o� ce langage impose pratiquement de comprendre comment fonctionne la m�moire d�s les premi�res le�ons. Ce n'est plus une n�cessit� en C++. On peut d'abord se concentrer sur des aspects plus haut niveau, ce qui se traduit par le fait que l'on peut �tre productifs bien plus vite, tout en �tant une source de bugs moindre.

    Aujourd'hui, les deux bouquins d'apprentissage qui se d�marquent le plus de cette approche "historique" sont AC++ et "Je me lance".

    Ce n'est pas une question de niveau. C'est une question de faire les choses dans un ordre qui soit plus efficace sur le plan p�dagogique.

    Dans ma prose pr�c�dente, il y a des disgressions propres � ce que l'"enseignement du C++" m'�voque aujourd'hui. Des id�es auxquelles je ne peux m'emp�cher de penser.

    Dernier conseil qui peut parraitre trivial et inutile tellement au fond il est �vident. Je trouve qu'il est plus int�ressant d'utiliser des exemples avec lesquels l'�l�ve sera famillier. Tu dis qu'il a une forte exp�rience dans les tests, donc probablement par rapport � votre m�tier (la finance), essaies de trouver des exemples, simplifi�s et didactiques, propres au code sur lequel tu travailles ou sur lequel qu'il serait amen� � travailler -- extrait de code en ad�quation avec la le�on du moment �videmment.

    (Pr�parer un cours/une formation, c'est long.)
    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...

Discussions similaires

  1. Les meilleurs cours et tutoriels C++
    Par Community Management dans le forum C++
    R�ponses: 1
    Dernier message: 13/05/2015, 13h50
  2. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    R�ponses: 10
    Dernier message: 12/03/2006, 22h33
  3. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de donn�es
    R�ponses: 6
    Dernier message: 19/05/2002, 22h18
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    R�ponses: 0
    Dernier message: 04/04/2002, 10h21
  5. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    R�ponses: 0
    Dernier message: 14/03/2002, 15h28

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