J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je passer
par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?
Arnaud ARZUFFI wrote in message news:<btd2li$3mk$...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on exprime avec un for pourrait s'exprimer fort bien avec un while.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Arnaud ARZUFFI <arzuffi@emi.u-bordeaux.fr> wrote in message
news:<btd2li$3mk$1@news.u-bordeaux.fr>...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée
des objets "valeurs", des références et des pointeurs sur objets
plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs
uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on
exprime avec un for pourrait s'exprimer fort bien avec un while.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
Arnaud ARZUFFI wrote in message news:<btd2li$3mk$...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on exprime avec un for pourrait s'exprimer fort bien avec un while.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
M. B.
"Stéphane OUTHIER" a écrit dans le message de news: 3ff9cad0$0$6972$
Bonjour tous le monde,
J'aurai besoin des lumières des âmes charitables. j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation. Ma question est la suivante: -Peut on commencer directement par l'apprentissage du C++, ou dois-je passer
par un autre langage avant (tel que le C). -Est il possible d'apprendre depuis des ouvrages traitant du sujet, de manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?
Par avance, je vous remercie des vos réponse.
Pourquoi ne pas commencer a faire joujou avec des choses simples comme le tandem (HTML + javascript).
Ca permet de faire de jolies choses tres rapidement, sans outils ni compilateurs, avec une litterature tres abondante.
Viendra ensuite la programmation orientee objet, le C++, etc ...
MB
"Stéphane OUTHIER" <outhiers@club-internet.fr> a écrit dans le message de
news: 3ff9cad0$0$6972$7a628cd7@news.club-internet.fr...
Bonjour tous le monde,
J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le
C++.
Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je
passer
par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques
ou
les plus adaptés pour un autodidacte?
Par avance, je vous remercie des vos réponse.
Pourquoi ne pas commencer a faire joujou avec des choses simples
comme le tandem (HTML + javascript).
Ca permet de faire de jolies choses tres rapidement, sans outils
ni compilateurs, avec une litterature tres abondante.
Viendra ensuite la programmation orientee objet, le C++, etc ...
"Stéphane OUTHIER" a écrit dans le message de news: 3ff9cad0$0$6972$
Bonjour tous le monde,
J'aurai besoin des lumières des âmes charitables. j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation. Ma question est la suivante: -Peut on commencer directement par l'apprentissage du C++, ou dois-je passer
par un autre langage avant (tel que le C). -Est il possible d'apprendre depuis des ouvrages traitant du sujet, de manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?
Par avance, je vous remercie des vos réponse.
Pourquoi ne pas commencer a faire joujou avec des choses simples comme le tandem (HTML + javascript).
Ca permet de faire de jolies choses tres rapidement, sans outils ni compilateurs, avec une litterature tres abondante.
Viendra ensuite la programmation orientee objet, le C++, etc ...
MB
Michel Michaud
Dans news:btcpu1$858$, Loïc
Stéphane OUTHIER wrote:
J'aurai besoin des lumières des âmes charitables. j'aimerais apprendre un langage de programmation, et en particulier le C++. Mais je connais très peu de choses en programmation. Ma question est la suivante: -Peut on commencer directement par l'apprentissage du C++, Oui, mais ce n'est peut-être pas le langage idéal pour commencer la
programmation. Un langage de script et peut-être plus immédiat. Les gens citent souvant python.
Un langage bien typé est d'après moi bien plus important que « l'immédiat ». D'ailleurs avec un compilateur et une machine modernes et rapides, et un environnement de développement intégré, la plupart des langages de programmation seront plus immédiats à l'utilisation, qu'un langage de script...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:btcpu1$858$1@news-reader4.wanadoo.fr, Loïc
Stéphane OUTHIER wrote:
J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en
particulier le C++. Mais je connais très peu de choses en
programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++,
Oui, mais ce n'est peut-être pas le langage idéal pour commencer la
programmation. Un langage de script et peut-être plus immédiat. Les
gens citent souvant python.
Un langage bien typé est d'après moi bien plus important que
« l'immédiat ». D'ailleurs avec un compilateur et une machine
modernes et rapides, et un environnement de développement
intégré, la plupart des langages de programmation seront plus
immédiats à l'utilisation, qu'un langage de script...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
J'aurai besoin des lumières des âmes charitables. j'aimerais apprendre un langage de programmation, et en particulier le C++. Mais je connais très peu de choses en programmation. Ma question est la suivante: -Peut on commencer directement par l'apprentissage du C++, Oui, mais ce n'est peut-être pas le langage idéal pour commencer la
programmation. Un langage de script et peut-être plus immédiat. Les gens citent souvant python.
Un langage bien typé est d'après moi bien plus important que « l'immédiat ». D'ailleurs avec un compilateur et une machine modernes et rapides, et un environnement de développement intégré, la plupart des langages de programmation seront plus immédiats à l'utilisation, qu'un langage de script...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Alexandre
a écrit dans le message de news:
Arnaud ARZUFFI wrote in message news:<btd2li$3mk$...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on exprime avec un for pourrait s'exprimer fort bien avec un while.
Oui, et puis aussi quelle idée d'avoir bool puisqu'un "int" convient ? et puis, pourquoi avoir std::list et std::deque ? etc...
<kanze@gabi-soft.fr> a écrit dans le message de
news:d6652001.0401060613.36414599@posting.google.com...
Arnaud ARZUFFI <arzuffi@emi.u-bordeaux.fr> wrote in message
news:<btd2li$3mk$1@news.u-bordeaux.fr>...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée
des objets "valeurs", des références et des pointeurs sur objets
plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs
uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on
exprime avec un for pourrait s'exprimer fort bien avec un while.
Oui, et puis aussi quelle idée d'avoir bool puisqu'un "int" convient ?
et puis, pourquoi avoir std::list et std::deque ? etc...
Arnaud ARZUFFI wrote in message news:<btd2li$3mk$...
[...]
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Tu veux dire qu'on aurais pû faire comme Java, avec des pointeurs uniquement ?
On aurait pû aussi se passer de for, dans la mesure que tout ce qu'on exprime avec un for pourrait s'exprimer fort bien avec un while.
Oui, et puis aussi quelle idée d'avoir bool puisqu'un "int" convient ? et puis, pourquoi avoir std::list et std::deque ? etc...
Michel Michaud
Dans news:btd2li$3mk$, Arnaud
Les langages "agréables" pour débuter sont, par exemple, Python ou Java (Je mentionne Java par démagogie, parce que le langage est assez élégant, mais je trouve l'API épouvantable).
Tu peux me donner un exemple de programme simple, qui pourrait être fait par un débutant, et qui sera plus élégant en Java qu'en C++ ? Je manque peut-être d'imagination après plus de vingt ans d'enseignement de la programmation, mais les premiers programmes que mes élèves ont toujours faits ressemblaient à l'équivalent du pseudo-code suivant :
ÉCRIRE "Donnez la largeur et la longueur de votre terrain : " LIRE largeur, longueur surface= largeur * longueur ÉCRIRE "Surface calculée du terrain : ", surface
En C++, c'est assez simple et direct, je dirais même que c'est quasiment élégant... En Java, hum...
L'apprentissage du langage C++ se révélera plus difficile, parce que, à cause de son héritage du langage C, sa syntaxe est très souple, et une grande rigueur est nécessaire pour programmer "proprement" ; le langage C++ est aussi extrêmement riche, parfois en choses inutiles ou redondantes (si quelqu'un pouvait m'expliquer
Il ne faut effectivement pas essayer de tout apprendre de C++ en même temps. Mais ce n'est pas un problème, c'est normal.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:btd2li$3mk$1@news.u-bordeaux.fr, Arnaud
Les langages "agréables" pour débuter sont, par exemple, Python ou
Java (Je mentionne Java par démagogie, parce que le langage est
assez élégant, mais je trouve l'API épouvantable).
Tu peux me donner un exemple de programme simple, qui pourrait
être fait par un débutant, et qui sera plus élégant en Java
qu'en C++ ? Je manque peut-être d'imagination après plus de
vingt ans d'enseignement de la programmation, mais les premiers
programmes que mes élèves ont toujours faits ressemblaient à
l'équivalent du pseudo-code suivant :
ÉCRIRE "Donnez la largeur et la longueur de votre terrain : "
LIRE largeur, longueur
surface= largeur * longueur
ÉCRIRE "Surface calculée du terrain : ", surface
En C++, c'est assez simple et direct, je dirais même que c'est
quasiment élégant... En Java, hum...
L'apprentissage du langage C++ se révélera plus difficile, parce
que, à cause de son héritage du langage C, sa syntaxe est très
souple, et une grande rigueur est nécessaire pour programmer
"proprement" ; le langage C++ est aussi extrêmement riche, parfois
en choses inutiles ou redondantes (si quelqu'un pouvait m'expliquer
Il ne faut effectivement pas essayer de tout apprendre de C++ en
même temps. Mais ce n'est pas un problème, c'est normal.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Les langages "agréables" pour débuter sont, par exemple, Python ou Java (Je mentionne Java par démagogie, parce que le langage est assez élégant, mais je trouve l'API épouvantable).
Tu peux me donner un exemple de programme simple, qui pourrait être fait par un débutant, et qui sera plus élégant en Java qu'en C++ ? Je manque peut-être d'imagination après plus de vingt ans d'enseignement de la programmation, mais les premiers programmes que mes élèves ont toujours faits ressemblaient à l'équivalent du pseudo-code suivant :
ÉCRIRE "Donnez la largeur et la longueur de votre terrain : " LIRE largeur, longueur surface= largeur * longueur ÉCRIRE "Surface calculée du terrain : ", surface
En C++, c'est assez simple et direct, je dirais même que c'est quasiment élégant... En Java, hum...
L'apprentissage du langage C++ se révélera plus difficile, parce que, à cause de son héritage du langage C, sa syntaxe est très souple, et une grande rigueur est nécessaire pour programmer "proprement" ; le langage C++ est aussi extrêmement riche, parfois en choses inutiles ou redondantes (si quelqu'un pouvait m'expliquer
Il ne faut effectivement pas essayer de tout apprendre de C++ en même temps. Mais ce n'est pas un problème, c'est normal.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michel Michaud
Dans news:btdq15$mvl$,
Personnellement, j'ai commencé l'apprentissage du C++ cette année. J'ai fait l'acquisition d'un livre que je trouve très bien fait : "Programmer en C++" édition Schaum's, auteur JR Hubbard.
Peut-être y a-t-il une version récente et améliorée, mais d'après la critique, tu n'auras pas appris exactement ce qu'il faut avec ce livre...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:btdq15$mvl$1@news-reader1.wanadoo.fr,
Personnellement, j'ai commencé l'apprentissage du C++ cette année.
J'ai fait l'acquisition d'un livre que je trouve très bien fait :
"Programmer en C++" édition Schaum's, auteur JR Hubbard.
Personnellement, j'ai commencé l'apprentissage du C++ cette année. J'ai fait l'acquisition d'un livre que je trouve très bien fait : "Programmer en C++" édition Schaum's, auteur JR Hubbard.
Peut-être y a-t-il une version récente et améliorée, mais d'après la critique, tu n'auras pas appris exactement ce qu'il faut avec ce livre...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Alexandre
Les langages "agréables" pour débuter sont, par exemple, Python ou Java (Je
mentionne Java par démagogie, parce que le langage est assez élégant, mais je trouve l'API épouvantable).
Oui, et puis si on a du mal à comprendre la POO, c'est pas l'idéal, Java ;-)
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Objets valeurs : essentiels pour travailler "bas niveau". Et puis, passer un bool par référence constante c'est plus lourd ;-) Objets références : pratiques pour éviter de passer un pointeur sur un paramètre out, pratique pour éviter des copies, etc... Objets pointeurs : est-ce utile de préciser l'interet des pointeurs ?
Le langage C++ ne comporte pas d'API standard pour interface graphique dans sa spécification et les API de collections comme la STL sont souvent d'une lourdeur syntaxique... surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10); est bcp mieux que int V[10]; alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir compris la notion d'espace de noms, de paramètre de type, de constructeur...
Et maintenant, surprise ! Après l'énumération de tous ces défauts, j'affirme
que le langage C++ (que je trouve pas parfait, comme tous les langages), est mon langage de programmation préféré, que j'utilise quotidiennement ! Oui, moi aussi ;-) (normal sur ce forum)
Les langages "agréables" pour débuter sont, par exemple, Python ou Java
(Je
mentionne Java par démagogie, parce que le langage est assez élégant, mais
je trouve l'API épouvantable).
Oui, et puis si on a du mal à comprendre la POO, c'est pas l'idéal, Java ;-)
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des
objets "valeurs", des références et des pointeurs sur objets plutôt que
seulement des références ?).
Objets valeurs : essentiels pour travailler "bas niveau". Et puis, passer un
bool par référence constante c'est plus lourd ;-)
Objets références : pratiques pour éviter de passer un pointeur sur un
paramètre out, pratique pour éviter des copies, etc...
Objets pointeurs : est-ce utile de préciser l'interet des pointeurs ?
Le langage C++ ne comporte pas d'API standard
pour interface graphique dans sa spécification et les API de collections
comme la STL sont souvent d'une lourdeur syntaxique...
surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10);
est bcp mieux que
int V[10];
alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir compris la
notion d'espace de noms, de paramètre de type, de constructeur...
Et maintenant, surprise ! Après l'énumération de tous ces défauts,
j'affirme
que le langage C++ (que je trouve pas parfait, comme tous les langages),
est mon langage de programmation préféré, que j'utilise quotidiennement !
Oui, moi aussi ;-) (normal sur ce forum)
Les langages "agréables" pour débuter sont, par exemple, Python ou Java (Je
mentionne Java par démagogie, parce que le langage est assez élégant, mais je trouve l'API épouvantable).
Oui, et puis si on a du mal à comprendre la POO, c'est pas l'idéal, Java ;-)
(si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des objets "valeurs", des références et des pointeurs sur objets plutôt que seulement des références ?).
Objets valeurs : essentiels pour travailler "bas niveau". Et puis, passer un bool par référence constante c'est plus lourd ;-) Objets références : pratiques pour éviter de passer un pointeur sur un paramètre out, pratique pour éviter des copies, etc... Objets pointeurs : est-ce utile de préciser l'interet des pointeurs ?
Le langage C++ ne comporte pas d'API standard pour interface graphique dans sa spécification et les API de collections comme la STL sont souvent d'une lourdeur syntaxique... surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10); est bcp mieux que int V[10]; alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir compris la notion d'espace de noms, de paramètre de type, de constructeur...
Et maintenant, surprise ! Après l'énumération de tous ces défauts, j'affirme
que le langage C++ (que je trouve pas parfait, comme tous les langages), est mon langage de programmation préféré, que j'utilise quotidiennement ! Oui, moi aussi ;-) (normal sur ce forum)
Michel Michaud
Dans news:, Fabien LE
On Tue, 6 Jan 2004 08:56:03 +0100, "Christophe" wrote:
OK : l'apprentissage d'un premier langage sans possibilités de présentations écran (sauf séquentielles) me parait extrèmement décourageant.
Franchement, l'apprentissage du C++ comme premier langage risque d'être passablement décourageant...
Ce n'est pas mon expérience... Il est vrai que j'utilise C++ comme premier VRAI langage, mais que j'utilise du pseudo-code non compilé pour montrer les bases. Et le passage au C++ est alors plutôt stimulant...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:68alvv40vlcpdkqe4c0r8cvni5rerkgt78@4ax.com, Fabien LE
On Tue, 6 Jan 2004 08:56:03 +0100, "Christophe"
<chrschneider@free.fr> wrote:
OK : l'apprentissage d'un premier langage sans possibilités de
présentations écran (sauf séquentielles)
me parait extrèmement décourageant.
Franchement, l'apprentissage du C++ comme premier langage risque
d'être passablement décourageant...
Ce n'est pas mon expérience... Il est vrai que j'utilise C++
comme premier VRAI langage, mais que j'utilise du pseudo-code
non compilé pour montrer les bases. Et le passage au C++ est
alors plutôt stimulant...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
On Tue, 6 Jan 2004 08:56:03 +0100, "Christophe" wrote:
OK : l'apprentissage d'un premier langage sans possibilités de présentations écran (sauf séquentielles) me parait extrèmement décourageant.
Franchement, l'apprentissage du C++ comme premier langage risque d'être passablement décourageant...
Ce n'est pas mon expérience... Il est vrai que j'utilise C++ comme premier VRAI langage, mais que j'utilise du pseudo-code non compilé pour montrer les bases. Et le passage au C++ est alors plutôt stimulant...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michel Michaud
Dans news:3ffb0ff4$0$7160$,
Le langage C++ ne comporte pas d'API standard pour interface graphique dans sa spécification et les API de collections comme la STL sont souvent d'une lourdeur syntaxique... surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10); est bcp mieux que int V[10]; alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir compris la notion d'espace de noms, de paramètre de type, de constructeur...
Très souvent, il ne s'agit pas de faire peu avec presque rien, mais de faire assez avec un peu :-) Soyons sérieux : dans combien de programmes réels, as-tu jamais écrit int V[10]; ? Et même là, je parie que tu avais d'autres variables pour garder le nombre d'éléments réellement actifs, etc.
Alors je reprends ton argument : difficile à expliquer à quelqu'un que le passage de paramètre des tableaux (de base) n'est pas comme les autres paramètres, que la taille du tableau n'est ni variable ni connue à partir de la variable, qu'on peut utiliser un autre système si on veut un tableau de taille variable, que les indices ne sont pas vérifiés, ...
Pour te rassurer, je t'assure que je n'ai pas plus de problèmes dans l'enseignement des vecteurs, depuis que je montre les vector. Au contraire, c'est plus simple pour tous les programmes qui sont faits par la suite. (En plus, en mode DEBUG operator[] fait un at qui vérifie les indices... fort utile !)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:3ffb0ff4$0$7160$626a54ce@news.free.fr,
Le langage C++ ne comporte pas d'API standard
pour interface graphique dans sa spécification et les API de
collections comme la STL sont souvent d'une lourdeur syntaxique...
surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10);
est bcp mieux que
int V[10];
alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir
compris la notion d'espace de noms, de paramètre de type, de
constructeur...
Très souvent, il ne s'agit pas de faire peu avec presque rien,
mais de faire assez avec un peu :-) Soyons sérieux : dans combien
de programmes réels, as-tu jamais écrit int V[10]; ? Et même là,
je parie que tu avais d'autres variables pour garder le nombre
d'éléments réellement actifs, etc.
Alors je reprends ton argument : difficile à expliquer à quelqu'un
que le passage de paramètre des tableaux (de base) n'est pas comme
les autres paramètres, que la taille du tableau n'est ni variable
ni connue à partir de la variable, qu'on peut utiliser un autre
système si on veut un tableau de taille variable, que les indices
ne sont pas vérifiés, ...
Pour te rassurer, je t'assure que je n'ai pas plus de problèmes
dans l'enseignement des vecteurs, depuis que je montre les vector.
Au contraire, c'est plus simple pour tous les programmes qui sont
faits par la suite. (En plus, en mode DEBUG operator[] fait un
at qui vérifie les indices... fort utile !)
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Le langage C++ ne comporte pas d'API standard pour interface graphique dans sa spécification et les API de collections comme la STL sont souvent d'une lourdeur syntaxique... surtout pour un débutant !!! Difficile d'expliquer à qqn que
std::vector<int> V(10); est bcp mieux que int V[10]; alors que syntaxiquement c'est pas clair, qu'il faut déjà avoir compris la notion d'espace de noms, de paramètre de type, de constructeur...
Très souvent, il ne s'agit pas de faire peu avec presque rien, mais de faire assez avec un peu :-) Soyons sérieux : dans combien de programmes réels, as-tu jamais écrit int V[10]; ? Et même là, je parie que tu avais d'autres variables pour garder le nombre d'éléments réellement actifs, etc.
Alors je reprends ton argument : difficile à expliquer à quelqu'un que le passage de paramètre des tableaux (de base) n'est pas comme les autres paramètres, que la taille du tableau n'est ni variable ni connue à partir de la variable, qu'on peut utiliser un autre système si on veut un tableau de taille variable, que les indices ne sont pas vérifiés, ...
Pour te rassurer, je t'assure que je n'ai pas plus de problèmes dans l'enseignement des vecteurs, depuis que je montre les vector. Au contraire, c'est plus simple pour tous les programmes qui sont faits par la suite. (En plus, en mode DEBUG operator[] fait un at qui vérifie les indices... fort utile !)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/