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 :

méthode d'apprentissage pour programmer?


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Points : 10
    Points
    10
    Par défaut méthode d'apprentissage pour programmer?
    Bonjour,
    Je voudrais me mettre à la programmation et atteindre un très bon niveau
    avec des tutoriaux sur internet.
    Avant je me suis deja essayer au Visual Basic et un peu au c++ donc j'ai quelques connaissances en algorithmie et connais le principale.
    Je voudrais repartir à zéro pour avoir des bases plus que solide.

    _Par quel langage me conseillez vous de commencer (les 5 premiers langages dans l'ordre
    que vous me conseillez de faire en 1er)?
    _Pouvez vous me donner une methode d'apprentissage pour vrémment etre solide.
    _Des sites avec de très bons tutoriaux?

    merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Avant d'étudier les langages, je te propose de commencer par la méthodologie de développement la plus répandue actuellement, c'est la programmation orientée objet (à moins que ce ne soit déjà fait). Pour cela et pour le reste, tu ne trouveras pas mieux que Développez.com

    Pour langage, je pense que le mieux est de commencer par Java qui est le langage type pour la POO.
    Cours sur la Programmation Orienté Objet avec le langage Pascal
    Cours sur la Programmation Orienté Objet avec le langage Java (l'auteur est mon professeur, quand j'étais étudiant ). Le cours est un diaporama, donc il n'y a pas de longues explications, c'est pour ça que je te propose le premier lien.

    Pour aller plus loin, tape programmation orientée objet dans la recherche Developpez.com !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Il existe :
    - la programmation procédurale/ fonctionnelle : pascal / c
    - et la prog objet (avec un niveau plus ou moins fort d'abstraction) : c++, java, c#, smaltalk...

    Pour moi le mieux est de reprendre les bases en gros dur : du C, juste du C : comprendre le fonctionnement des pointeurs n co.
    Ce sont des notions abolies en objet, mais c'est important pour comprendre le fonctionnement d'un programme... En meme temps que tu apprends le C, essayes de mater le code assembleur, meme si tu n'y comprend rien : repères juste les mots clefs, comment les variables passent dans tel registre, s'incrémentent, etc. Ca te donnes une idée du truc "magique".
    Le meilleure exo en C est celui sur les listes chainées.

    Quand tu te seras cassé les dents sur des trucs à la noix, tu pourras attaquer l'objet, et la tu béniras sa toute puissance...
    Mais il n'est peut etre pas préférable de passer au C++ à ce moment : tu conserveras tes habitudes de c, et tu feras de l'objet batard...

    Passes directement à java ou meme à C#!!
    Perso je te conseil c#...
    [minitroll]quoi que : essayes java juste pour mieux le détester après... [/minitroll]
    (désolé, je suis allergique à java, et surtout a la javadoc...)

    En réalité pour apprendre l'objet tu ne devrais pas avoir besoin de langage... C'est une philosophie, et une nouvelle approche de la prog : il y a des concepts assez élevés à absorber, et cela demande beaucoup de patience...
    Tu devrais en théorie comprendre l'objet juste avec les cours... Mais c'est comme les maths : tu ne comprendras qu'en pratiquant...
    Tu retrouveras ces mots : héritage, polymorphisme, instance, méthodes, etc.

    Surtout soit patient : tu absorberas les concepts doucement, en t'entrainant : et surtout pour apprendre l'objet tu devra désapprendre certains réflexes du c...
    Essaye des exemples simples, en mode console : qui ne servent a rien : définir un etre vivant, un animal, un mammifère, un humain, une femme (ou plutot femelle), un homme (ou plutot male) : quand tu saura hiérarchisé tout ça en objet, tu auras cerné la plus grosse partie... (place la méthode reproduction quelque part : hérite la, surcharge la, redéfinit la... juste un truc qui affiche en console la manipulation)

    Voilà petit padawan : quand tu sera pret et assez fort, tu pourra plonger dans le coté obscur du c++...
    Ou devenir un maitre jedi du c#...

    Et encore après... Il y a les templates, les generics, l'architecture n-tier, le mapping objet-relationnel...
    Pas de quoi s'ennuyer en perspective
    Pas la peine de trop foncer à code coder coder... Passe pas mal de temps sur les forums, lis des articles, mate les blogs de developpez et code sources : commence par lire les trucs généralistes : tu te fera au vocabulaire et tu assimileras sans t'en rendre compte. Et surtout tu enregistrera des mots et des techniques dont tu auras besoin plus tard...

    Un des gros boulot dans l'informatique, c'est aussi de se tenir à jour sur les technos, les techniques, les tendances, etc.

    [edit ortho]

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    ok merci pour toutes ses reponses.
    Jevais donc me mettre au C a fond.

    Quand j'aurais bien appris les commandes vous me conseillez de faire quel genre de programmes pour m'exercer?
    N'héstez pas a donner plein d'idees.

    merci!

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Ne passe pas trop de temps non plus sur le c

    Je t'ai dit les meilleurs exemple en C sont de l'ordre du classement de donnée : liste chainée, B-Tree, n-tree, hashtable... Tout ca en mode console : tu ajoute et retire des items, tu les affiches (récursivement steuplé! a oui j'ai oublié, la récursivité est importante à comprendre!), et puis je pense que ca suffiras, tu auras compris le fonctionnel
    Il y a pleins de cours sur ce genre de truc, tu devrais les trouver facilement, c'est dans les programme de dut de toute façon

    Je pense que le premier exo intéressant à faire doit etre la récursivité.

    A vi j'ai oublié aussi : quand tu auras saisis la prog objet, mets toi vite au design patern, c'est important.

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Chubyone
    la programmation procédurale/ fonctionnelle : pascal / c
    Attention, il ne faut pas confondre procédural et fonctionnel, ça n'a rien à voir. Il y a peu de similitudes en le C et le LISP par exemple.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    En fait je n'avais jamais fait de recherches plus poussées sur les définitions, en restant sur les propos d'un prof...

    Et effectivement... Voici le premier cours!
    http://fr.wikipedia.org/wiki/Langage_de_programmation

  8. #8
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par Chubyone
    Pour moi le mieux est de reprendre les bases en gros dur : du C, juste du C : comprendre le fonctionnement des pointeurs n co.
    Ce sont des notions abolies en objet, mais c'est important pour comprendre le fonctionnement d'un programme... En meme temps que tu apprends le C, essayes de mater le code assembleur, meme si tu n'y comprend rien : repères juste les mots clefs, comment les variables passent dans tel registre, s'incrémentent, etc. Ca te donnes une idée du truc "magique".
    Le meilleure exo en C est celui sur les listes chainées.
    Ok pour le C, c'est un bon langage de base.
    Mais pas besoin de descendre jusqu'à l'assembleur ! Pourquoi pas du binaire aussi

    Citation Envoyé par Chubyone
    Passes directement à java ou meme à C#!!
    Perso je te conseil c#...
    Je lui ai conseillé le Java car c'est un peu plus complexe que le C#. Ceci dit, je fais du C# et j'adore ça

    Citation Envoyé par Chubyone
    Je pense que le premier exo intéressant à faire doit etre la récursivité.
    Oula ! Personnellement, si tu ne veux pas t'arracher les cheveux, je te déconseille de commencer par la récursivité. C'est un concept trop complexe pour l'étudier en premier...

    Citation Envoyé par Chubyone
    A vi j'ai oublié aussi : quand tu auras saisis la prog objet, mets toi vite au design patern, c'est important.
    +1

  9. #9
    Membre habitué Avatar de NeraOne
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 218
    Points : 128
    Points
    128
    Par défaut
    Garde quand même en tête que programmer c'est super chouette mais c'est pas en programmant que tu vas apprendre et comprendre la programmation. Il faut en effet te chauffer le cerveau sur de la méthodologie, l'algorithmie, les pointeurs... La programmation c'est uniquement une représentation informatique de ce que tu as dans la tête !!!
    Quand a ce qui est des liens, c'est le genre de thème ou tu vas trouvez des caisses de documentation sur google : d'abbord en programmation procédurale, orientée objet, évenmentielle, fonctionnelle si ca t'intéresse... Rien de bon ou mauvais mais faut en prendre un peu partout.
    Sache que tu trouveras toujours une solution technique pour faire ce que tu veux faire, le tout c'est juste de savoir précisement ce que tu veux faire et donc il te faut apprendre ce qu'on peut faire ! (ok c'est contradictoire mais c'est beau, merde ! )
    Tchô !
    Antoine

  10. #10
    Membre confirmé Avatar de Destiny
    Profil pro
    Inscrit en
    Février 2005
    Messages
    720
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 720
    Points : 617
    Points
    617
    Par défaut
    Java c'est complet et très bien pour commencer, un langage évolué et pas trop compliqué..

    Sinon c'est sur qu'avec C# on s'amuse bien aussi

    Perso j'ai fait de l'assembleur mais ce n’est pas forcément nécessaire...
    Mais c++, Java ou c# à mon avis c'est très bien pour tout niveaux

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Je suis d'accord l'assembleur n'as rien d'obligatoire (aujourd'hui), c'est juste pour "apprécier" ce qui se passe derrière...

    C'est comme apprendre a un gamin l'informatique, lui montrer une grosse tour qui fait des trucs incroyable.. Mais c'est important qu'il sache que le moniteur ne fait rien, que tout se passe dans cette obscure boite blanche... Et bien meme si ca ne sert a rien c'est important d'ouvrir la boite : le gamin ne comprend rien à tous ces trucs à l'intérieur, mais ca "démystifie" l'engin...

    Voir le code assembleur, ca sert juste a voir l'intéret du compilo, voir ce qu'il fabrique de notre code...


    Ensuite le binaire? Ben pourquoi pas! C'est important de savoir comment sont géré les nombres, short, int, double... Pouvoir les représenter... Après tu tombe sur un code c++ qui gère du décalage de bit, du masque de bit, et tu comprend pas pourquoi un if( int ) peux te renvoyer true ou false....
    Et puis on continue d'utiliser les &, |, || ... Ce sont des opérations binaires...



    pour la récursivité, je disais ca avant qu'il ne s'attaque aux listes chainées et b-tree^^ Disons que c'est leur premier exemple ou tu fais un truc si puissant et compliqué pour le cerveau humain que tu te surprend toi meme...
    Sachant qu'il a deja fait du C C++, il sait faire des boucles : la récursivité ca ira...


    +1 pour NeraOne : le plus important c'est pas de se lancer a l'aveuglette dans un truc techniquement poussé.
    Quand tu maitrisera quelques techniques, réfléchis a ce que tu veux faire, et comment le faire. Meme si ten 'as aucune idée.. Enfin, donne toi des buts simples. Le but est très important, sinon tu finiras dans un labyrinthe de techniques, mais au fond t'auras l'impression de rien faire, et ca te gonfleras..

    Je me rapelle d'un exo tout c+n en c : en mode console, il fallait afficher un triangle isocèle avec des "/" et des "\" et des "_" et pouvoir parametrer sa taille en fonction de la hauteur passée en argument. C'est tout con, mais il faut commencer a réfléchir soit meme pour le faire

  12. #12
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    Pourquoi ne pas commencer avec un language de script comme le D, perl, ruby ou python ?

    Ce sont des languages pas trop stricts et suffisamment ouvert que pour pouvoir faire n'importe quoi ...

  13. #13
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Citation Envoyé par zulad
    Pourquoi ne pas commencer avec un language de script comme le D, perl, ruby ou python ?

    Ce sont des languages pas trop stricts et suffisamment ouvert que pour pouvoir faire n'importe quoi ...
    Justement, il ne veut pas faire n'importe quoi, il veut des bases solides

  14. #14
    Membre confirmé Avatar de zulad
    Homme Profil pro
    creatif
    Inscrit en
    Juin 2007
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : creatif

    Informations forums :
    Inscription : Juin 2007
    Messages : 713
    Points : 519
    Points
    519
    Par défaut
    y a pas plus solide qu'un langage comme le D.

    C'est du C / C++ ruby like, il ne trouvera rien de mieux pour débuter qu'un langage proche des algorythmiques .

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/05/2015, 03h00
  2. Réponses: 0
    Dernier message: 06/05/2014, 15h51
  3. Réponses: 3
    Dernier message: 02/02/2013, 17h09
  4. cle pour programme
    Par mumu2001 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 04/11/2002, 10h34

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