# Le club des professionnels en informatique > La taverne du Club : Humour et divers >  comment devenir de plus en plus bon en programmation.

## bigs3232

bonjour 
je sais qu'il y a des gens trs trs forts dans ce merveilleux forum.
moi je ne suis qu'un modeste dveloppeur en php-mysl-js.Je ne peux 
malheureusement consacrer 100% de mon temps au dveloppement car je suis plus manager que dveloppeur.Ceci dit j'adore faire du dveloppement mais  chaque fois j'oublie soit le code , soit la logique de programmation.
Par exemple j'tais parti  1 mois  l'tranger sans toucher aux codes .A mon retour oh surprise j'ai l'impression d'avoir tout oublier .
Alors des questions :
comment vous faites pour retenir autant de code et de syntaxe ou de logique de programmation ?
avez vous des techniques pour retenir des logiques de programmation ?
comment faites vous pour apprendre si vite et ne pas oublier ?
comment faire pour s'amliorer en programmation ?
Racontez vos expriences
merci pour tout.

----------


## magicbisous-nours

Personnellement moi c'est grce  la pratique que j'apprends et que je retiens.... plus je vais faire d'un langage et mieux je vais dvelopper dans ce langage (bon avec mes un peu moins de 2 ans d'exprience c'est pas compliqu de faire mieux mais je met du coeur  l'ouvrage)....
L'inconvnient c'est qu'il me faut toujours un petit temps d'adaptation pour passer d'un langage  l'autre....

----------


## tumoo

la pratique, la pratique et ... la pratique



> comment vous faites pour retenir autant de code et de syntaxe ou de logique de programmation ?
> avez vous des techniques pour retenir des logiques de programmation ?


l'habitude,  force de bosser




> comment faites vous pour apprendre si vite et ne pas oublier ?


l'apprentissage peut tre long, mais il faut y passer, c'est comme devenir sportif de haut niveau, il te faut du temps et si tu t'entraines pas rgulirement, bah tu perds tout




> comment faire pour s'amliorer en programmation ?


encore une fois, pratiquer

----------


## Invit

La guitare, a ne s'apprend pas en regardant des dvds ou en lisant des livres sur le sujet...

Psst, en passant : il y a un mot en franais pour exprimer "de plus en plus bon", c'est "meilleur"...

----------


## Lyche

> C'est en forgeant qu'on devient Forgeron

----------


## bigs3232

peut tre avez vous des techniques pour retenir certaines logiques ? 
c'est comme les expressions rgulires ca fait je ne sais pas combien de fois j'essaie de retenir les codes .J'ai l'impression d'avoir compris et 2 semaines aprs ,je me retrouve au point zro.j'ai toujours pas compris .
Quand je vois certains qui te pondent des codes en 5 mn l je suis impressionn.

----------


## tumoo

c'est que ces gens les utilisent rgulirement et donc a reste plus facilement
si tu t'entraines tous les jours, a sera pareil pour toi, tu y arriveras rapidement

----------


## heliy

> bonjour 
> je sais qu'il y a des gens trs trs forts dans ce merveilleux forum.
> moi je ne suis qu'un modeste dveloppeur en php-mysl-js.Je ne peux 
> malheureusement consacrer 100% de mon temps au dveloppement car je suis plus manager que dveloppeur.Ceci dit j'adore faire du dveloppement mais  chaque fois j'oublie soit le code , soit la logique de programmation.
> Par exemple j'tais parti  1 mois  l'tranger sans toucher aux codes .A mon retour oh surprise j'ai l'impression d'avoir tout oublier .
> Alors des questions :
> comment vous faites pour retenir autant de code et de syntaxe ou de logique de programmation ?
> avez vous des techniques pour retenir des logiques de programmation ?
> comment faites vous pour apprendre si vite et ne pas oublier ?
> ...




C'est simple.

CTRL+Space.

----------


## el_slapper

> C'est simple.
> 
> CTRL+Space.



Mme si c'est un outil utile, il ne remplace pas la mmoire. La vraie aptitude du programmeur, c'est l'aptitude  mmoriser plein de petits dtails en mme temps qui forment un tout. Et a, pas de miracle, a s'entraine.

Par contre, avoir oubli plein de trucs aprs des vacances, c'est normal. La mmoire du programmeur est surtout  court terme. C'est l, maintenant, en plein algorithme, que je dois retenir tout ce qui va dedans, tous les mcanismes induits, et tout ce qui doit en ressortir.

----------


## bigs3232

