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 :

Avez vous des conseils pour débuter sereinement ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut Avez vous des conseils pour débuter sereinement ?
    Bonjour à toi,

    Attention dans un premier temps je vais te raconter mon expérience avec le C++ (ma vie en gros ) donc tu peux directement sauter cette partie (jusque les "#####" voilà ^^)


    j'ai toujours été attiré par la programmation, je dois dire que j'ai commencé par la programmation orientée Web car elle est nettement plus accessible que la programmation logicielle .
    Depuis quelques temps déjà j'aimerai passer à la vitesse supérieur, quitter le PHP et donc commencer à apprendre le C++. Je dois dire que ce ne sont pas les essais qui ont manqués :

    j'ai tout d'abord commencé avec le "méga cours" de Christian Casteyde,
    puis j'ai poursuivit avec le livre "Le Langage C++" de Bjarne Stroustrup,

    Je dois avouer que j'ai du faire face à une absence cruelle de progrès et aussi faire face à mon incompréhension de la Programmation Orientée Objet. Pour alourdir un peu la peine que j'avais à apprendre le C++ j'étais en classe préparatoire et je n'avais pas d'ordinateur durant cette période. Je me suis donc dissipé et ai au final abandonné l'apprentissage du C++.

    J'ai intégré un école et cette année nous avons suivit des cours de C et d'UML, ceci a ravivé mon envie de programmer. Aussi j'ai un laptop maintenant, ayant installé ma distribution linux préférée je désire participer à son developpement dans la mesure de mes capacités.

    (bravo & merci aux courageux qui ont suporter la lecture de ma vie)


    #####


    Voilà je désire partir sur de bonne base et ne pas reproduire mes erreurs passées, c'est à dire je ne veux pas me lancer tête baissée dans un mur . J'aimerai que justement vous m'expliquiez quel a été votre façon d'apprendre, si vous avez eu des cours en école, si vous avez eu un mentor, si vous avez appris seul, ce que cela vous à apporter ce que vous regrettez par rapport à ça.

    Si vous avez été mentor ce que vous avez apris de cette expérience grâce à votre padawan.

    Si possible j'aimerai aussi que vous me conseillez une méthode d'apprentissage qui se présentera être efficace. Quelles étapes je devrais suivre, comment dois je progresser, comment valider mes connaissances et comment appliquer mes acquis.

    Mon but ultime étant : je désire créer un traitement de texte (style mousepad - http://www.xfce.org/projects/mousepad/)

    Aussi dans mon apprentissage j'aimerai utiliser que des outils gratuits (bibliothèques). j'ai pour l'instant code::blocks, le compilateur GCC, mon OS est une gentoo fraichement réinstallée. Voilà je penses être paré.

    N'hésitez pas à être réaliste même si ça peut metre un coup au moral autant que je sois prêt à ce qui viendra après.

    J'espère ne pas subir de modération et ne pas avoir fait trop de fautes :s
    Merci d'avoir pris le temps de me lire, et Merci d'avance à ceux qui prendront le temps de me répondre. Très bonne soirée à vous.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Par défaut
    J'aimerai que justement vous m'expliquiez quel a été votre façon d'apprendre, si vous avez eu des cours en école, si vous avez eu un mentor, si vous avez appris seul, ce que cela vous à apporter ce que vous regrettez par rapport à ça.
    En ce qui me concerne, c'est un peu par hasard que je suis tombé dedans, de la prog je parle, un peu paumé à mes 18 ans sur ce que je voulais faire, j'ai essayé une école d'info, j'ai adoré.
    Un premier diplôme en poche, j'ai travaillé quelques temps, puis retourné sur les bancs d'école pour un autre, que je suis en train de compléter.
    Ce que m'apporte la programmation? De la stimulation intellectuelle sans fin
    Ce que je regrette? une stimulation intellectuelle sans fin
    Mouais, parfois quand je regarde des amis dans d'autres domaines, ils n'ont pas à se former continuellement sur de nouvelles technologies, de nouvelles versions de <mettre ce que tu veux ici>, de nouvelles plateformes, bref ça ne finit jamais, c'est pire qu'un Gom Jabbar ce domaine Quelques périodes de lassitudes qui finissent, pour le moment, toujours par passer.

    Si possible j'aimerai aussi que vous me conseillez une méthode d'apprentissage qui se présentera être efficace. Quelles étapes je devrais suivre, comment dois je progresser, comment valider mes connaissances et comment appliquer mes acquis.
    Difficile d'énoncer une seule méthode, il doit y en avoir autant que de programmeurs je dirais. Cela dit, en ce qui me concerne, les premiers temps, j'étais plus prés du code, mon univers se résumant aux classes et fonctions....puis avec l'école et le travail, des projets plus gros...et là, simplement bien connaitre son langage ne suffit plus, en plus de devoir apprendre à bien coder(de saines habitudes pour minimiser les bugs), il faut apprendre à faire beaucoup plus d'abstraction, du génie logiciel, de l'analyse, de la conception avec de l'UML , les designs patterns, et on s'aperçoit que souvent, ces parties sont encore plus critiques que le code en lui même.
    C'est souvent cette partie qui est dure, car moins concrète que le code qu'on peut exécuter la-tout-de-suite-maintenant.....et qui ne doit pas être facile à apprendre en autodidacte.
    Bref, si je devais résumer ma vision des choses: bouffer du code un premier temps, en veillant à apprendre les bonnes habitudes de codage, tâter de plusieurs langages, bien comprendre la la programmation objet et les pièges à éviter( BAD SMELLS IN CODE et autres )...et faire passer tout ça par de solides notions de génie logiciel(à moins de vouloir être un monkey coder toute sa vie)
    Ah oui....et l'anglais...ne pas hésiter à s'améliorer la dedans, car même si Developpez est une source francophone géniale(je commence toujours par là ), l'informatique reste en anglais, se restreindre juste au français, c'est se fermer des portes, suffit de voir le nombre de frameworks, outils, libraires donc la doc est en anglais.

    Si tu as des questions plus spécifiques, n'hésite pas!

    La voie du Fedaykin est longue, mais riche d'apprentissages.
    Bon courage!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Par défaut
    Avant de te dire merci Galateo j'aimerai te dire que tu es un grand malade de Dune, ce que tu dois surement savoir depuis belle lurette; mais c'est quelque chose qui m'a beaucoup plus dans ton message c'est mon livre préféré !! Voilà ça c'est dit je peux (enfin) te dire : Merci !

    Dans mon école nous venons d'approcher l'UML, l'OO devrait bientôt suivre, car c'est vraiment un domaine que je n'arrive pas à me représenter ni même à comprendre l'intérêt. Enfin c'est comme les pointeurs en C il y a quelques années je penses qu'un jour ça "popuperas" dans ma tête et que je comprendrai.

    En ce qui concerne tâter de plusieurs langages je ne penses pas être capable de pouvoir tester autre chose que du C++. Je ne sais pas pourquoi je suis exclusivement réservé au C++ . Ce qui me rassure c'est que j'adore l'anglais donc ce ne sera pas un point faible pour moi.

    Faut il apprendre pour faire un projet ou faut il faire un projet pour l'apprendre ?
    Est il préférable d'appliquer ce qu'on apprends dans un "projet" ou faire du code brute ça suffit, comme par exemple des tableau de tableau de pointeurs qui pointent vers des tableurs etc etc ... ?

    Tu as eu l'opportunité d'apprendre dans une école d'info, moi normalement l'année prochaine je me retrouve dans un tout autre domaine, le Bio-médical. Donc je voulais savoir, peut on se passer d'après toi d'un apprentissage académique de l'UML ou du génie Logiciel & cie.

    Merci encore,
    Shai.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Par défaut
    Avant de te dire merci Galateo j'aimerai te dire que tu es un grand malade de Dune, ce que tu dois surement savoir depuis belle lurette; mais c'est quelque chose qui m'a beaucoup plus dans ton message c'est mon livre préféré !! Voilà ça
    Je ne vois vraiment pas de quoi tu parles....


    dans mon école nous venons d'approcher l'UML,
    Excellent, c'est le "langage" à connaitre pour la modélisation, si tu n'as pas encore fait de l'OO ni de la BD, l'intérêt ne sera pas évident encore, mais ça viendra.

    l'OO devrait bientôt suivre, car c'est vraiment un domaine que je n'arrive pas à me représenter ni même à comprendre l'intérêt.
    L'OO est un paradigme de programmation, pour le moment, tu es dans la programmation impérative, l'OO va venir changer la façon même que tu auras d'appréhender le "monde" que tu veux représenter, puisque l'OO se base sur une représentation par objet: dans l'impératif, pour representer des utilisateurs, tu vas avoir un tableau de string par exemple, avec des fonctions qui s'appliquent dessus, mais sans aucun lien direct à ce tableau, et qu'on pourrait appliquer à d'autres tableaux, bref, aucun regroupement "logique", par sémantique, fonction, l'OO, on va avoir une classe utilisateur, avec ses propres données, ses propres fonctions, et on va pouvoir instancier un objet de cette entité logique, qui va intéragir avec son envirronement(d'autres objets d'autres classes). L'intérêt de tout ça? plus tes projets grossiront, plus il devient difficile de modéliser/structurer le "monde", car les informations deviennent complexes, l'OO aide, en partie seulement, à alléger cette complexité. On me propose un projet de bibliotheque, avec des usagers , des employés, des documents, des prets, tout de suite, je visualise au minimum les classes dont je vais avoir besoin(enfin, en simplifiant énormément). Mais bon, c'est la façon dont moi je percois l'OO, maintenant j'ai tâté d'un autre type de programmation, avec Haskell, et j'ai eu de la difficulté au début, car mon cerveau était devenu trop formaté par OO...c'est le propre des paradigmes, pire que le Bene Gesserit, on ne voit plus les choses que sous une certaine perspective.


    Enfin c'est comme les pointeurs en C il y a quelques années je penses qu'un jour ça "popuperas" dans ma tête et que je comprendrai.
    Ah les pointeurs....que de vieux souvenirs!


    En ce qui concerne tâter de plusieurs langages je ne penses pas être capable de pouvoir tester autre chose que du C++. Je ne sais pas pourquoi je suis exclusivement réservé au C++ .
    De ce que je comprends, tu as fait du C, puis du C++....excellentes bases, après, si tu voulais, le passage vers Java, C# ou autre serait un jeu d'enfant. Ceci dit, quand on aime un langage, pourquoi en changer?

    Faut il apprendre pour faire un projet ou faut il faire un projet pour l'apprendre ?
    Je pense qu'on a évidemment d'une base pour commencer un projet, mais après c'est le projet qui t'imposera ses problématiques propres, et donc des recherches de solutions et des séances d'arrachage de cheveux, qui font qu'on approfondit vraiment les choses.


    Est il préférable d'appliquer ce qu'on apprends dans un "projet" ou faire du code brute ça suffit,
    heu, je ne comprends pas trop cette question, quand tu dis ce qu'on apprends, de quoi parles tu?

    Quant à faire du code brute(ce que je comprends de ça, c'est démarrer son projet en codant directement), il suffit d'avoir un projet moindrement moyen, et c'est le plantage presque assuré. Enfin non j'exagère, ça va finir par fonctionner, mais ça prendra fort certainement plus de temps, et on ne parle même pas si tu as à faire des modifications dessus quelques mois plus tard ou si quelqu'un d'autre à travailler dessus. Mais bon, je dis ça, mais ce n'est pas tout à fait vrai, il existe des méthodes de génie qui vont un peu dans ce sens, je pense à l'agile, surtout au XP(Xtreme Programming), mais même là, y a certaines règles et façons de faire!


    comme par exemple des tableau de tableau de pointeurs qui pointent vers des tableurs etc etc ... ?
    Ou comment devenir masochiste

    peut on se passer d'après toi d'un apprentissage académique de l'UML ou du génie Logiciel & cie.
    La réponse est oui! tout est faisable, ca dépendra de ta volonté, à l'école, les profs sont surtout là pour nous guider dans l'apprentissage en nous mâchant les notions de base, mais après, c'est surtout dans les bouquins qu'on va chercher le cœur de la matière.
    Alors sans vouloir devenir un pro de l'analyse, mais comprendre les bases, de la conception(patterns par exemple), de bons bouquins judicieusement choisis(et ça tombe bien, la section de livres suggérés/sujet de Developpez est excellente en général) et bien potassés suffiraient! Mais faut être motivé pour passer au travers de tout ça, seul dans son coin!


    Mais bon, là c'est aller trop vite, avec l'OO, tu en as déjà pour un bon moment, il sera toujours temps quand le besoin s'en fera ressentir de passer au reste.

    Voilou!

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Première chose que j'aime dire c'est : "C'est en programmant que l'on devient programmeur"
    Je dirai qu'il n'y a pas de miracle, le meilleur moyen d'apprendre c'est de pratiquer. Car lorsque l'on pratique on tombe sur des problèmes nouveaux, qui demande un peu de patiente, un peu de recherche, mais qui apporte de la joie ( oui on est heureux quand on vient de trouver ce qui deconnait ), et surtout de l'expérience ( la prochaine fois que tu vois ce problème tu sera quoi faire ).
    Autre chose, certe tu as un projet de faire un mousepad like :p , je ne saurais trop te conseiller de le garder pour plus tard ( enfin je suis pas sur de ce que dit, mais si tu te lance maintenant et que tu te trouve confronter à trop de problèmes cela va te décourager, et après il se peut que tu es moins envie de recommencer le même truc ). Pour ce projet là il te faudra surement une reflexion ( style UML ) avant de commencer, pour ne pas partir dans tout les sens et faire une base solide.
    Et pour finir avec la partie projet, comme il te faut apprendre, commence par faire des petits projets ( je parle pas de faire des tableaux de pointeurs qui pointe sur des tableaux de structures de pointeurs ( je trouve cela un peu exagéré, même si je ne suis pas contre qu'il faut apprendre les structures de données de base , liste chainées , arbres ... ) ), mais comme petit projet, si demain tu te lève, et que tu te dise tient je veux faire un pendu , bah suis ton envie et prend du plaisir. ( Bon le pendu, il y a pas trop d'objet dedans ), par contre une sorte de jeux de roles consoles ( même non interactif avec evenement simple et statique ( codé en dur dans le code) est un bon exercice pour de l'orienté objet. ( Merci à un des profs que j'ai eu, pour avoir concocter un sujet de ce style, pour apprendre entre autre les foncteurs ).

    Finalement, je vais parler un peu de moi, l'UML j'ai jamais aimé cela, je le laissé toujours à mon camarade, et je coder plus, ( souvent salement, vive les mauvaises habitudes ) directement sans reflexion. À l'ecole nous commencions le C++, je n'arrivais pas à appliquer la notion orientée objet et je voyais pas à quoi cela servait. Nous avons continuer, je m'en sortais du mieux que je pouvais, et puis maintenant je ne code plus qu'en C++ , très orientée objet. Donc effectivement ( peut être comme pour les pointeurs ) il y a une sorte de déclic.
    Maintenant je vois le C++ et l'orientée objet, comme un mur de brique ( ou un jeu de lego ) au debut, on prepare le design de l'application ( architecture de notre mur de brique ) et on commence par faire des classes simples qui seront les foncdations. Après on va rajouter des briques, qui peuvent être des classes hérités des autres ou encore, de nouvelles classes qui s'implémentent. ( Bon j'arrête avec une comparaison que j'arrive pas à trop à expliquer ). Mais ce que je veux dire, le C++ c'est un truc ou tu construit une class, tu la test, et puis une fois que tu la testé tu sais qu'elle marche et tu la laisse tranquille. Tu n'y touche presque plus. Tu sais qu'elle marche et tu ne fais que la reutiliser. Après dès que tu as besoin d'une nouvelle fonctionnalité, tu rajoute une class, qui elle aussi sera testé, mais que tu sais que il n'y a qu'elle qui peut faire des bugs pendant cette phase, car tu es sur de ce que tu as fait auparavant. Ainsi au fur et à mesure, tu va construire ton application en rajoutant des morceaux. Et c'est ça le C++ un truc que tu peux ajouter facilement des morceaux, qui est "sans bug" et entièrement réutilisable .

    Voilà ( en espérant ne pas avoir raconter trop de betises ).

    Bonne chance, si tu veux continuer de coder, sans avoir de cours, et même , en ayant d'autre cours, j'ai peur que tu n'ai pas trop le temps de tout faire (enfin c'est toi qui voit ).
    Dès que tu aura des problèmes ( ce n'est pas spécialement ce que je veux que tu ai ) n'hésitent pas à poster sur le forum
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Pour commencer trouve toi un bon bouquin et potasse à fond. Y'a pas de solution miracle. (y'a plein d'exemple de bon bouquin sur ce site).
    Pose des questions, ça fait beaucoup avancé, lis lis et relis. Et code deux fois plus que tu lis :p.
    C'est en forgeant qu'on devient forgeron. x)

Discussions similaires

  1. Avez vous un plugin pour avoir des ombres
    Par pierrot10 dans le forum jQuery
    Réponses: 1
    Dernier message: 05/09/2011, 15h00
  2. [Method] Un gestionnaire d'Acces avez vous des concepts ?
    Par brousaille dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 26/10/2005, 19h25
  3. [Débutant] Conseils pour débuter
    Par stip dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 04/07/2005, 17h01
  4. Que pensez vous de JCreator pour débuter ?
    Par Invité(e) dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 3
    Dernier message: 13/05/2005, 11h31
  5. Réponses: 2
    Dernier message: 01/04/2003, 22h09

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