j'apprends C++, et je suis confronté à ce pb : passer un tableau à une
fonction, voilà un code sans utilité mais qui permet de mettre mon pb en
avant : je reçois le message d'erreur suivant: Unresolved external
'ChangerVal(int)' referenced from module prog1.cpp
#include <iostream.h>
#include <conio.h>
"Christophe Lephay" a écrit dans le message news: bl9g0c$idf$
"M.B." a écrit dans le message de news:bl9fll$d48$
a écrit dans le message news:
En quoi est-ce que : int tab[2] ; est plus difficile pour un débuttant que : std::vector< int > tab( 2 ) ; ?
C'est une blague ?
En fait, il y a une différence entre apprendre et comprendre. Si std::vector< int > tab( 2 ) est plus dur à apprendre, l'utilisation de vector ne nécessite par contre aucune compréhension particulière. C'est exactement le contraire de int tab[ 2 ] qui s'apprend très facilement, mais
qui nécessite énormément de sueur avant d'en comprendre le fonctionnement, avec le problème qu'on s'expose à de sévères migraines tant qu'on ne le maitrise pas...
D'une manière générale, tous ceux qui ont l'expérience de l'enseignement te
diront qu'il est bien plus facile pour un élève d'apprendre quelquechose que
de le comprendre.
Chris
Ca tombe bien, j'ai 18 annees d'experience d'enseignement.
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
MB
"Christophe Lephay" <christophe-lephay@wanadoo.fr> a écrit dans le message
news: bl9g0c$idf$1@news-reader1.wanadoo.fr...
"M.B." <mbinder@magicnet.com> a écrit dans le message de
news:bl9fll$d48$1@news-reader2.wanadoo.fr...
<kanze@gabi-soft.fr> a écrit dans le message news:
d6652001.0309282315.3c36652a@posting.google.com...
En quoi est-ce
que :
int tab[2] ;
est plus difficile pour un débuttant que :
std::vector< int > tab( 2 ) ;
?
C'est une blague ?
En fait, il y a une différence entre apprendre et comprendre. Si
std::vector< int > tab( 2 ) est plus dur à apprendre, l'utilisation de
vector ne nécessite par contre aucune compréhension particulière. C'est
exactement le contraire de int tab[ 2 ] qui s'apprend très facilement,
mais
qui nécessite énormément de sueur avant d'en comprendre le fonctionnement,
avec le problème qu'on s'expose à de sévères migraines tant qu'on ne le
maitrise pas...
D'une manière générale, tous ceux qui ont l'expérience de l'enseignement
te
diront qu'il est bien plus facile pour un élève d'apprendre quelquechose
que
de le comprendre.
Chris
Ca tombe bien, j'ai 18 annees d'experience d'enseignement.
On ne peut pas apprendre un langage informatique sans le comprendre,
c'est ridicule et grotesque.
"Christophe Lephay" a écrit dans le message news: bl9g0c$idf$
"M.B." a écrit dans le message de news:bl9fll$d48$
a écrit dans le message news:
En quoi est-ce que : int tab[2] ; est plus difficile pour un débuttant que : std::vector< int > tab( 2 ) ; ?
C'est une blague ?
En fait, il y a une différence entre apprendre et comprendre. Si std::vector< int > tab( 2 ) est plus dur à apprendre, l'utilisation de vector ne nécessite par contre aucune compréhension particulière. C'est exactement le contraire de int tab[ 2 ] qui s'apprend très facilement, mais
qui nécessite énormément de sueur avant d'en comprendre le fonctionnement, avec le problème qu'on s'expose à de sévères migraines tant qu'on ne le maitrise pas...
D'une manière générale, tous ceux qui ont l'expérience de l'enseignement te
diront qu'il est bien plus facile pour un élève d'apprendre quelquechose que
de le comprendre.
Chris
Ca tombe bien, j'ai 18 annees d'experience d'enseignement.
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
MB
Michaël Monerau
wrote:
void ChangerVal(int tab[2])
donc là, tu définis la fonction, mais avec comme argument un tableau de int !
Pas vraiment. Là, il définit une fonction avec comme argument un pointeur vers un int.
Je ne voulais pas l'embrouiller avec des pointeurs, s'il en est aux tableaux... Mais, c'est vrai que c'est peut-être mieux de mettre les mots justes dès le début.
Et ici, fais attention... Tu passes le tableau par valeur.
Non, il ne le passe pas par valeur. Il y a un tas de sombres histoires qui se passent derrière son dos, qui fait que d'une part, il a défini une fonction qui prend un pointeur (et non un tableau), et que d'autre part, des tableaux se convertissent en pointeur dans pas mal de contexte, et finalement, on tripôte avec l'arithmétique sur des pointeurs dans la fonction.
C'est ce que je dis dans la phrase suivante, mais pas aussi poussé, c'est un débutant... Ne l'embrouillons pas :-) Il aura le temps de voir ça après ! Mais c'est vrai que les vector sont beaucoup plus simples ici.
T'as de la chance que ce soit un pointeur qui soit passé à la place du tableau...
Je ne sais pas si c'est ce que j'appelle de la chance.
Je voulais dire : "t'as de la chance, ça ferait bien le résultat que tu attends (i.e. modifier le tableau donné en argument par l'appelant), mais c'est un cas particulier". -- <=- Michaël "Cortex" Monerau -=>
kanze@gabi-soft.fr wrote:
void ChangerVal(int tab[2])
donc là, tu définis la fonction, mais avec comme argument un tableau
de int !
Pas vraiment. Là, il définit une fonction avec comme argument un
pointeur vers un int.
Je ne voulais pas l'embrouiller avec des pointeurs, s'il en est aux
tableaux... Mais, c'est vrai que c'est peut-être mieux de mettre les mots
justes dès le début.
Et ici, fais attention... Tu passes le tableau par valeur.
Non, il ne le passe pas par valeur. Il y a un tas de sombres histoires
qui se passent derrière son dos, qui fait que d'une part, il a défini
une fonction qui prend un pointeur (et non un tableau), et que d'autre
part, des tableaux se convertissent en pointeur dans pas mal de
contexte, et finalement, on tripôte avec l'arithmétique sur des
pointeurs dans la fonction.
C'est ce que je dis dans la phrase suivante, mais pas aussi poussé, c'est un
débutant... Ne l'embrouillons pas :-) Il aura le temps de voir ça après !
Mais c'est vrai que les vector sont beaucoup plus simples ici.
T'as de la chance que ce soit un pointeur qui soit passé à la place
du tableau...
Je ne sais pas si c'est ce que j'appelle de la chance.
Je voulais dire : "t'as de la chance, ça ferait bien le résultat que tu
attends (i.e. modifier le tableau donné en argument par l'appelant), mais
c'est un cas particulier".
--
<=- Michaël "Cortex" Monerau -=>
donc là, tu définis la fonction, mais avec comme argument un tableau de int !
Pas vraiment. Là, il définit une fonction avec comme argument un pointeur vers un int.
Je ne voulais pas l'embrouiller avec des pointeurs, s'il en est aux tableaux... Mais, c'est vrai que c'est peut-être mieux de mettre les mots justes dès le début.
Et ici, fais attention... Tu passes le tableau par valeur.
Non, il ne le passe pas par valeur. Il y a un tas de sombres histoires qui se passent derrière son dos, qui fait que d'une part, il a défini une fonction qui prend un pointeur (et non un tableau), et que d'autre part, des tableaux se convertissent en pointeur dans pas mal de contexte, et finalement, on tripôte avec l'arithmétique sur des pointeurs dans la fonction.
C'est ce que je dis dans la phrase suivante, mais pas aussi poussé, c'est un débutant... Ne l'embrouillons pas :-) Il aura le temps de voir ça après ! Mais c'est vrai que les vector sont beaucoup plus simples ici.
T'as de la chance que ce soit un pointeur qui soit passé à la place du tableau...
Je ne sais pas si c'est ce que j'appelle de la chance.
Je voulais dire : "t'as de la chance, ça ferait bien le résultat que tu attends (i.e. modifier le tableau donné en argument par l'appelant), mais c'est un cas particulier". -- <=- Michaël "Cortex" Monerau -=>
Michaël Monerau
Carmin wrote:
merci pour ton aide précieux, je n'ai plus qu'à bûcher! bonne soirée
eheh :) De rien. Bonne soirée à toi aussi.
et passe faire un tour ici aussi : http://www.giromini.org/usenet-fr/repondre.html
;-) -- <=- Michaël "Cortex" Monerau -=>
Carmin wrote:
merci pour ton aide précieux, je n'ai plus qu'à bûcher!
bonne soirée
eheh :)
De rien. Bonne soirée à toi aussi.
et passe faire un tour ici aussi :
http://www.giromini.org/usenet-fr/repondre.html
merci pour ton aide précieux, je n'ai plus qu'à bûcher! bonne soirée
eheh :) De rien. Bonne soirée à toi aussi.
et passe faire un tour ici aussi : http://www.giromini.org/usenet-fr/repondre.html
;-) -- <=- Michaël "Cortex" Monerau -=>
Christophe Lephay
"M.B." a écrit dans le message de news:bl9g97$f87$
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient après. C'est assez peu fréquent que la compréhension apparaisse par génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas mal de pré-requis, notemment en termes d'organisation de la mémoire. L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On pourra demander à l'élève de comprendre un peu mieux l'organisation de la mémoire à un moment plus opportun qu'au tout début de son apprentissage...
Chris
"M.B." <mbinder@magicnet.com> a écrit dans le message de
news:bl9g97$f87$1@news-reader2.wanadoo.fr...
On ne peut pas apprendre un langage informatique sans le comprendre,
c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient
après. C'est assez peu fréquent que la compréhension apparaisse par
génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas
mal de pré-requis, notemment en termes d'organisation de la mémoire.
L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On
pourra demander à l'élève de comprendre un peu mieux l'organisation de la
mémoire à un moment plus opportun qu'au tout début de son apprentissage...
"M.B." a écrit dans le message de news:bl9g97$f87$
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient après. C'est assez peu fréquent que la compréhension apparaisse par génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas mal de pré-requis, notemment en termes d'organisation de la mémoire. L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On pourra demander à l'élève de comprendre un peu mieux l'organisation de la mémoire à un moment plus opportun qu'au tout début de son apprentissage...
Chris
Michaël Monerau
M.B. wrote:
Il y a ceux qui apprenne et ceux qui se la 'pete'.
Je suis bien certain que Fabien ne voulait pas "se la péter". Il a voulu lui donner une réponse complète, de ce qu'il pensait. Il n'a peut-être pas beaucoup détailler pour le débutant... Mais ça le met sur la voie, et il peut ensuite chercher "std::vector" dans google ou dans son livre. Si j'étais débutant, j'attendrais qu'on me donne la meilleure solution à ma question, quitte à ce que ça nécessite une recherche personnelle. On ne peut pas *tout* dire dans un message, quand c'est une question qui met en jeu un tel nombre de choses sous-jacentes. (c'est ce que j'ai essayé de faire en lui indiquant que vector était mieux adapté... mais en lui expliquant aussi pourquoi sa solution n'était pas *bien*).
Un grand merci a Michael Monereau pour la clarete, l'exemplarite et la pedagogie de ses reponses.
De rien :-) Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis ! ;-) -- <=- Michaël "Cortex" Monerau -=>
M.B. wrote:
Il y a ceux qui apprenne et ceux qui se la 'pete'.
Je suis bien certain que Fabien ne voulait pas "se la péter". Il a voulu lui
donner une réponse complète, de ce qu'il pensait. Il n'a peut-être pas
beaucoup détailler pour le débutant... Mais ça le met sur la voie, et il
peut ensuite chercher "std::vector" dans google ou dans son livre. Si
j'étais débutant, j'attendrais qu'on me donne la meilleure solution à ma
question, quitte à ce que ça nécessite une recherche personnelle. On ne peut
pas *tout* dire dans un message, quand c'est une question qui met en jeu un
tel nombre de choses sous-jacentes. (c'est ce que j'ai essayé de faire en
lui indiquant que vector était mieux adapté... mais en lui expliquant aussi
pourquoi sa solution n'était pas *bien*).
Un grand merci a Michael Monereau pour la clarete, l'exemplarite et
la pedagogie de ses reponses.
De rien :-)
Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu
réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis
!
;-)
--
<=- Michaël "Cortex" Monerau -=>
Il y a ceux qui apprenne et ceux qui se la 'pete'.
Je suis bien certain que Fabien ne voulait pas "se la péter". Il a voulu lui donner une réponse complète, de ce qu'il pensait. Il n'a peut-être pas beaucoup détailler pour le débutant... Mais ça le met sur la voie, et il peut ensuite chercher "std::vector" dans google ou dans son livre. Si j'étais débutant, j'attendrais qu'on me donne la meilleure solution à ma question, quitte à ce que ça nécessite une recherche personnelle. On ne peut pas *tout* dire dans un message, quand c'est une question qui met en jeu un tel nombre de choses sous-jacentes. (c'est ce que j'ai essayé de faire en lui indiquant que vector était mieux adapté... mais en lui expliquant aussi pourquoi sa solution n'était pas *bien*).
Un grand merci a Michael Monereau pour la clarete, l'exemplarite et la pedagogie de ses reponses.
De rien :-) Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis ! ;-) -- <=- Michaël "Cortex" Monerau -=>
Michaël Monerau
M.B. wrote:
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Alors, tu apprends à tes élèves la surcharge de l'opérateur '<<', le namespace std, les streams et les manipulators à tes élèves débutants pour écrire 'std::cout << "Hello World !" << std::endl;" ?
Plus sérieusement, il y a des moments où il faut bien démarrer par quelque chose... On ne peut pas vouloir expliquer tous les tenants et les aboutissants de chaque ligne dès le début de l'apprentissage (il y a souvent des corrélations très complexes entre tous les concepts dits "de base" comme ce Hello World). Ces choses là se découvrent ensuite, avec les lectures et les exemples... Enfin, c'est comme ça que ça a marché pour moi. -- <=- Michaël "Cortex" Monerau -=>
M.B. wrote:
On ne peut pas apprendre un langage informatique sans le comprendre,
c'est ridicule et grotesque.
Alors, tu apprends à tes élèves la surcharge de l'opérateur '<<', le
namespace std, les streams et les manipulators à tes élèves débutants pour
écrire 'std::cout << "Hello World !" << std::endl;" ?
Plus sérieusement, il y a des moments où il faut bien démarrer par quelque
chose... On ne peut pas vouloir expliquer tous les tenants et les
aboutissants de chaque ligne dès le début de l'apprentissage (il y a souvent
des corrélations très complexes entre tous les concepts dits "de base" comme
ce Hello World). Ces choses là se découvrent ensuite, avec les lectures et
les exemples... Enfin, c'est comme ça que ça a marché pour moi.
--
<=- Michaël "Cortex" Monerau -=>
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Alors, tu apprends à tes élèves la surcharge de l'opérateur '<<', le namespace std, les streams et les manipulators à tes élèves débutants pour écrire 'std::cout << "Hello World !" << std::endl;" ?
Plus sérieusement, il y a des moments où il faut bien démarrer par quelque chose... On ne peut pas vouloir expliquer tous les tenants et les aboutissants de chaque ligne dès le début de l'apprentissage (il y a souvent des corrélations très complexes entre tous les concepts dits "de base" comme ce Hello World). Ces choses là se découvrent ensuite, avec les lectures et les exemples... Enfin, c'est comme ça que ça a marché pour moi. -- <=- Michaël "Cortex" Monerau -=>
M.B.
"Christophe Lephay" a écrit dans le message news: bl9gms$h2k$
"M.B." a écrit dans le message de news:bl9g97$f87$
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient après. C'est assez peu fréquent que la compréhension apparaisse par génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas mal de pré-requis, notemment en termes d'organisation de la mémoire. L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On pourra demander à l'élève de comprendre un peu mieux l'organisation de la mémoire à un moment plus opportun qu'au tout début de son apprentissage...
Chris
Je suis me toujours farouchement opposé a ce type d'enseignement. On commence par comprendre la structure interne d'un calculateur, sa memoire, son micro, ses peripheriques, ses bus, ses adresses et ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a comprendre. Je n'envisage pas un seul instant de tenter d'enseigner la programmation a des gens qui ne savent pas comment fonctionne un ordinateur. C'est voué a l'echec. Au premier bug du genre 'Stack Overflow' ils sont coincés.
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que std::vector<int> tab (2)
MB
"Christophe Lephay" <christophe-lephay@wanadoo.fr> a écrit dans le message
news: bl9gms$h2k$1@news-reader2.wanadoo.fr...
"M.B." <mbinder@magicnet.com> a écrit dans le message de
news:bl9g97$f87$1@news-reader2.wanadoo.fr...
On ne peut pas apprendre un langage informatique sans le comprendre,
c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient
après. C'est assez peu fréquent que la compréhension apparaisse par
génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas
mal de pré-requis, notemment en termes d'organisation de la mémoire.
L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On
pourra demander à l'élève de comprendre un peu mieux l'organisation de la
mémoire à un moment plus opportun qu'au tout début de son apprentissage...
Chris
Je suis me toujours farouchement opposé a ce type d'enseignement.
On commence par comprendre la structure interne d'un calculateur,
sa memoire, son micro, ses peripheriques, ses bus, ses adresses et
ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a
comprendre. Je n'envisage pas un seul instant de tenter d'enseigner
la programmation a des gens qui ne savent pas comment fonctionne
un ordinateur. C'est voué a l'echec. Au premier bug du genre
'Stack Overflow' ils sont coincés.
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que
std::vector<int> tab (2)
"Christophe Lephay" a écrit dans le message news: bl9gms$h2k$
"M.B." a écrit dans le message de news:bl9g97$f87$
On ne peut pas apprendre un langage informatique sans le comprendre, c'est ridicule et grotesque.
Mais en général, il faut commencer par apprendre et la compréhension vient après. C'est assez peu fréquent que la compréhension apparaisse par génération spontanée.
Particulièrement, la compréhension des tableaux de type C nécessitent pas mal de pré-requis, notemment en termes d'organisation de la mémoire. L'avantage de vector, c'est qu'il ne nécessite pas de tels pré-requis. On pourra demander à l'élève de comprendre un peu mieux l'organisation de la mémoire à un moment plus opportun qu'au tout début de son apprentissage...
Chris
Je suis me toujours farouchement opposé a ce type d'enseignement. On commence par comprendre la structure interne d'un calculateur, sa memoire, son micro, ses peripheriques, ses bus, ses adresses et ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a comprendre. Je n'envisage pas un seul instant de tenter d'enseigner la programmation a des gens qui ne savent pas comment fonctionne un ordinateur. C'est voué a l'echec. Au premier bug du genre 'Stack Overflow' ils sont coincés.
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que std::vector<int> tab (2)
MB
M.B.
"Michaël Monerau" a écrit dans le message news: NEXdb.181628$
Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu
réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis
Tu es bon pedagogue.
MB
"Michaël Monerau" <cort@meloo.com> a écrit dans le message news:
NEXdb.181628$hd6.2309513@news.chello.at...
Tant qu'on est aux heures de félicitations, je constate avec plaisir que
tu
réponds maintenant dans le bon sens... Merci et bravo d'avoir changé
d'avis
"Michaël Monerau" a écrit dans le message news: NEXdb.181628$
Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu
réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis
Tu es bon pedagogue.
MB
Michaël Monerau
M.B. wrote:
"Michaël Monerau" a écrit dans le message news: NEXdb.181628$
Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis
Tu es bon pedagogue.
Je n'ai pourtant que 16 ans :-) Je suis flatté, tu vas me faire rougir ;-) -- <=- Michaël "Cortex" Monerau -=>
M.B. wrote:
"Michaël Monerau" <cort@meloo.com> a écrit dans le message news:
NEXdb.181628$hd6.2309513@news.chello.at...
Tant qu'on est aux heures de félicitations, je constate avec plaisir
que tu réponds maintenant dans le bon sens... Merci et bravo d'avoir
changé d'avis
Tu es bon pedagogue.
Je n'ai pourtant que 16 ans :-)
Je suis flatté, tu vas me faire rougir ;-)
--
<=- Michaël "Cortex" Monerau -=>
"Michaël Monerau" a écrit dans le message news: NEXdb.181628$
Tant qu'on est aux heures de félicitations, je constate avec plaisir que tu réponds maintenant dans le bon sens... Merci et bravo d'avoir changé d'avis
Tu es bon pedagogue.
Je n'ai pourtant que 16 ans :-) Je suis flatté, tu vas me faire rougir ;-) -- <=- Michaël "Cortex" Monerau -=>
Christophe Lephay
"M.B." a écrit dans le message de news:bl9h5v$7qp$
Je suis me toujours farouchement opposé a ce type d'enseignement. On commence par comprendre la structure interne d'un calculateur, sa memoire, son micro, ses peripheriques, ses bus, ses adresses et ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a comprendre. Je n'envisage pas un seul instant de tenter d'enseigner la programmation a des gens qui ne savent pas comment fonctionne un ordinateur. C'est voué a l'echec. Au premier bug du genre 'Stack Overflow' ils sont coincés.
Personnellement, je serais pour l'apprentissage des deux simultanément. Par ailleurs, lorsque c'est un débutant qui pose une question sur usenet, c'est dur de savoir ce qu'il sait de l'architecture interne des ordinateurs ou des systèmes d'exploitation...
D'ailleurs, en respectant les principes sous-jacent ta chronologie, il faudrait étudier en détail le fonctionnement d'un système d'exploitation avant d'étudier la programmation.
On a juste un ensemble de connaissances, certaines sont dépendantes d'autres, d'autres non. S'il est parfaitement sensé d'établir une chronologie pour celles qui le sont, vouloir l'appliquer aussi à celles qui ne le sont pas relève de la psycho-rigidité ;)
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que std::vector<int> tab (2)
Pas selon l'expérience de ceux qui ont testé les deux approches...
(comme quoi c'est toujours la pratique qui tranche, quelque soit la vraisemblance de la théorie).
Chris
"M.B." <mbinder@magicnet.com> a écrit dans le message de
news:bl9h5v$7qp$1@news-reader5.wanadoo.fr...
Je suis me toujours farouchement opposé a ce type d'enseignement.
On commence par comprendre la structure interne d'un calculateur,
sa memoire, son micro, ses peripheriques, ses bus, ses adresses et
ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a
comprendre. Je n'envisage pas un seul instant de tenter d'enseigner
la programmation a des gens qui ne savent pas comment fonctionne
un ordinateur. C'est voué a l'echec. Au premier bug du genre
'Stack Overflow' ils sont coincés.
Personnellement, je serais pour l'apprentissage des deux simultanément. Par
ailleurs, lorsque c'est un débutant qui pose une question sur usenet, c'est
dur de savoir ce qu'il sait de l'architecture interne des ordinateurs ou des
systèmes d'exploitation...
D'ailleurs, en respectant les principes sous-jacent ta chronologie, il
faudrait étudier en détail le fonctionnement d'un système d'exploitation
avant d'étudier la programmation.
On a juste un ensemble de connaissances, certaines sont dépendantes
d'autres, d'autres non. S'il est parfaitement sensé d'établir une
chronologie pour celles qui le sont, vouloir l'appliquer aussi à celles qui
ne le sont pas relève de la psycho-rigidité ;)
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que
std::vector<int> tab (2)
Pas selon l'expérience de ceux qui ont testé les deux approches...
(comme quoi c'est toujours la pratique qui tranche, quelque soit la
vraisemblance de la théorie).
"M.B." a écrit dans le message de news:bl9h5v$7qp$
Je suis me toujours farouchement opposé a ce type d'enseignement. On commence par comprendre la structure interne d'un calculateur, sa memoire, son micro, ses peripheriques, ses bus, ses adresses et ses donnees.
Apres la programmation est beaucoup plus facile et apprendre et a comprendre. Je n'envisage pas un seul instant de tenter d'enseigner la programmation a des gens qui ne savent pas comment fonctionne un ordinateur. C'est voué a l'echec. Au premier bug du genre 'Stack Overflow' ils sont coincés.
Personnellement, je serais pour l'apprentissage des deux simultanément. Par ailleurs, lorsque c'est un débutant qui pose une question sur usenet, c'est dur de savoir ce qu'il sait de l'architecture interne des ordinateurs ou des systèmes d'exploitation...
D'ailleurs, en respectant les principes sous-jacent ta chronologie, il faudrait étudier en détail le fonctionnement d'un système d'exploitation avant d'étudier la programmation.
On a juste un ensemble de connaissances, certaines sont dépendantes d'autres, d'autres non. S'il est parfaitement sensé d'établir une chronologie pour celles qui le sont, vouloir l'appliquer aussi à celles qui ne le sont pas relève de la psycho-rigidité ;)
Dans cette demarche,
int tab[2] est beaucoup plus simple a comprendre que std::vector<int> tab (2)
Pas selon l'expérience de ceux qui ont testé les deux approches...
(comme quoi c'est toujours la pratique qui tranche, quelque soit la vraisemblance de la théorie).