Site News
Research
Texts
X-philo
Code
KB
Awards
Links
Site Map





Copyright (c)
2000-04
by Newsdee

   

Quel est le meilleur moyen d'apprendre a programmer en C?
(en reponse a: Bounty).

Il n'y a pas d'unique moyen d'apprendre le C, car en fait tout depend de tes preferences personelles. Le plus difficile est peut etre d'apprendre les bases.

Personellement, je n'ai appris le C qu'une fois en fac, apres avoir passe des annees (j'ai commence tres tot, mais sans grands resultats :)) a programmer en Basic, Pascal, Assembleur, et Applescript (un vieux langage semblable au Actionscript de Flash). Mais il me manquait beaucoup de concepts, et beaucoup de choses restaient obscures.

Ca s'est resolu en fac, ou j'ai suivi des cours d'algorithmique (tres repandu car independant du langage de programmation), de C (moins courant), et meme un cours d'assembleur (rare). Mon probeleme etait que je n'avais jamais serieusement songe a regarder un livre d'algorithmique, vu que ca me semblait pas marrant... mais en fait, c'est un tres puissant outil de base! Connaitre un peu de maths aide aussi. Au depart je n'aimais pas trop les maths, mais il faut garder l'esprit ouvert en te disant que c'est aussi un outil necessaire.

En fait une fois que tu sais assez sur la logique derriere la programmation, c'est plus facile pour comprendre le reste. Mais cette logique n'est pas du tout limitee a un seul langage, donc c'est tout benef' de l'apprendre vu qu'apres tu peux l'appliquer n'importe ou.

Apres il y a plusieurs sources d'information. Le Net est excellent si on sait ce que l'on cherche, et il y a beaucoup de livres disponibles sur le sujet. Les livres peuvent etre un peu chers, mais la plupart sont disponibles dans les bibliotheques et peuvent etre empruntes pour un bas prix.

Bien entendu il n'y a rien de "spectaculaire" dans ces cours/notions de base, c'est a toi d'apporter la motivation pour arriver plus loin. Mais c'est comme passer un permis de conduire de base avant de pouvoir etre pilote de course. :-)

L'assembleur est peut etre demode et obscur, mais (a mon avis) connaitre quelques notions t'aidera pour comprendre comment un PC fonctionne interieurement. L'algorithmique, tu peux l'apprendre en utilisant non seulement du C, mais aussi du Java et du C++. Je me repete, mais je ne peux pas le dire assez: les principes restent les memes, meme si tu changes de langage.

Finalement, le plus dur n'est pas d'ecrire ton programme mais de le deboguer. On est facilement perdu au depart, mais a fur a mesure tu te rendras compte que la plupart des erreurs sont recurrents et tu sauras comment les resoudre.

Quant aux groupes de programmeurs, il existe plusieurs sites ou des programmeurs envoient des questions, mais je ne m'en sers pas beaucoup. Je pense qu'il vaut mieux apprendre les bases avant d'essayer de demander, car tu apprendras le plus en decouvrant par toi-meme.

Commence par petit pas, tu peux tenter ceci:

1 - un "hello world" (programme qui dit bonjour)
2 - un petit jeu d'aventure (tres limite, en texte, ne permet que choisir parmi des choix)
3 - un programme qui compte les octets dans un fichier (j'en avais besoin, j'ai ecrit le mien :) )

etc... Aussi c'est une bonne idee de reflechir sur papier avant de te mettre a taper ton programme, meme si en general les "coups de genie" te viendront en regardant ton code a l'ecran. ;-)

Il y a egalement beaucoup de programmes "open source", qui te permettent de jeter un coup d'oeil a comment un programme a ete fait. Cependant je les trouve parfois durs a comprendre, donc je prefere toujours un bouquin pour m'expliquer. Tu peux en trouver dans ce site:

http://www.sourceforge.net (en anglais)

A la limite, tu peux te "faire tes dents" avec du Java (http://java.sun.com), et ensuite passer au C. Tes programmes ne seront pas aussi rapides, mais ils tourneront partout sans besoin de recompilation :-)

- Newsdee, le 13 mars 2003.