Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Quel tutoriel pour débuter ?

202 réponses
Avatar
Migrec
Bonjour,

Je cherche un tutoriel imprimable sur le web pour apprendre le C avant
d'acheter un bouquin "de référence".
Je suis débutant en programmation mais je connais les scripts shell
(linux), le HTML ou encore un peu de PHP.

Quel tutoriel imprimable me conseillez-vous pour débuter ? Les 560 pages
de celui du site du zéro
(http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c.html)
découragent un peu mon imprimante, même avec le recto-verso
automatique... Mais le style me plaît ! Existe-t-il quelque chose dans
le même esprit mais en plus condensé ?

--
Migrec

10 réponses

1 2 3 4 5
Avatar
candide
Michel a écrit :

Alors ne discute pas.
Ce sont juste les plus grands consultants de la planète (facturations >
2600$/J, auteurs eux-mêmes de divers best-sellers) qui le rabâchent
depuis 20 ans...
Sur les NG US, il y a le top du top et ce, depuis bien avant les NG
(Compuserve, BBS)



commando george135 detected !

(j'ai déjà cité où on pouvait consulter pour par un rond ses vomissures).
Avatar
candide
jerome a écrit :
"Wykaaa" wrote in message
news:489d6d59$0$966$
Mickael a écrit :



Dans tous ces milieux, le K&R n'est jamais passé pour un "bon bouquin sur
le C", bien au contraire.



Et la marmotte...
FAQ C :

[1] "The C Programming Language" (2nd ed.)
Brian W. Kernighan & Dennis Ritchie



Ben déjà, ils ne savent même pas écrire le nom des auteurs correctement,
pourquoi le W. pour Kernighan et oublier le M. pour Ritchie ?



La FAQ C (de clc) est écrite par les Apôtres alors ...
Avatar
Alexandre BACQUART
Michel wrote:
Mickael wrote:

N'importe quoi. Il faudrait lire les ng US de temps en temps.





Justement, f.c.l.c est beaucoup moins pollué que c.l.c.

C'est le
meiller bouquin pour apprendre le C, sans équivoque.





Il y a équivoque, ce n'est pas pour rien que le débat refait
régulièrement surface.

Il est 100 fois mieux que n'importe quel "tutoriel" écrit par des
gosses à la recherche d'une pseudo-notoriété virtuelle.





Comme si le K&R avait pour vocation d'être un "tutoriel"... de plus, ce
livre a 30 ans (presque 20 pour la 2ème édition) ! Qu'est-ce qui vous
permet de croire qu'on a pas fait mieux depuis pour s'initier au C ?

Quand on est consultant FL > 45 ans, on a tous appris le C avec le K&R
il y a 25 ans et on ne le regrette pas.





Allons bon, c'est surtout qu'il n'y avait pas grand-chose d'autre !

Clair.
Il ne peut pas y avoir mieux pour débuter sur de bonnes bases, vu que
c'est le créateur du langage.



Ou l'art de tirer des conclusions faciles. On voit que ce n'est pas la
rigueur nécessaire à toute démonstration qui vous tourmente.

"
This book (widely known as K&R, after the authors' initials) has for
over twenty years been the best way to learn C.
"



La cerise sur le gâteau. Quoi de mieux que de citer une phrase en
anglais dans un NG français (sans même prendre soin de citer la source)
pour faire "cultivé" et "démontrer" qu'on a raison ? En plus, vous vous
y mettez à deux (quoique je commence à avoir un léger doute).

Pour tous ceux qui prennent la chose avec le sérieux qu'elle mérite, le
K&R est certes une référence (encore que si je ne m'abuse, strictement
parlant depuis 89, c'est la norme qui doit faire foi), mais c'est
quelque-chose de très différent de la pédagogie. Vous confondez
allègrement les deux.

De l'auteur lui-même (et pour rester strict, du traducteur) :

"Ce livre ne constitue pas une initiation à la programmation".

De l'OP :

"Je suis débutant en programmation".

Bref.


--
Alex
Avatar
Wykaaa
candide a écrit :
Wykaaa a écrit :

Combien de fois faudra-t-il répéter que le K&R N'EST PAS un livre pour
débuter ou apprendre le langage C ?
Il est tout sauf pédagogique.



Oui.


Sinon, pour répondre à la question du PO, le document «Introduction
au langage C» de Bernard Cassagne est je trouve très bien. Je l'avais
trouvé précis et clair. Après je ne suis pas capable de dire s'il
contient des faussetés...

http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html





C'est effectivement un bon document pour apprendre le C.



Ce n'est pas du tout mon avis. J'ai essayé d'apprendre le C avec cet
ouvrage il y a trois ans. Je suis allé de déconvenues en déconvenues.
Pour moi, ça reste prototypiquement le mauvais document d'apprentissage
du langage C. Un livre qui dès sa page 5 en vient à nous jargonner avec
des "unités lexicales" et des "identificateurs" est un mauvais livre
d'apprentissage (à moins qu'on ne s'adresse à des gens qui connaissent
de manière approfondie un autre langage de programmation et tout son
jargon métalinguistique).

L'ouvrage est mal organisé (*), il ne part pas des préoccupations de
l'utilisateur, il est abstrait, les exemples sont peu nombreux, mal
choisis, décontextualisés, ou alors sont surchargés, l'ouvrage est
laconique ou peu clair sur de nombreuses questions ardues. Enfin bon une
vraie cata ce bouquin.

______________
(*) juste un petit exemple : où trouve-ton décrite la fonction malloc()
et la la fonction free() ? Dans le chapitre 6, "Structures, unions,
énumérations", et dans un paragraphe intitulé :

6.11 Allocation et libération d'espace pour les structures

ce qui laisse penser qu'on alloue de manière particulière pour les
structures, bref, n'importe quoi.
--------------





L'auteur a l'air fasciné par l'IOCCC, il me semble l'avoir vu citer à
trois occasions des exemples complets de code gagnants, totalement
déplacé dans ce genre de document.

Question contenu, je l'ai parcouru un petit peu et j'ai relevé quelques
approximations.

Ainsi, l'exercice 3.13 de "cryptage" (comme il dit mal) par décalage, il
utilise le code ASCII sans le dire. C'est confirmé dans d'autres
situations au point que je me demande si l'auteur ne croit pas que
l'ascii fait partie du standard.

Au passage, je vois que quelques pages plus loin, il écrit

enum {FAUX, VRAI};

pratique que tu avais condamné me semble-t-il dans un message antérieur.



Je ne crois pas avoir condamné cette pratique. Il me semble que j'avais
même écrit :
enum bool {FAUX=0, VRAI=1} /* pour être sûr */


Au chapitre 4 (pointeurs et tableaux), il écrit (bien mis en évidence) :

Règle :
Tout identificateur de type tableau de x apparaissant dans une
expression est converti en une valeur constante dont :
-- le type est pointeur vers x ;
-- la valeur est l'adresse du premier élément du tableau.



Rien de plus vrai. On peut même ajouté que c'est un pointeur constant.

Comme toute règle, elle a ses exceptions qu'il omet de mentionner, y
compris dans les remarques qui suivent l'énoncé de la Règle. Pour moi,
c'est une faute grave.



Justement, du point de vue pédagogique, on évite de faire l'erreur
d'énoncer une règle, immédiatement suivie de ses exceptions. On
introduit les exceptions à la règle là où elles sont nécessaires.

Il est bien connu que la règle ci-dessus comporte trois exceptions.
Beaucoup plus loin dans le document, il signale l'exception quand on
utilise une expression du genre sizeof(tableau) . Il signale, mais assez
peu clairement selon moi, le cas des littéraux-chaines qui initialisent
des tableaux. Et il me semble omettre le cas des expressions du genre
&tableau.



Bonne pratique de signaler l'exception seulement quand on parle de
sizeof(tableau) car, sur ce cas, le débutant est en mesure de comprendre
que ce serait absurde de rendre comme résultat la taille du pointeur de
l'adresse du tableau...

Au paragraphe 4.13.2 (intitulé "Cas particulier des chaines
littérales"), il y a un exemple, des commentaires et un dessin qui me
laissent penser que l'auteur ne sait peut-être pas que dans

char *p="Hello";

"Hello" est non modifiable.



Ca veut dire quoi que "Hello" est non modifiable ?
Veux-tu parler du pointeur (créé par le compilateur) qui référence la
chaîne ?
Parce que p[4]='a'; c'est censé marcher, hein ?

Par contre, et si on a un peu de pratique du C, le chapitre 9 à partir
de l'exemple du §9.12 est assez bien (il décortique le jargon utilisé
pour décrire les déclarations et il explique le processus d'analyse
d'une déclaration complexe et il conclut en citant l'outil cdecl).



Et bien voilà.


Je viens de passer plus d'une heure à regarder le livre, c'est pour moi
un très très mauvais livre d'apprentissage.



Beaucoup moins mauvais que le K&R (pour l'apprentissage, en tout cas).
Avatar
Wykaaa
candide a écrit :
Wykaaa a écrit :


J'ai été responsable du développement d'un compilateur C, il y a au
moins 25 ans (la norme C ANSI était encore sous forme de Draft (en
fait le futur C ANSI commençait à être en discussion à l'ANSI et nous
communiquions avec eux via l'AFNOR).

Dans tous ces milieux, le K&R n'est jamais passé pour un "bon bouquin
sur le C", bien au contraire.

Pour ma part et toute mon équipe ainsi que de nombreuses personnes
dans le technical committee ANSI, c'était même le pire des livre sur C.




Je suis content qu'on entende enfin une autre vérité. Mais attention, tu
risques l'excommunication !! ;)


Le Harbison et Steele était, de loin à l'époque, considéré comme
meilleur, voire le meilleur sur le langage C.




Cet ouvrage est très surfait. Il est préférable de s'adresser à Dieu
plutôt qu'à ses saints donc autant consulter directement la Norme.



Il n'y avait pas de norme à l'époque puisqu'elle était en devenir !
Avatar
Wykaaa
Michel a écrit :
Wykaaa wrote:

Si ta référence, pour dire que le K&R est le meilleur livre pour
apprendre le C, sont les ng US, alors, ce n'est même pas la peine de
discuter...



Alors ne discute pas.
Ce sont juste les plus grands consultants de la planète (facturations >
2600$/J, auteurs eux-mêmes de divers best-sellers) qui le rabâchent
depuis 20 ans...
Sur les NG US, il y a le top du top et ce, depuis bien avant les NG
(Compuserve, BBS)


Ce n'est pas toi qui va m'apprendre ce que sont les ng US. Je les
utilisais en 1985 sous ARPANET lorsqu'il n'y en avait encore à peine 300...
Quant à ta référence sur le tarif de facturation/jour, excuse-moi mais
c'est tout sauf une référence.
Je connais plein de neuneus qui se font des couilles en or...

Tes critères sont tout sauf sérieux.
Tu devrais réviser le sérieux de tes sources ou choisir d'autres critères.
Bye, bye

Wykaaa
Membre de l'IEEE et de l'ACM depuis presque 30 ans.
Avatar
Wykaaa
Michel a écrit :
Mickael wrote:

N'importe quoi. Il faudrait lire les ng US de temps en temps. C'est le
meiller bouquin pour apprendre le C, sans équivoque.
Il est 100 fois mieux que n'importe quel "tutoriel" écrit par des
gosses à la recherche d'une pseudo-notoriété virtuelle.
Quand on est consultant FL > 45 ans, on a tous appris le C avec le K&R
il y a 25 ans et on ne le regrette pas.



Clair.
Il ne peut pas y avoir mieux pour débuter sur de bonnes bases, vu que
c'est le créateur du langage.



Encore une idée toute faite de ta part. Décidément plus ça va et plus tu
montes dans ma liste des médiocres contributeurs de fclc.

Sache que les créateurs de langages ne sont JAMAIS les mieux placer pour
en parler...

"
This book (widely known as K&R, after the authors' initials) has for
over twenty years been the best way to learn C.




Cite tes sources et relis la "nétiquette"
Avatar
Charlie Gordon
"Migrec" a écrit dans le message de news:
489c47b8$0$11233$
Bonjour,

Je cherche un tutoriel imprimable sur le web pour apprendre le C avant
d'acheter un bouquin "de référence".
Je suis débutant en programmation mais je connais les scripts shell
(linux), le HTML ou encore un peu de PHP.

Quel tutoriel imprimable me conseillez-vous pour débuter ? Les 560 pages
de celui du site du zéro
(http://www.siteduzero.com/tuto-29-8-0-apprenez-a-programmer-en-c.html)
découragent un peu mon imprimante, même avec le recto-verso
automatique... Mais le style me plaît ! Existe-t-il quelque chose dans
le même esprit mais en plus condensé ?



Pour ma part, je pense qu'une bonne approche pour le langage C serait de
commencer par un cours d'architecture des ordinateurs avec une base très
concrète, pourquoi pas x86 en 32 bits qui n'est certes pas un modele de
regularité, mais a l'avantage d'être bien connu et fort répandu. Ensuite un
peu d'assembleur pour comprendre les bases du traitement informatique :
manipulations de donnees, calculs, adressage, tests, branchements, appels de
fonction... et donner l'envie d'une approche plus efficace ;-)

Le C vient alors naturellement comme un moyen simple et elegant de realiser
ces operations, et bien plus.

Une approche abstraite du langage, qui convient peut-etre pour Lisp ou Caml
n'est vraiment pas adaptée au C en particulier si on veut acquerir une bonne
comprehension des pointeurs et des tableaux.

Etudier l'effort de formalisation qui a permis de normaliser ce langage en
en améliorant la portabilité sur quantité d'architectures exotiques n'est ni
à la portée du débutant, ni nécessaire, ni même utile à la progression dans
la maitrise du langage.

Je n'ai pas de document pedagogique à conseiller qui utilise cette approche,
mais je suis curieux de savoir s'il en existe. De nombreux développeurs
relativement à l'aise avec le langage C mais sans expérience d'assembleur
auraient beaucoup à en apprendre, et j'en connais qui sont demandeurs.

--
Chqrlie.
Avatar
Wykaaa
Alexandre BACQUART a écrit :
Michel wrote:
Mickael wrote:

N'importe quoi. Il faudrait lire les ng US de temps en temps.





Justement, f.c.l.c est beaucoup moins pollué que c.l.c.

C'est le meiller bouquin pour apprendre le C, sans équivoque.





Il y a équivoque, ce n'est pas pour rien que le débat refait
régulièrement surface.

Il est 100 fois mieux que n'importe quel "tutoriel" écrit par des
gosses à la recherche d'une pseudo-notoriété virtuelle.





Comme si le K&R avait pour vocation d'être un "tutoriel"... de plus, ce
livre a 30 ans (presque 20 pour la 2ème édition) ! Qu'est-ce qui vous
permet de croire qu'on a pas fait mieux depuis pour s'initier au C ?

Quand on est consultant FL > 45 ans, on a tous appris le C avec le
K&R il y a 25 ans et on ne le regrette pas.





Allons bon, c'est surtout qu'il n'y avait pas grand-chose d'autre !

Clair.
Il ne peut pas y avoir mieux pour débuter sur de bonnes bases, vu que
c'est le créateur du langage.



Ou l'art de tirer des conclusions faciles. On voit que ce n'est pas la
rigueur nécessaire à toute démonstration qui vous tourmente.

"
This book (widely known as K&R, after the authors' initials) has for
over twenty years been the best way to learn C.
"



La cerise sur le gâteau. Quoi de mieux que de citer une phrase en
anglais dans un NG français (sans même prendre soin de citer la source)
pour faire "cultivé" et "démontrer" qu'on a raison ? En plus, vous vous
y mettez à deux (quoique je commence à avoir un léger doute).

Pour tous ceux qui prennent la chose avec le sérieux qu'elle mérite, le
K&R est certes une référence (encore que si je ne m'abuse, strictement
parlant depuis 89, c'est la norme qui doit faire foi), mais c'est
quelque-chose de très différent de la pédagogie. Vous confondez
allègrement les deux.

De l'auteur lui-même (et pour rester strict, du traducteur) :

"Ce livre ne constitue pas une initiation à la programmation".

De l'OP :

"Je suis débutant en programmation".

Bref.



Tout à fait d'accord avec vous.

Pas mieux...

Wykaaa
Avatar
candide
Alexandre BACQUART a écrit :

Comme si le K&R avait pour vocation d'être un "tutoriel"...



Remplace "vocation" par "intention" et observe le titre du chapitre 1 ...


Le résultat est selon moi un fiasco absolu. Dommage, l'intention était
bonne. En réalité, le livre est très inégal du point de vue de la
pédagogie. Ça mériterait une analyse détaillée à laquelle je me livrerai
peut-être un jour ici même.



de plus, ce
livre a 30 ans (presque 20 pour la 2ème édition) ! Qu'est-ce qui vous
permet de croire qu'on a pas fait mieux depuis pour s'initier au C ?



Absolument. S'il y en a qui ont consulté le K&R première version, je
serais curieux de savoir où sont les différences de contenu avec K&R2.
Je suis à peu près convaincu qu'on retrouve à des détails près
exactement la même chose.


Quand on est consultant FL > 45 ans, on a tous appris le C avec le
K&R il y a 25 ans et on ne le regrette pas.







"
This book (widely known as K&R, after the authors' initials) has for
over twenty years been the best way to learn C.
"






On dirait la quatrième de couverture mais google semble renvoyer vers
amazon.com, la critique des lecteurs, ici plus précisément :

http://www.amazon.com/review/product/0131103628?showViewpoints=1

De toute façon, le niveau d'argumentation est proprement sidérant.

Si son niveau en C est comparable, je lui conseille le tuto du site du
zéro, ah! ah! ah!



Bref.





Comme tu dis.
1 2 3 4 5