Livres papiers/électroniques
Des tutoriels
L'étudier à l'école
Demander à un(e) ami(e) qui le maîtrise
Sites d'apprentissage
Sites d'entraide
Faire des exercices, guidés par un livre (ex: K&R)
Faire des exercices, guidés par une personne
Faire des exercices, guidés par un site Web
Lire du code source
Participer à des projets de développement
Autres...
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Quel est selon vous le meilleur moyen d'apprendre ce langage (expliquez votre choix) ?
Lire la doc, et aussi les cours et tutoriels pour apprendre le langage C, moyen sûr et efficace.
Personellement, je suis en apprentissage du C, avec le livre K&R mais je lutte pas mal, je trouve le livre tres innaccessible et trop peu détailler comparer à mon livre sur le Python 3 ...
Je pense que je vais m'orienter vers des tutorial, même si les tutoriaux en Francais et avec des exercices ne sont pas legions.
D'ailleurs, la j'en suis aux pointeurs justement, alors j'arrive à comprendre qu'un pointeur pointe sur l'adresse d'une variable, mais je ne vois pas en quoi c'est si interessant.
Le K&R est excellent "après" que l'on ait les bases du C !
Ca n'est pas le meilleur livre pour apprendre le C, mais plutôt pour l'approfondir.
En tout cas, profite bien de ton exemplaire !![]()
--
Metalman !
Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
(ANSI retire quelques fonctions comme strdup...)
L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
Et s'assurer que la logique est bonne "aussi" !
Ma page Developpez.net
Je vois merci, as tu une preference pour un livre en particulier ou un tutoriel ? En francais, autant je ne suis pas mauvais en anglais, mais l'anglais ne ferais que rajouter en difficulter, sans compter les possibles erreurs de compréhension.
Bien entendu il doit comporté des exercices, sinon je peux reprendre ceux du K&R, après tout, même si le livre est assez compliquer (), j'y ai quand même appris quelques petites choses, à part les opérateurs byte à byte que je n'arrive pas à integrer (en fait, il y a tres peu d'explications...) et les pointeurs pour le moment j'ai pas eu trop de mal.
Méthodologie de la programmation en C
Lit également la critique, ça te donnera une idée![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
C'est précisément pour cela qu'il aurait été intéressant de voir les langages dans l'ordre chronologique de leur apparition puisque chacun d'eux tente d'améliorer l'existant.
C'est une question qui est loin d'être anodine, mais tu peux déjà dégager plusieurs arguments valables :D'ailleurs, la j'en suis aux pointeurs justement, alors j'arrive à comprendre qu'un pointeur pointe sur l'adresse d'une variable, mais je ne vois pas en quoi c'est si interessant.
- Si tu sais ce qu'est une adresse mémoire, tu comprends qu'il te faudra bien un type de donnée dédié pour les représenter. Ceci justifie en soi l'existence du pointeur. Ensuite, comme il y a toujours « quelque chose » à l'endroit pointé, tu peux également spécifier le type de cette donnée, et introduire la notion d'indirection ;
- Lorsque tu appelles « malloc(n); », tu réserves n octets de mémoire. Mais quelle information cette fonction doit-elle te renvoyer pour que tu puisses les utiliser, et sous quelle forme ?
- Quand ton pointeur pointe une variable, ça te permet d'écrire directement dedans. Dans la plupart des langages, C compris, on fait une affectation avec « variable = valeur » mais, en pratique, que va-t-il techniquement se passer au niveau du micro-processeur et quels sont les routines sous-jacentes qui vont effectivement copier ta valeur dans ta variable ?
Une bonne approche consiste souvent à prendre le problème à l'envers : « comment ferais-je si je devais me passer complètement des pointeurs » et « que devrais-je utiliser à la place » ?
j'ai choisi :
- L'étudier à l'école
- Des tutoriels C
- Faire des exercices, guidés par un livre (ex: K&R)
Pourquoi ces choix et bien parce qu' à l'école tu as la possibilité de comprendre d'une part les fondamentaux de l'architecture et du fonctionnement de l'ordinateur et d'autre part de comprendre la base de la programmation à savoir l’algorithmique. Une fois que c'est fait tu peux aller plus loin en lisant et en appliquant des tutoriels (merci developpez.com) et autres livres à exercices corrigées tels Programmer en Langage C (merci Claude Delannoy).
Après ces 2 étapes la suite c'est de travailler sur un projet que ça soit dans le cadre de l'entreprise ou dans un cadre académique. C'est de cette manière qu'on apprend réellement les subtilités du langage.
Si c'était à refaire je le referai car c'est grâce à cette approche que je ne tremble pas devant un nouveau langage : j'ai la base
Cependant s'il fallait changer quelque chose je penche pour plus de pratique plus de projets...car en effet c'est en programmant que l'on devient programmeur même si dans les débuts un simple ";" oublié peut vous prendre la journée à débuger.
Un conseil au débutant : maîtriser les concepts de base (les tableaux, variables, les types, les chaînes de caractère, les pointeurs, la gestion de la mémoire ...) une fois que c'est fait passer à la pratique ...exercez-vous
"Practice makes perfect" disent les anglo-saxons
![]()
"L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
- Benjamin Franklin
De l'aide en Javascript , consultez la FAQ JS.
De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.
Sûrement pas des tutoriels. Les tutoriels nous prennes trop par la main, et on apprend pas vraiment a penser par nous même, mais plutôt a faire comme dans le tutoriel. Le meilleur moyen, c'est en ayant des exercice, des défis que on essaie de résoudre, des man page pour couvrir les fonction que on utilise. Un livre telle que K&R est également particulièrement utile.
- > tutoriel
- > Exercice
- > Livre (ou PDF)
- > Site d'entraide
- > Papier/vidéo/slide d'université
Le meilleur moyen reste encore une formation réellement suivie, que ça soit à l'école ou dans un organisme de formation comme il en existe tant dans le monde informatique. Malheureusement, ce moyen n'est pas toujours accessible.
Donc en dehors de ce moyen, je pense que le meilleur moyen est de mettre en pratique : faire des exercices, quel que soit le support. Après, il faut maitriser les concepts du langage, et là, il faut potasser la théorie (je pense qu'il doit malheureusement être possible d'utiliser les pointeurs façon recette de cuisine sans rien comprendre, mais tôt ou tard, ça vire à la catastrophe).
Je trouve d'ailleurs que la différenciation dans ce sondage par média me parait peu pertinente : un tutoriel en ligne ou un livre, quel différence ? Ce qui compte, c'est la qualité du livre ou du tutoriel en question, et là, forcément, ça se complique.
La même chose vaut pour tous les langages, je pense.
Moi pour les auto formation je préfère les exercices les applications, des tas,...
Mais franchement je n'ai presque jamais bien finalisé une auto formation sauf si j'ai une contrainte professionnelle ou universitaire.
Bref, c'esy vrai qu'un suivi dans une école ou formation serait le mieux. Dans ce cas je réussis toujours majorante.
Quel est selon vous le meilleur moyen d'apprendre ce langage (expliquez votre choix) ?
Suivre les cours pour apprendre le C et programmer des algorithmes mathématiques en c avec gnuplot comme interface graphique
http://fr.wikiversity.org/wiki/Mathc_Home_Edition
http://fr.wikibooks.org/wiki/Mathc_gnuplot
Si c'était à refaire, le feriez-vous toujours ? Et pourquoi ?
Oui/non, cela prend beaucoup trop de temps, mais cela est passionnant
Qu'est-ce que vous changeriez dans votre technique d'apprentissage ?
Travailler les algorithmes en pseudo-code.
Quels conseils donneriez-vous aux débutants ?
Il me semble que l'étude des algorithmes est plus importante que l'étude d'un langage.
Bonjour,
Pour moi tous les moyens sont bons, mais le meilleur et le plus efficace (à la fois un moyen et une finalité) me semble la pratique !
Cela me fait penser à une citation de Clarissa PINKOLA ESTES qui s'applique sans doute à beaucoup de domaines :
On peut avoir la connaissance universelle, on en revient toujours à ceci : la pratique.
Rentrer à la maison et, pas à pas, mettre à exécution ce que nous savons, aussi longtemps que nécessaire, le plus longtemps possible ou jusqu'à la fin.
Partager