merci pour vos rponses.
Et pour tre prcis avez vous des techniques mmo techniques pour retenir des choses , des raisonnements ect ???
Allez que les vieux routards de la programmation s'expriment et partagent leur vcu

----------


## Aniki

La comprhension du code qu'on utilise joue normment aussi.

Ca peut paratre vident pour certains, mais pas mal de gens copient/collent du code sans le comprendre. Et dans ce cas, mme s'ils le rutilisent plusieurs fois dans d'autre projets, il faudra toujours retourner voir comment c'tait fait dans les anciens projets pour l'utiliser  nouveau.

Donc pour moi, bien comprendre le code qu'on utilise est une tape primordiale pour s'en rappeler facilement et, plus gnralement, progresser.
Ca ne se limite pas qu'au code, mais aussi au langage, design patern etc.

Mais pour moi le facteur universel numro un, quelque soit le domaine : *la motivation*

----------


## thelvin

Personnellement je ne mmorise presque rien. L'informatique (ou du moins les technos que j'en utilise personnellement) est un outil mathmatique parfaitement rigoureux.
Je ne retiens rien, je _dduis_ ce que je dois faire. Quand j'apprends une chose, j'apprends aussi quel est le raisonnement derrire, et la prochaine fois que j'en ai besoin je le dduis  partir de la situation o je me trouve. Bien sr, tout ce qu'on passe son temps  redduire, le cerveau l'optimise et se contente de le dduire tout de suite.

Du coup, tout ce qui n'est pas spcialement logique, voire qui est illogique ou, le pire, qui est parfaitement alatoire, tout a, a passe mal avec cette technique. Dans ces cas-l, je vais plus vite en apprenant par cur le temps que j'en ai besoin, et en le rapprenant  chaque fois que j'y reviens.

----------


## bigs3232

que veut tu dire par le mot dduire que tu utilises plusieurs fois ?

----------


## thelvin

- Je me demande quelle est la valeur de x.
- Je sais que 2x + 3 = x + 1
- J'en dduis que 2x - x = 1 - 3
- J'en dduis que x = -2

De ce que je vois  propos de x je dduis la valeur de x. Dduire, c'est a. Raisonner par dduction.

Je ne retiens pas par cur quelle classe ou quelle fonction permet de faire quelle chose avec quels paramtres. Je vois ce que j'ai besoin de faire, j'en dduis que a a  voir avec a, je vais dans le sommaire de la doc o je vois rapidement quelle section, puis quel chapitre, puis quelles classes/fonctions ont  voir avec a, avec documentation des paramtres et exemples. Je vais dessus, je lis, j'en dduis ce que je dois faire.
a a peut-tre l'air long, mais aprs les deux premires fois, c'est quelques secondes si on est un peu lent  la souris. En plus, certains langages sont organiss de sorte que l'intellisense permet de faire a  la vole.

----------


## LooserBoy

> En plus, certains langages sont organiss de sorte que l'intellisense permet de faire a  la vole.


Aprs 10ans de "boutique", je me rends compte que l'Intellisense est un norme pige pour moi.
Au dbut, je n'y avais pas accs, je mmorisais normment de choses: les fonctions, leur paramtres, leur temps dexcution (pour faire du pseudo temps rel), les failles de fonctionnement de certaines,...
Maintenant, avec l'intellisense, je ne m'amuse plus  mmoriser ces fonctions et donc, j'ai plus de mal  y associer leur paramtres, leur failles,...

Concernant la syntaxe de programmation, utilisant quasi exclusivement le mme langage depuis environ 9 ans, c'est devenu une seconde langue "maternelle".

Pour ce qui est de la logique de programmation, il suffit d'avoir compris le concept pour pouvoir le mettre en pratique et, ce, quelque soit le langage. Ensuite, ce ne sont que des problmes d'implmentation, brancher les neurones suffit.

On n'apprend pas tous et toutes  la mme vitesse. Certains vont assimiler trs rapidement certaines choses alors que d'autres mettront un temps incroyable.
A lcole, on nous faisait trouver notre mthode d'apprentissage prioritaire. Certains sont photographiques et, par consquent, vont mmoriser l'apparence d'un code/pattern/architecture.
D'autres, comme moi, sont des associatifs qui mmorisent les choses en faisant des associations d'ides (parfois alambiques ou farfelues  ::oops::  ).

Enfin, de ce que je peux ajouter, pour progresser, il a t dit,  trs juste titre, la pratique mais j'ajouterais aussi le niveau de difficult influence beaucoup. Pendant 2 ans, j'ai t sur des projets particulirement "bateau" techniquement et fonctionnellement (autant dire  ::sleep:: ). Quand je suis revenu sur des projets plus "touchy", autant dire que j'avais l'air, pendant quelques temps, d'un type qui ne savait plus rien faire. Mais c'est comme le vlo, a revient vite.  :;):

----------


## Jean-Philippe Andr

salut,

outre la pratique, quel que soit le langage que tu vises, ce que je tache d'enseigner aux eleves c'est surtout l'algorithmique.

A partir du moment ou tu as deja une bonne idee des informations que tu souhaites manipuler, du point de depart et du point d'arrivee, tu as deja parcouru une bonne partie du chemin.

Le debogage et la pratique font que tu auras une facilite a trouver seul les solutions a tes points bloquants (variable pas declaree, test non verifie, exception non prevue, etc.).

Comme indique par LooserBoy,  tu peux tres bien maitriser un sujet a perimetre precis. La force du developpeur experimente sera la capacite de celui-ci a prevoir par avance les eventuels ajouts qui lui seront demandes, et de programmer en consequence pour ne pas avoir a "tout recommencer" a cause d'un ajout de variable, de parametre, de conditions...

----------


## danielhagnoul

Bonsoir

Je souscris  la vaste majorit de ce qui a dj t dit. Mais avoir une bonne mmoire, cela aide beaucoup. On gagne du temps ! Je m'en rends compte, car j'oublie plus vite qu'avant et je perds du temps  retrouver la piste.

----------


## dourouc05

> 


Et c'est en sciant que Lonard...  :;): . 

(Ben oui, 'faut pas oublier que c'est la taverne  ::aie:: ). 

Sinon, pour s'amliorer, pas trente-six solutions : pratiquer, toujours pratiquer. Apprendre de nouveaux paradigmes pour voir le monde d'une manire diffrente ou, simplement, un nouveau langage (certains recommandent un nouveau langage par an).

----------


## andry.aime

> Puisqu'il faut apprendre,  dfaut de le comprendre


Apprendre d'abord quelque concept (Algo, Procdural, POO, ...), avant d'apprendre une langage de programmation.

----------


## el_slapper

> - Je me demande quelle est la valeur de x.
> - Je sais que 2x + 3 = x + 1
> - J'en dduis que 2x - x = 1 - 3
> - J'en dduis que x = -2
> 
> De ce que je vois  propos de x je dduis la valeur de x. Dduire, c'est a. Raisonner par dduction.
> 
> (.../...)


Je suis d'accord, mais pour que a marche dans ton cerveau, il te y faut caser, en mme temps, toutes ces tapes. Et parfois, c'est un poil plus compliqu que cel. Quand on pond un algo rcursif, par exemple, il faut mmoriser en mme temps les tats de la mme fonction en tat appelant et en tat appel.

Aprs, on peut oublier. C'est pour a que je parle de mmoire  court terme. Se rappeler, 8 ans aprs, que le programme MBCCMOM1 grait la sortie du premier cran de la transaction de modification de (---secret professionel---), c'est parfaitement inutile.

Mais, au moment ou on corrige la transaction, c'est une information  avoir en mmoire, en mme temps que bien d'autres.

----------


## thelvin

Mmoire court terme, si tu veux, mais je prfre parler de truc crit sous mes yeux, comme les formulaires de math au bac.

----------


## -Fly-

Pour tre bon dans la programmation, pour mon cas c'est a 99% la pratique. Disons qu'en quelques jours de visionnage de vidos tutoriel sur des langages en m'y mettant a fond et en fesant les manipulation en mme temps j'ai du apprendre autant que ces 6 dernier mois. L'essentiel est de comprendre tout ce qu'on fait pas grave si c'est du copier coll tant qu'on a tout compris et qu'on a compris pourquoi on le feait.
Donc la pratique encore et encore avec un peu d'algorithmie quand mme! ::aie::

----------


## Kreepz

Du mme avis que les autres, la pratique avant tout!  ::ccool:: 

Mais je dois dire que l'algo m'a pas mal aid  comprendre la logique de programmation de certains langage.

----------


## souviron34

puisque ce post remonte, je me permet de faire remarquer que "devenir de plus en plus bon" n'est pas franais et serait avantageusement remplac par "s'amliorer" ... (_ce qui est aussi nettement plus court )_

----------


## ZiGoM@r

Penser comme un automate.
(Et automatiser comme un penseur ?)

----------

