[C] De l'importance d'un bon cours

Page 1 sur 2 1, 2  Suivante

Voir le sujet précédent Voir le sujet suivant Aller en bas

[C] De l'importance d'un bon cours

Message par Timon le Dim 27 Jan - 20:56

Bonjour,
Comme vous le savez, Internet et les librairies regorgent de livres abordant l'apprentissage du langage C. Malheureusement, bon nombre de ces cours/tutoriels sont de mauvaise qualité.
Exemple de mauvais tutoriel :
Langage C de Patrick Trau
Exemple de mauvais livre :
La bible du programmeur de Kris Jamsa et Lars Klander

Par "mauvaise qualité", j'entends méconnaissance du langage (de sa norme) et enseignement à partir de ces mauvaises bases. J'ai souvent l'impression que leur(s) auteur(s) l'ont appris par empirisme. Bien sûr qu'il faut manipuler le langage pour le comprendre mais il ne faut pas s'arrêter à ça si on veut l'utiliser concrètement et surtout si on veut l'enseigner !
Ainsi, on y voit des absurdités qui pourraient être facilement corrigées si l'auteur avait été un peu sérieux :
Patrick Trau a écrit:Fonctions d'entrées/sorties les plus utilisées
[...]
char putchar(char)

Alors que
La norme (C89) a écrit:4.9.7.9 The putchar function

Synopsis

Code:
        #include
        int putchar(int c);

L'erreur peut sembler minime. Pourtant, c'est une fonction que tout programmeur connaît. Comment peut-on se permettre une telle erreur qui amènera le débutant forcément dans un mur ?
Ce n'est pas la seule erreur, sinon elle serait plus ou moins pardonnable (faute de frappe, copié-collé, distraction ?).

C'est pourquoi je vais vous donner quelques liens fiables afin que vous puissiez apprendre ce langage "en toute sécurité".

Je commence par mon tutoriel. Je ne prétends pas avoir une connaissance informatique aussi vaste que les auteurs cités plus haut mais j'ai eu l'honnêteté de parcourir une bonne partie de la norme et d'autres sites et documents fiables avant de rédiger mes articles pour m'assurer de la fiabilité de mes propres connaissances.
J'ai essayé de l'écrire de la manière la plus pédagogique possible mais ça n'est pas toujours simple. Toute remarque est donc, bien entendu, la bienvenue. Smile
Lien ici

Le site suivant a une très grande importance pour moi car j'y ai beaucoup appris sur les Bonnes Pratiques en C. De plus, il est constamment mis à jour, l'auteur ne se reposant pas sur ses lauriers : Bien Programmer en C
Par contre, ce n'est pas un tutoriel. Il s'oriente vers ceux qui connaissent déjà un minimum la programmation en C et qui veulent affermir leurs bases.

En troisième, je cite un tutoriel probablement connu par la majorité d'entre vous, celui du Site Du Zéro
Celui-ci est bien écrit, le débutant n'est pas noyé dans un vocabulaire qui pourrait lui paraître obscur. Bref, la pédagogie y est. On reprochera cependant à ce site quelques erreurs mais qui sont minimes par rapport à bien des cours donnés par des soi-disant enseignants !

Enfin, je vous donne le lien vers la FAQ comp.lang.c (en anglais) qui regorge d'informations intéressantes et qui fait taire bien des "mensonges" trop souvent enseignés.

Il m'a semblé important de créer ce sujet car j'ai observé que beaucoup de personnes voient ce langage obscur tout simplement parce que l'enseignement qu'elles en ont reçu était mauvais.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par nabiL le Dim 27 Jan - 22:41

Je te félicite pour ce topic Timon. C'est vrai, la qualité du tutorial est très importante. Il ne faut pas se contenter du premier tutorial qu'on trouve sur le net. Je l'ai mis comme un Post-it, pour que ça reste accessible par tout le monde et bien séparé des autres sujets.

Concernant le tutorial que vous avez créé. Il est très bien fait. Très clair. Pédagogique. Plein d'exemples. Ca couvre tout en C à mon avis.
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Dim 27 Jan - 23:56

nabiL a écrit:Concernant le tutorial que vous avez créé. Il est très bien fait. Très clair. Pédagogique.

Merci, cela fait plaisir. Smile J'ai commencé la rédaction de ce tutoriel depuis longtemps mais, le site étant peu connu, je ne reçois que très rarement des remarques sur sa qualité.
Je serais d'ailleurs content de connaître votre avis sur cet article car c'est le premier qui montre au débutant la syntaxe mais je n'arrive pas à me convaincre qu'il est clair.

