éternel débutant en C pour mon plaisir, je me permets de venir vous
demander quelques éclaircissements sur une situation que je n'arrive pas
à comprendre :
J'utilise le cours en ligne spécial "grand débutant" du "site du zéro" :
<http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html>
Je réalise les exercices du cours dans deux environnements différents :
- sous windows vista avec l'IDE visual C++ 2008 express
- sous linux ubuntu 9.04 avec gcc
J'ai écrit un programme dans le cadre des exercices proposés sur les
tableaux par ce cours en ligne. Le fichier en question peut être
téléchargé ici :
< http://dl.free.fr/to7PFReLM/tableau.c>
Ce qui m'étonne, c'est que j'arrive à compiler sans difficulté ce code
sous Linux, et que le programme se comporte exactement comme je le
souhaite. Par contre, sous Windows, impossible de compiler, l'IDE me
renvoie 42 erreurs et 31 avertissements !!! La plupart des erreurs
semblent être liées aux variables. Par exemple :
"erreur de syntaxe : absence de ';' avant 'type'"
"identificateur non déclaré"
Or, j'ai beau lire et relire mon code, les variables me sembles toutes
déclarées correctement et il ne manque à mon sens pas de ";" en fin
d'instructions. De plus, comme je le disais au début, le même code se
compile sans aucune erreur sous Linux ...
Alors, comment expliquer que deux compilateurs réagissent aussi
différemment, et où et mon erreur ?
Merci par avance du temps que vous pourrez me consacrer,
| In article , | Gabriel Dos Reis wrote: | >Là tu parles de programmes de taille relativement conséquentes. | >Le pauvre gars devrait peut être apprendre à écrire de simples | >programmes d'abord avant de s'occuper de l'organisation. Je pense. | >Savoir écrire des programmes demande beaucoup de pratique. | >Apprendre et savoir organiser ses programmes est quelque chose qui | >demande d'écrire beaucoup de programmes. | | Il y a un juste milieu. Apprendre a discerner qu'on utilise toujours les | memes operations, et donc qu'il faut faire les fonctions qui vont bien, | c'est indispensable.
Oui, et on apprend cela très vite même avec des programmes très simples. C'est la base de l'abstraction fonctionnelle.
| Pour leur eviter de trop abstraire, je leur montre | ce que ca peut donner (et je leur interdis certains outils, en leur expliquant | que c'est pour bien plus tard, quand ils seront grands. Plus precisement: | - pas le droit a typedef, sauf pour les pointeurs de fonction. Si c'est | complique, c'est qu'ils ont mal fait leur boulot.
En C++, ils auraient beaucoup de problèmes s'ils avaient à utiliser la biliothèque staandard (et il devraient !)
| - pas le droit a #ifdef
yup.
| - pas le droit aux macros pour autre chose que les constantes.
yup.
| - pas le droit aux fichiers d'entetes imbriques. Tout mettre a plat au | depart)
pourquoi ?
[...]
| hostile). Ca se termine le plus souvent sur la notion que, lorsqu'on | en arrive a ce niveau de redefinition du langage, on serait | generalement mieux a faire du C++ a la place (sauf aversion profonde au | langage allie a un etat de folie avancee, style "je vais refaire mon | oriente-objet a la main avec le preprocesseur, toute ressemblance avec | des contributeurs frequents du newsgroup n'etant absolument pas fortuite | ni laissee au hasard).
:-)
-- Gaby
espie@lain.home (Marc Espie) writes:
| In article <874or5ln1n.fsf@gauss.cs.tamu.edu>,
| Gabriel Dos Reis <gdr@cs.tamu.edu> wrote:
| >Là tu parles de programmes de taille relativement conséquentes.
| >Le pauvre gars devrait peut être apprendre à écrire de simples
| >programmes d'abord avant de s'occuper de l'organisation. Je pense.
| >Savoir écrire des programmes demande beaucoup de pratique.
| >Apprendre et savoir organiser ses programmes est quelque chose qui
| >demande d'écrire beaucoup de programmes.
|
| Il y a un juste milieu. Apprendre a discerner qu'on utilise toujours les
| memes operations, et donc qu'il faut faire les fonctions qui vont bien,
| c'est indispensable.
Oui, et on apprend cela très vite même avec des programmes très simples.
C'est la base de l'abstraction fonctionnelle.
| Pour leur eviter de trop abstraire, je leur montre
| ce que ca peut donner (et je leur interdis certains outils, en leur expliquant
| que c'est pour bien plus tard, quand ils seront grands. Plus precisement:
| - pas le droit a typedef, sauf pour les pointeurs de fonction. Si c'est
| complique, c'est qu'ils ont mal fait leur boulot.
En C++, ils auraient beaucoup de problèmes s'ils avaient à utiliser la
biliothèque staandard (et il devraient !)
| - pas le droit a #ifdef
yup.
| - pas le droit aux macros pour autre chose que les constantes.
yup.
| - pas le droit aux fichiers d'entetes imbriques. Tout mettre a plat au
| depart)
pourquoi ?
[...]
| hostile). Ca se termine le plus souvent sur la notion que, lorsqu'on
| en arrive a ce niveau de redefinition du langage, on serait
| generalement mieux a faire du C++ a la place (sauf aversion profonde au
| langage allie a un etat de folie avancee, style "je vais refaire mon
| oriente-objet a la main avec le preprocesseur, toute ressemblance avec
| des contributeurs frequents du newsgroup n'etant absolument pas fortuite
| ni laissee au hasard).
| In article , | Gabriel Dos Reis wrote: | >Là tu parles de programmes de taille relativement conséquentes. | >Le pauvre gars devrait peut être apprendre à écrire de simples | >programmes d'abord avant de s'occuper de l'organisation. Je pense. | >Savoir écrire des programmes demande beaucoup de pratique. | >Apprendre et savoir organiser ses programmes est quelque chose qui | >demande d'écrire beaucoup de programmes. | | Il y a un juste milieu. Apprendre a discerner qu'on utilise toujours les | memes operations, et donc qu'il faut faire les fonctions qui vont bien, | c'est indispensable.
Oui, et on apprend cela très vite même avec des programmes très simples. C'est la base de l'abstraction fonctionnelle.
| Pour leur eviter de trop abstraire, je leur montre | ce que ca peut donner (et je leur interdis certains outils, en leur expliquant | que c'est pour bien plus tard, quand ils seront grands. Plus precisement: | - pas le droit a typedef, sauf pour les pointeurs de fonction. Si c'est | complique, c'est qu'ils ont mal fait leur boulot.
En C++, ils auraient beaucoup de problèmes s'ils avaient à utiliser la biliothèque staandard (et il devraient !)
| - pas le droit a #ifdef
yup.
| - pas le droit aux macros pour autre chose que les constantes.
yup.
| - pas le droit aux fichiers d'entetes imbriques. Tout mettre a plat au | depart)
pourquoi ?
[...]
| hostile). Ca se termine le plus souvent sur la notion que, lorsqu'on | en arrive a ce niveau de redefinition du langage, on serait | generalement mieux a faire du C++ a la place (sauf aversion profonde au | langage allie a un etat de folie avancee, style "je vais refaire mon | oriente-objet a la main avec le preprocesseur, toute ressemblance avec | des contributeurs frequents du newsgroup n'etant absolument pas fortuite | ni laissee au hasard).
:-)
-- Gaby
candide
Gabriel Dos Reis a écrit :
Je suis d'accord. Pour le cours que je fais ce semestre, j'insiste à leur montrer systématiquement (vers la fin du cours) de vrais exemples de codes tirés de logiciels libres.
In code we trust! ;)
Évidemment, cela bouffe du temps sur le reste mais je suppose que ces 10min valent 10 slides d'exemples factices. Cela me permet de discuter de l'ideal (ce que je voudrais qu'ils sachent faire) et ce qu'on trouve dans la pratique (qu'ils devraient émuler ou éviter). Mais, j'ai un projecteur et une machine portable avec plein de programme sources dessus :-)
In code we trust! ;)
Gabriel Dos Reis a écrit :
Je suis d'accord. Pour le cours que je fais ce semestre, j'insiste à
leur montrer systématiquement (vers la fin du cours) de vrais exemples
de codes tirés de logiciels libres.
In code we trust! ;)
Évidemment, cela bouffe du temps
sur le reste mais je suppose que ces 10min valent 10 slides d'exemples
factices. Cela me permet de discuter de l'ideal (ce que je voudrais
qu'ils sachent faire) et ce qu'on trouve dans la pratique (qu'ils
devraient émuler ou éviter). Mais, j'ai un projecteur et une machine
portable avec plein de programme sources dessus :-)
Je suis d'accord. Pour le cours que je fais ce semestre, j'insiste à leur montrer systématiquement (vers la fin du cours) de vrais exemples de codes tirés de logiciels libres.
In code we trust! ;)
Évidemment, cela bouffe du temps sur le reste mais je suppose que ces 10min valent 10 slides d'exemples factices. Cela me permet de discuter de l'ideal (ce que je voudrais qu'ils sachent faire) et ce qu'on trouve dans la pratique (qu'ils devraient émuler ou éviter). Mais, j'ai un projecteur et une machine portable avec plein de programme sources dessus :-)
In code we trust! ;)
candide
Stephane Legras-Decussy a écrit :
"Marc Espie" a écrit dans le message de news: h8l8md$i65$
... et ca met parfaitement en evidence *le* probleme central des pointeurs/references, qui est le probleme d'identite des objets non scalaires...
plus simplement j'ai constaté que le débutant est completement perdu à cause de '*' qui dans un cas déclare le pointeur int *p et dans l'autre cas est un opérateur a = *p
c'est vrai que c'est pas très malin d'avoir fait ça...
Euh non, c'est justement toute la magie des _déclarations_ du C.
Mais c'est vrai que c'est une énorme source de confusion au début, j'en garde les pires souvenirs.
Stephane Legras-Decussy a écrit :
"Marc Espie" <espie@lain.home> a écrit dans le message de news:
h8l8md$i65$4@saria.nerim.net...
... et ca met parfaitement en evidence *le* probleme central des
pointeurs/references, qui est le probleme d'identite des objets non
scalaires...
plus simplement j'ai constaté que le débutant
est completement perdu à cause de '*'
qui dans un cas déclare le pointeur int *p
et dans l'autre cas est un opérateur a = *p
c'est vrai que c'est pas très malin d'avoir fait
ça...
Euh non, c'est justement toute la magie des _déclarations_ du C.
Mais c'est vrai que c'est une énorme source de confusion au début, j'en garde
les pires souvenirs.
"Marc Espie" a écrit dans le message de news: h8l8md$i65$
... et ca met parfaitement en evidence *le* probleme central des pointeurs/references, qui est le probleme d'identite des objets non scalaires...
plus simplement j'ai constaté que le débutant est completement perdu à cause de '*' qui dans un cas déclare le pointeur int *p et dans l'autre cas est un opérateur a = *p
c'est vrai que c'est pas très malin d'avoir fait ça...
Euh non, c'est justement toute la magie des _déclarations_ du C.
Mais c'est vrai que c'est une énorme source de confusion au début, j'en garde les pires souvenirs.
Mes cours de C vont de tandem avec les cours d'Unix avance, et je leur explique gentiement au debut qu'on va faire du C dans son environnement "naturel" historique, sous Unix, et que s'ils veulent faire des cochoncetes sous windows, ils se demerderont tout seul... avec evidemment les justifications qui vont avec, d'une part que le C est deja assez "hostile" sans BSOD, et qu'en plus les papas du langage savaient tres bien ce qu'ils faisaient.
Je trolle un peu en rajoutant qu'il est important qu'ils developpent un gout esthetique, et qu'ils commencent avec des choses propres avant d'aller faire les poubelles du cote de Windows...
In article <h8lf1f$7sf$1@news.cict.fr>,
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> wrote:
Mes cours de C vont de tandem avec les cours d'Unix avance, et je leur
explique gentiement au debut qu'on va faire du C dans son environnement
"naturel" historique, sous Unix, et que s'ils veulent faire des cochoncetes
sous windows, ils se demerderont tout seul... avec evidemment les
justifications qui vont avec, d'une part que le C est deja assez "hostile"
sans BSOD, et qu'en plus les papas du langage savaient tres bien ce qu'ils
faisaient.
Je trolle un peu en rajoutant qu'il est important qu'ils developpent un gout
esthetique, et qu'ils commencent avec des choses propres avant d'aller
faire les poubelles du cote de Windows...
Mes cours de C vont de tandem avec les cours d'Unix avance, et je leur explique gentiement au debut qu'on va faire du C dans son environnement "naturel" historique, sous Unix, et que s'ils veulent faire des cochoncetes sous windows, ils se demerderont tout seul... avec evidemment les justifications qui vont avec, d'une part que le C est deja assez "hostile" sans BSOD, et qu'en plus les papas du langage savaient tres bien ce qu'ils faisaient.
Je trolle un peu en rajoutant qu'il est important qu'ils developpent un gout esthetique, et qu'ils commencent avec des choses propres avant d'aller faire les poubelles du cote de Windows...
Marc Boyer
Le 14-09-2009, Gabriel Dos Reis a écrit :
Marc Boyer writes: | Le 14-09-2009, Gabriel Dos Reis a écrit : | > (Marc Espie) writes: | >| In article <4aae3151$0$22542$, | >| candide wrote: | >| >Marc Boyer a écrit : | >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire | >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient | >| >> vrais), confortent les apprentissage. | >| > | >| >Question d'équilibre car il y a un risque de surcharge. Mon principe | >| >d'enseignement favori : le rasoir d'Occam. | >| | >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter | >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier, | >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un | >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs | >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier | >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de | >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas | >| paumes en le lisant). | > | > | > En effet, la question est : quel est le but du cours ? Former des gens | > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent | > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ? | | Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours), | nombre d'intervenants, etc...
Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait moins que tes 20 heures de cours.
J'ai du mal présenter une information. J'avais 5x1h45 de cours, une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin, et pas trop de droit de leur demander de code en dehors des heures.
Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de TD, mais j'insiste à assister à chaque fois que je peux.)
Mais tu dis demander 10h de travail perso hebdomadaire, non ?
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
| Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
| > espie@lain.home (Marc Espie) writes:
| >| In article <4aae3151$0$22542$426a34cc@news.free.fr>,
| >| candide <candide@free.invalid> wrote:
| >| >Marc Boyer a écrit :
| >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire
| >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient
| >| >> vrais), confortent les apprentissage.
| >| >
| >| >Question d'équilibre car il y a un risque de surcharge. Mon principe
| >| >d'enseignement favori : le rasoir d'Occam.
| >|
| >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter
| >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier,
| >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un
| >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs
| >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier
| >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de
| >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas
| >| paumes en le lisant).
| >
| >
| > En effet, la question est : quel est le but du cours ? Former des gens
| > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent
| > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ?
|
| Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours),
| nombre d'intervenants, etc...
Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait
moins que tes 20 heures de cours.
J'ai du mal présenter une information. J'avais 5x1h45 de cours,
une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin,
et pas trop de droit de leur demander de code en dehors des heures.
Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de
TD, mais j'insiste à assister à chaque fois que je peux.)
Mais tu dis demander 10h de travail perso hebdomadaire, non ?
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Marc Boyer writes: | Le 14-09-2009, Gabriel Dos Reis a écrit : | > (Marc Espie) writes: | >| In article <4aae3151$0$22542$, | >| candide wrote: | >| >Marc Boyer a écrit : | >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire | >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient | >| >> vrais), confortent les apprentissage. | >| > | >| >Question d'équilibre car il y a un risque de surcharge. Mon principe | >| >d'enseignement favori : le rasoir d'Occam. | >| | >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter | >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier, | >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un | >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs | >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier | >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de | >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas | >| paumes en le lisant). | > | > | > En effet, la question est : quel est le but du cours ? Former des gens | > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent | > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ? | | Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours), | nombre d'intervenants, etc...
Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait moins que tes 20 heures de cours.
J'ai du mal présenter une information. J'avais 5x1h45 de cours, une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin, et pas trop de droit de leur demander de code en dehors des heures.
Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de TD, mais j'insiste à assister à chaque fois que je peux.)
Mais tu dis demander 10h de travail perso hebdomadaire, non ?
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
Marc Boyer
Le 14-09-2009, Gabriel Dos Reis a écrit :
Marc Boyer writes:
[...]
| que de toute façon, personne ne comprend rien à son cours donc personne | ne le remettra en cause,
Intéressant. Ici, si personne ne comprend ton cours, t'as des soucis : les élèves évaluent ton cours à la fin du semestre et l'administration tient compte du retour global en ce qui concerne ton avancement et autres compensations (i.e. Teaching Excellence Award, etc.)
Et oui. D'ailleurs, c'est en autre pour cela que j'ai quitté l'enseignement supérieur français.
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
[...]
| que de toute façon, personne ne comprend rien à son cours donc personne
| ne le remettra en cause,
Intéressant. Ici, si personne ne comprend ton cours, t'as des soucis :
les élèves évaluent ton cours à la fin du semestre et l'administration
tient compte du retour global en ce qui concerne ton avancement et
autres compensations (i.e. Teaching Excellence Award, etc.)
Et oui. D'ailleurs, c'est en autre pour cela que j'ai quitté
l'enseignement supérieur français.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
| que de toute façon, personne ne comprend rien à son cours donc personne | ne le remettra en cause,
Intéressant. Ici, si personne ne comprend ton cours, t'as des soucis : les élèves évaluent ton cours à la fin du semestre et l'administration tient compte du retour global en ce qui concerne ton avancement et autres compensations (i.e. Teaching Excellence Award, etc.)
Et oui. D'ailleurs, c'est en autre pour cela que j'ai quitté l'enseignement supérieur français.
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
Marc Boyer
Le 14-09-2009, Gabriel Dos Reis a écrit :
Marc Boyer writes:
| Le 11-09-2009, Gabriel Dos Reis a écrit : | > Marc Boyer writes: | > | >| Les pointeurs sont incontournables (ou très difficilement | >| contournable) pour: | > | > La majorité de ceux qui font du Java n'ont jamais entendu parler de | > pointeurs -- ou alors, ils savent que c'est un truc sale que les gens | > peu évolués manipulent. | | J'avoue que comme dans notre formation, C venait avant Java, | je n'ai pas vraiment connu ce problème.
Ici, on a des freshmen qui arrivent avec des rudiments de Java (vraiment des rudiments...). Pour eux, le C est un choc. Du coup, on leur enseigne autre chose :-)
http://www.research.att.com/~bs/software.pdf
Oui, ça me semble une bonne idée (quand on peut).
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
| Le 11-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
| > Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
| >
| >| Les pointeurs sont incontournables (ou très difficilement
| >| contournable) pour:
| >
| > La majorité de ceux qui font du Java n'ont jamais entendu parler de
| > pointeurs -- ou alors, ils savent que c'est un truc sale que les gens
| > peu évolués manipulent.
|
| J'avoue que comme dans notre formation, C venait avant Java,
| je n'ai pas vraiment connu ce problème.
Ici, on a des freshmen qui arrivent avec des rudiments de Java (vraiment
des rudiments...). Pour eux, le C est un choc. Du coup, on leur
enseigne autre chose :-)
http://www.research.att.com/~bs/software.pdf
Oui, ça me semble une bonne idée (quand on peut).
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
| Le 11-09-2009, Gabriel Dos Reis a écrit : | > Marc Boyer writes: | > | >| Les pointeurs sont incontournables (ou très difficilement | >| contournable) pour: | > | > La majorité de ceux qui font du Java n'ont jamais entendu parler de | > pointeurs -- ou alors, ils savent que c'est un truc sale que les gens | > peu évolués manipulent. | | J'avoue que comme dans notre formation, C venait avant Java, | je n'ai pas vraiment connu ce problème.
Ici, on a des freshmen qui arrivent avec des rudiments de Java (vraiment des rudiments...). Pour eux, le C est un choc. Du coup, on leur enseigne autre chose :-)
http://www.research.att.com/~bs/software.pdf
Oui, ça me semble une bonne idée (quand on peut).
Marc Boyer -- En prenant aux 10% des francais les plus riches 12% de leurs revenus, on pourrait doubler les revenus des 10% les plus pauvres. http://www.inegalites.fr/spip.php?article1&id_mot0
candide
Marc Espie a écrit :
Non, tout le monde ne comprend pas la notion d'infini. Ca n'est vraiment pas simple.
Mais je ne te parle pas de l'infini mathématique, l'infini dénombrable, non dénombrable, l'hypothèse du continu, etc. Je parle de l'infini de Monsieur tout le monde. Cet infini, ipso facto, est une abstraction puisque tout notre environnement (notre vie, nos frères, nos soeurs, les saisons, les jours, etc) est constitué d'éléments finis.
J'aurais tout aussi pu parler de la finitude. La finitude est une abstraction qui se dégage petit à petit au fur et à mesure des expériences (personnelles). Ou j'aurais pu te parler de la notion de couleur, de couleur en général. Pour que cette notion abstraite se dégage, il faut bien qu'on ait été confronté à des "instances" de couleurs. Et lorsque tout cela a été fait, on peut penser une couleur comme un nombre, un code, etc.
Marc Espie a écrit :
Non, tout le monde ne comprend pas la notion d'infini. Ca n'est vraiment
pas simple.
Mais je ne te parle pas de l'infini mathématique, l'infini dénombrable, non
dénombrable, l'hypothèse du continu, etc. Je parle de l'infini de Monsieur tout
le monde. Cet infini, ipso facto, est une abstraction puisque tout notre
environnement (notre vie, nos frères, nos soeurs, les saisons, les jours, etc)
est constitué d'éléments finis.
J'aurais tout aussi pu parler de la finitude. La finitude est une abstraction
qui se dégage petit à petit au fur et à mesure des expériences (personnelles).
Ou j'aurais pu te parler de la notion de couleur, de couleur en général. Pour
que cette notion abstraite se dégage, il faut bien qu'on ait été confronté à des
"instances" de couleurs. Et lorsque tout cela a été fait, on peut penser une
couleur comme un nombre, un code, etc.
Non, tout le monde ne comprend pas la notion d'infini. Ca n'est vraiment pas simple.
Mais je ne te parle pas de l'infini mathématique, l'infini dénombrable, non dénombrable, l'hypothèse du continu, etc. Je parle de l'infini de Monsieur tout le monde. Cet infini, ipso facto, est une abstraction puisque tout notre environnement (notre vie, nos frères, nos soeurs, les saisons, les jours, etc) est constitué d'éléments finis.
J'aurais tout aussi pu parler de la finitude. La finitude est une abstraction qui se dégage petit à petit au fur et à mesure des expériences (personnelles). Ou j'aurais pu te parler de la notion de couleur, de couleur en général. Pour que cette notion abstraite se dégage, il faut bien qu'on ait été confronté à des "instances" de couleurs. Et lorsque tout cela a été fait, on peut penser une couleur comme un nombre, un code, etc.
Richard Delorme
Le 14/09/2009 14:56, Marc Espie a écrit :
dans tous les cas ou ils finissent par tomber sur des cas ou "ca serait bien", j'essaie de leur expliquer que c'est un ECHEC de conception, ou le developpeur n'a pas reussi a faire assez simple (et de mon point de vue, on en trouve meme dans la bibliotheque standard, FILE * est une grosse connerie, a mon avis).
En quel sens FILE est une connerie ?
-- Richard
Le 14/09/2009 14:56, Marc Espie a écrit :
dans tous les cas ou ils finissent par tomber sur des cas ou "ca serait
bien", j'essaie de leur expliquer que c'est un ECHEC de conception, ou le
developpeur n'a pas reussi a faire assez simple (et de mon point de vue,
on en trouve meme dans la bibliotheque standard, FILE * est une grosse
connerie, a mon avis).
dans tous les cas ou ils finissent par tomber sur des cas ou "ca serait bien", j'essaie de leur expliquer que c'est un ECHEC de conception, ou le developpeur n'a pas reussi a faire assez simple (et de mon point de vue, on en trouve meme dans la bibliotheque standard, FILE * est une grosse connerie, a mon avis).
En quel sens FILE est une connerie ?
-- Richard
Gabriel Dos Reis
Marc Boyer writes:
| Le 14-09-2009, Gabriel Dos Reis a écrit : | > Marc Boyer writes: | >| Le 14-09-2009, Gabriel Dos Reis a écrit : | >| > (Marc Espie) writes: | >| >| In article <4aae3151$0$22542$, | >| >| candide wrote: | >| >| >Marc Boyer a écrit : | >| >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire | >| >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient | >| >| >> vrais), confortent les apprentissage. | >| >| > | >| >| >Question d'équilibre car il y a un risque de surcharge. Mon principe | >| >| >d'enseignement favori : le rasoir d'Occam. | >| >| | >| >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter | >| >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier, | >| >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un | >| >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs | >| >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier | >| >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de | >| >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas | >| >| paumes en le lisant). | >| > | >| > | >| > En effet, la question est : quel est le but du cours ? Former des gens | >| > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent | >| > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ? | >| | >| Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours), | >| nombre d'intervenants, etc... | > | > Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait | > moins que tes 20 heures de cours. | | J'ai du mal présenter une information. J'avais 5x1h45 de cours, | une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin, | et pas trop de droit de leur demander de code en dehors des heures.
Dans ce cas, je préfère présenter le peu que je peux bien, quite à laisser tomber certains aspects.
| | > Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de | > TD, mais j'insiste à assister à chaque fois que je peux.) | | Mais tu dis demander 10h de travail perso hebdomadaire, non ?
Au minimum.
-- Gaby
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
| Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
| > Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> writes:
| >| Le 14-09-2009, Gabriel Dos Reis <gdr@cs.tamu.edu> a écrit :
| >| > espie@lain.home (Marc Espie) writes:
| >| >| In article <4aae3151$0$22542$426a34cc@news.free.fr>,
| >| >| candide <candide@free.invalid> wrote:
| >| >| >Marc Boyer a écrit :
| >| >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire
| >| >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient
| >| >| >> vrais), confortent les apprentissage.
| >| >| >
| >| >| >Question d'équilibre car il y a un risque de surcharge. Mon principe
| >| >| >d'enseignement favori : le rasoir d'Occam.
| >| >|
| >| >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter
| >| >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier,
| >| >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un
| >| >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs
| >| >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier
| >| >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de
| >| >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas
| >| >| paumes en le lisant).
| >| >
| >| >
| >| > En effet, la question est : quel est le but du cours ? Former des gens
| >| > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent
| >| > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ?
| >|
| >| Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours),
| >| nombre d'intervenants, etc...
| >
| > Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait
| > moins que tes 20 heures de cours.
|
| J'ai du mal présenter une information. J'avais 5x1h45 de cours,
| une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin,
| et pas trop de droit de leur demander de code en dehors des heures.
Dans ce cas, je préfère présenter le peu que je peux bien, quite à
laisser tomber certains aspects.
|
| > Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de
| > TD, mais j'insiste à assister à chaque fois que je peux.)
|
| Mais tu dis demander 10h de travail perso hebdomadaire, non ?
| Le 14-09-2009, Gabriel Dos Reis a écrit : | > Marc Boyer writes: | >| Le 14-09-2009, Gabriel Dos Reis a écrit : | >| > (Marc Espie) writes: | >| >| In article <4aae3151$0$22542$, | >| >| candide wrote: | >| >| >Marc Boyer a écrit : | >| >| >> Je ne pense pas que ce soit vrai: on apprécise toujours de pouvoir faire | >| >| >> des liens entre connaissances, et ces liens (sous réserve qu'ils soient | >| >| >> vrais), confortent les apprentissage. | >| >| > | >| >| >Question d'équilibre car il y a un risque de surcharge. Mon principe | >| >| >d'enseignement favori : le rasoir d'Occam. | >| >| | >| >| Ca depend de ce que tu dois enseigner. Moi l'idee, c'est de les confronter | >| >| a la realite du code existant, a terme. Donc je ne peux pas trop simplifier, | >| >| ni abandonner des trucs. Ou alors, tu te retrouves a leur presenter un | >| >| langage "jouet" qui ressemble a du C... apres, ca te fait des programmeurs | >| >| qui s'integrent mal a d'autres equipes, qui ont un style tres particulier | >| >| et bizarre... alors qu'il y a quand meme un style a peu pres standard de | >| >| codage en C (qui vaut ce qu'il vaut, mais au moins, les gens ne sont pas | >| >| paumes en le lisant). | >| > | >| > | >| > En effet, la question est : quel est le but du cours ? Former des gens | >| > qui, à la fin, peuvent écrire des programmes de tailles modérées, peuvent | >| > s'intégrer dans une équipe ? Ou une tête remplie de connaissance livresque ? | >| | >| Ca dépend aussi des moyens que tu as (nb d'heures alloués au cours), | >| nombre d'intervenants, etc... | > | > Grosso modo, j'ai 20 séances de cours de 50min chacune -- ce qui fait | > moins que tes 20 heures de cours. | | J'ai du mal présenter une information. J'avais 5x1h45 de cours, | une dizaine de TD, autant de TP (tout à 1h45)), un projet de fin, | et pas trop de droit de leur demander de code en dehors des heures.
Dans ce cas, je préfère présenter le peu que je peux bien, quite à laisser tomber certains aspects.
| | > Les étudiants ont lab work 2 fois 50 min par semaine (j'ai un chargé de | > TD, mais j'insiste à assister à chaque fois que je peux.) | | Mais tu dis demander 10h de travail perso hebdomadaire, non ?