Petit hors-sujet : est-il possible d'empêcher l'interprétation des balises HTML ponctuellement ? Il s'avère que dès qu'on cite un code, les données entre chevrons (#include chevron ouvrant stdio.h chevron fermant) sont simplement perdues . Cela ne suffit même pas de les mettre entre les balises Code. Neutral
J'ai alors entouré stdio.h avec & lt; et & gt;. Malheureusement, ils sont retransformés en chevrons qui sont alors réinterprétés comme donnant une balise...

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Lun 28 Jan - 13:13

Je vous félicite pour votre effort et pour la qualité de votre tutorial. J'ai quelques remarques concernant le kit débutant :
1. C'est un trés bon kit je ne juge pas sa qualité, ni son utilité.
2. J'ai remarqué un message qui pourra brouiller le chemin du débutant : "Si vous utilisez le kit alors ...". Je vous propose de faire toute la démarche nécessaire sans utiliser le kit car d'une part cela pourra aider le débutant à apprendre à partir de ces fautes et puis la lecture d'un code source en C n'utilisant pas ce kit ne devra pas le perturber.
3. Je vous propose de réserver un chapitre pour votre kit dans lequel vous mettez quelles sont les erreurs fréquentes des programmeurs en C et vous proposez votre solution (incluse dans le kit). Ce sera plus instructif.

Timon a écrit:...
Je serais d'ailleurs content de connaître votre avis sur cet article car c'est le premier qui montre au débutant la syntaxe mais je n'arrive pas à me convaincre qu'il est clair.


La page que vous indiquez ressemble plus à un glossaire qu'à une présentation de la syntaxe. Il est possible de présenter la syntaxe d'une autre manière plus claire et ce à partir d'un programme dans lequel vous indiquez les éléments de syntaxe tout en laissant les définitions que je trouve claires et simple pour un débutant.

Bonne Chance

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Jan - 16:07

manianis a écrit:2. J'ai remarqué un message qui pourra brouiller le chemin du débutant : "Si vous utilisez le kit alors ...". Je vous propose de faire toute la démarche nécessaire sans utiliser le kit car d'une part cela pourra aider le débutant à apprendre à partir de ces fautes et puis la lecture d'un code source en C n'utilisant pas ce kit ne devra pas le perturber.

Justement, j'ai rédigé les chapitres de manière à ce qu'on ne dépende jamais (ou, au pire, partiellement) de mon kit. Exemple : le kit propose des fonctions de saisie permettant d'éviter les dangers bien connus du couple scanf()/gets().
Le chapitre sur la saisie est donc découpé en deux parties principales :
- saisie avec les fonctions du kit
- saisie sans ces fonctions en précisant qu'il faut d'abord savoir manipuler des flux
D'ailleurs, vous remarquerez que mes codes ne comportent jamais la directive #include "kit_debutant.h". Je ne fais que remarquer qu'il peut être utile dans tel ou tel cas.
Smile
La page que vous indiquez ressemble plus à un glossaire qu'à une présentation de la syntaxe. Il est possible de présenter la syntaxe d'une autre manière plus claire et ce à partir d'un programme dans lequel vous indiquez les éléments de syntaxe tout en laissant les définitions que je trouve claires et simple pour un débutant.

Bonne Chance

C'est une bonne idée, simple et efficace ! Very Happy Je m'en charge dès que possible.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par informix le Lun 28 Jan - 19:27

Le tutorial est bien fait.
Pourquoi vous n'avez pas publié des exercices (corrigés ou non) de programmation en C. Les structures de données avancées: arbres, graphes, ...
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Jan - 22:05

informix a écrit:Pourquoi vous n'avez pas publié des exercices (corrigés ou non) de programmation en C.

Il y en a. Dans le tutoriel, certains articles en contiennent, beaucoup non parce que je ne vois pas d'exercice intéressant à donner.
En dehors du tutoriel, il y a aussi une page d'exercices mais que j'ai un peu délaissée. En fait, son intérêt se trouve plus dans les exercices de maintenance où il s'agit d'analyser un code et de remarquer ce qui ne va pas ou qui n'est pas portable.
Les structures de données avancées: arbres, graphes, ...

Les arbres seront abordés dans l'avant-dernier chapitre du tutoriel.
Quant aux graphes, je dois bien avouer que j'en ai très rarement manipulé. Je ne peux donc pas me permettre d'écrire un cours sur eux.
De plus, je pense que ce genre de structures de données, au même titre que les tables de hachage, les automates, ... font partie de l'application du langage plus que de son apprentissage. Donc, si je dois un jour rédiger un article sur les graphes, je l'intégrerais à la partie "Voir aussi" mais sûrement pas au tutoriel lui-même.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par methodiX le Mer 30 Jan - 0:21

Bien défendu Timon.
La rédaction des tutoriels est un art.
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Jeu 31 Jan - 19:34

Voilà, j'ai réécrit l'article.
On part du code minimal et les liens entre les paragraphes sont plus visibles. Il y a probablement quelques modifications à faire pour le rendre plus clair mais il me plaît bien plus que la première version.
Il est étonnant que le sujet le plus simple de ce tutoriel soit, pour moi, le plus dur à rédiger. Smile

Dernièrement, on m'a demandé mon avis sur le livre Méthodologie de la programmation en C d'Achille Braquelaire. Je n'ai fait que le parcourir rapidement en cherchant les mêmes failles que je trouve souvent dans les cours que je considère comme mauvais.
Eh bien, cette fois-ci, j'ai eu beau cherché, je n'avais rien à redire. Tout est expliqué clairement, l'auteur n'invente pas de syntaxe, de comportement, etc. Bref, j'ai lu ce que j'attendais d'un livre bien écrit !
De plus, j'ai aussi vu la critique de Nicolas Joseph, un intervenant fiable selon moi, qui s'avère très positive.
Si vous cherchez un bon livre sur le C, celui-ci est un bon choix.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Jeu 31 Jan - 22:53

Timon a écrit:Voilà, j'ai réécrit l'article.
On part du code minimal et les liens entre les paragraphes sont plus visibles. Il y a probablement quelques modifications à faire pour le rendre plus clair mais il me plaît bien plus que la première version.

Oui, j'aime plus cette version. J'ai un livre sur le Langage C. Il date de 1996, imprimé par Micro Application et écrit par Gerhard Wilms. Il suit presque la même démarche. C'était mon premier pas en C.

Timon a écrit:Il est étonnant que le sujet le plus simple de ce tutoriel soit, pour moi, le plus dur à rédiger. Smile

Oui, je suis d'accord. Le premier chapitre est celui qui déterminera si le lecteur continuera à lire ou bien il s'en ira.

Timon a écrit:Dernièrement, on m'a demandé mon avis sur le livre Méthodologie de la programmation en C d'Achille Braquelaire. Je n'ai fait que le parcourir rapidement en cherchant les mêmes failles que je trouve souvent dans les cours que je considère comme mauvais.
Eh bien, cette fois-ci, j'ai eu beau cherché, je n'avais rien à redire. Tout est expliqué clairement, l'auteur n'invente pas de syntaxe, de comportement, etc. Bref, j'ai lu ce que j'attendais d'un livre bien écrit !
De plus, j'ai aussi vu la critique de Nicolas Joseph, un intervenant fiable selon moi, qui s'avère très positive.
Si vous cherchez un bon livre sur le C, celui-ci est un bon choix.


Il est imprimé par quel éditeur ?

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Jeu 31 Jan - 23:03

manianis a écrit:J'ai un livre sur le Langage C. Il date de 1996, imprimé par Micro Application et écrit par Gerhard Wilms. Il suit presque la même démarche.

Le nom de ce livre est Langage C - Programmation Windows et Linux ?
Il est imprimé par quel éditeur ?

Par l'éditeur Dunod.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Jeu 31 Jan - 23:15

Timon a écrit:Le nom de ce livre est Langage C - Programmation Windows et Linux ?

J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux. L'essentiel je le trouve un bon livre malgré quelques petites fautes.

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Jeu 31 Jan - 23:26

manianis a écrit:J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux.

Bien, j'essaierai d'en trouver un exemplaire et je vous donnerai alors mon avis. Smile
D'ailleurs, je pense que je pourrais en faire un article : "Comment reconnaître un bon cours ou, du moins, être sûr qu'il est un minimum sérieux ?"

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par manianis le Ven 1 Fév - 0:19

Timon a écrit:
manianis a écrit:J'ai l'édition PC POCHE du livre (LANGAGE C) mais sans Programmation Windows et Linux.

Bien, j'essaierai d'en trouver un exemplaire et je vous donnerai alors mon avis. Smile
D'ailleurs, je pense que je pourrais en faire un article : "Comment reconnaître un bon cours ou, du moins, être sûr qu'il est un minimum sérieux ?"

J'essayai de vous dire qu'il s'agit du même livre mais au format poche.

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: [C] De l'importance d'un bon cours

Message par Timon le Lun 28 Avr - 21:54

Bonjour !
L'administrateur de Bengaku.fr a décidé d'arrêter de payer son hébergeur qui fermera bientôt le site. J'ai donc décidé de créer mon propre site et d'y transférer tous les articles que j'avais rédigé sur l'ancien site : http://tm.timon.free.fr.
L'adresse n'est pas "top", je sais. Si le site finit par avoir une bonne affluence, j'investirai alors dans un nom de domaine correct.

Timon
Membre important
Membre important

Sexe:Masculin
Messages : 57
Inscrit le : 14 Jan 2008
Localisation : France

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivante

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum