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

Avis sur les includes files

59 réponses
Avatar
Gégé
Salut,

Dans mon projet, j'ai cr=E9e un global.h qui contient tous les includes
des librairies annexes que j'utilise.
Du coup je mets ce global.h dans l'ent=EAte de mes classes ( qui
n'utilisent pas n=E9cessairement toutes les librairies =E0 la fois ).

Question : Est-ce qu'il vaut mieux mettre les #include au cas par cas
dans chaque header de les classes ? ( Et pourquoi ? )

Merci
G

ma principale motivation =E9tait de ne pas copier / coller des tonnes de
#include dans chaque .h

10 réponses

2 3 4 5 6
Avatar
Michael DOUBEZ
Wykaaa wrote:
Pascal J. Bourguignon a écrit :
Wykaaa writes:

Marc Boyer a écrit :
On 2009-02-02, Marc Espie wrote:
In article ,
Marc Boyer wrote:
Ce qui suppose de savoir comment va se dérouler
la suite de la vie de ce code, ce qui est raisonnable
si on sait qu'on va jeter le code à la fin du TP,
un peu moins si on envisage que ce code soit utilisé
pour de vrai, maintenu, ré-utilisé, adapté...


Euh, mauvaise logique, changer de logique.


Je pense que tu as mal compris mon propos.

Si tu autorises les gens a prendre des habitudes differentes "parce
que
c'est juste un TP", tu les formes a faire du code qui marchera mal.


Je n'autorise pas ce genre de chose. Simplement, quand tu énonces
une règles "genre, les variables partagées, c'est mal", et que les
étudiants voient dans leur pratique (TP) qu'en fait, ça leur
simplifie la vie (ce qui est vrai), il faut expliquer la différence
de contexte.
Un étudiant a souvent du mal à réaliser que ce qu'il prend
pour un gros projet (5000 LOC, 240h de travail) ne représente
pas grand chose au niveau industriel, et que les règles qu'on
présente sont là pour gérer des problèmes qui ne se posent
pas sur d'aussi petit projets.
Marc Boyer


C'est toute la difficulté de l'apprentissage de la programmation.

Pour la raison que tu énonces à la fin, il est nécessaire de leur
apprendre à BIEN programmer dès le début même si ça "les embête" (et
le prof avec...). C'est pour le bien de leur carrière de futur
développeur !



C'est idiot. C'est avec des principes comme ça qu'on arrive avec des
générations entières ne sachant ni lire ni écrire en sixième. Quand
on écrit "b, a, b, a, ba, baba", ce n'est du français correct ni
syntaxiquement, ni gramaticalement, ni sémantiquement. Et pourtant,
si on ne le fait pas, on ne saura jamais lire et écrire en français.

De même quand on fait des gammes au piano, ça n'a rien d'une oeuvre
magistrale. Et pourtant il faut le faire pour ensuite être capable de
jouer Chopin.

Alors en TP de programmation, je m'attends à ce qu'on apprenne et
qu'on fasse des exercices de programmations avec des bouts de code qui
seraient totalement déplacés dans un projet professionnel, mais qui
enseigne un point important pour devenir un programmeur professionnel
au bout de quelques années.




Je ne suis absolument pas d'accord, mais vraiment pas du tout, avec vous
car ce que l'on constate c'est que les débutants, quand ils sont "lâchés
dans la nature", reproduisent les premiers exemples qu'ils ont eu sous
les yeux.



Le problème est peut être le fait de les *lâcher dans la nature*
justement mais le fait que cela ne s'enseigne pas. Le professeur peut
tout juste donner les bases et aider en appréciation de ce que
l'étudiant fait.

Pour filer la métaphore de Pascal J. Bourguignon, il y a un monde entre
apprendre à lire et lire un français littéraire. Les professeurs de
littératures ne peuvent pas apprendre la littérature à leurs élèves, il
peuvent tout au plus leur décrypter certains livre; à la charge ensuite
de l'étudiant de développer sa sensibilité.

Si ces exemples ne sont pas ce qu'on peut attendre d'un
programmeur professionnel, ce sera la catastrophe à moins que le
débutant ne se trouve dans un "environnement riche" avec un encadrement
au top (ce qui est de plus en plus rare de nos jours).
Je persiste à penser qu'il n'est pas plus dur de donner des exemples
professionnels dès le début.



Un programme professionnel est normalement plus facile à lire donc je
suis d'accord. Mais si cela se fait au dépend de la lisibilité, je ne
pense pas.

Pour revenir au using namespace std;, je comprends que ça puisse rendre
les choses plus clair dans un header. Maintenant, l'étudiant doit savoir
qu'il ne peut le faire que dans un cadre didactique et pas dans un
environnement pro.

Un des absolus de la qualité n'est-il pas,
d'ailleurs, de "le faire bien dès la première fois".



C'est la traduction de "right first time" qui est décliné dans les faits
en "the measurement of quality is the price of non-conformance" i.e. la
qualité doit se mesurer par le coût de la qualité donc le coût de ce qui
n'est pas conforme dès le début.

Je ne vois pas en quoi cela s'applique ici, un TP a typiquement une
durée de vie très courte et ce que les étudiants en retiennent est
idéalement l'objectif du TP, pas la façon de programmer dans un langage
spécifique.

Ce qui n'empêchait pas mes professeurs, en soutenance de tester la
qualité de nos programmes pour les projets; mais les projets n'avaient
pas le temps limité d'un TP.

--
Michael
Avatar
pjb
(Marc Espie) writes:

In article ,
Pascal J. Bourguignon wrote:
C'est idiot. C'est avec des principes comme ça qu'on arrive avec des
générations entières ne sachant ni lire ni écrire en sixième. Quand
on écrit "b, a, b, a, ba, baba", ce n'est du français correct ni
syntaxiquement, ni gramaticalement, ni sémantiquement. Et pourtant,
si on ne le fait pas, on ne saura jamais lire et écrire en français.

De même quand on fait des gammes au piano, ça n'a rien d'une oeuvre
magistrale. Et pourtant il faut le faire pour ensuite être capable de
jouer Chopin.

Alors en TP de programmation, je m'attends à ce qu'on apprenne et
qu'on fasse des exercices de programmations avec des bouts de code qui
seraient totalement déplacés dans un projet professionnel, mais qui
enseigne un point important pour devenir un programmeur professionnel
au bout de quelques années.



Faut quand meme rappeler le contexte, hein. On parlait du bien-fonde
d'utiliser
using namespace std;
au top-level (et dans un fichier d'entete, de surcroit).

Le seul point que ca peut illustrer, c'est toutes les merdouilles qu'on
va se prendre avec de telles pratiques.

A proscrire absolument.



Oui, si on regarde les points specifiques.

D'ailleurs, en général, on utilise rarement "using namespace", le
plus souvent on qualifie complètement tous les symboles.


Un peu comme quand j'enseigne le C. Je ne parle que peu du preprocesseur,
et dans des contextes bien definis. Style,
#define TAILLE 1024
(necessaire en C, je le rappelle, puisque const int taille24; ne fonctionne
pas).

Je leur dis qu'il existe des choses qui s'appellent des macros, que c'est
super-dangereux, et qu'ils n'ont aucune raison de s'en servir...



Tu devrais être plus nuancé et plus spécifique. Le système de macros
du préprocesseur du C fonctionnant par substitution _textuelle_ est en
effet dangereux, et à éviter dans la mesure du possible. Mais il y a
des systèmes de macros dans d'autres langages qui n'ont pas ce
problème est qui sont aussi peu problématique que n'importe quel autre
élément du langage, et peuvent donc être utilisées à bon escient par
tout programmeur compétent. (Oui, je pense aux macros de Lisp et
Scheme).

... avant tres tard, parce que c'est nocif avant le polymorphisme, et en C
moderne, on a inline de toutes facons.

Bref... fin de digression.



--
__Pascal Bourguignon__
Avatar
Wykaaa
Michael DOUBEZ a écrit :
Wykaaa wrote:
Pascal J. Bourguignon a écrit :
Wykaaa writes:

Marc Boyer a écrit :
On 2009-02-02, Marc Espie wrote:
In article ,
Marc Boyer wrote:
Ce qui suppose de savoir comment va se dérouler
la suite de la vie de ce code, ce qui est raisonnable
si on sait qu'on va jeter le code à la fin du TP,
un peu moins si on envisage que ce code soit utilisé
pour de vrai, maintenu, ré-utilisé, adapté...


Euh, mauvaise logique, changer de logique.


Je pense que tu as mal compris mon propos.

Si tu autorises les gens a prendre des habitudes differentes
"parce que
c'est juste un TP", tu les formes a faire du code qui marchera mal.


Je n'autorise pas ce genre de chose. Simplement, quand tu énonces
une règles "genre, les variables partagées, c'est mal", et que les
étudiants voient dans leur pratique (TP) qu'en fait, ça leur
simplifie la vie (ce qui est vrai), il faut expliquer la différence
de contexte.
Un étudiant a souvent du mal à réaliser que ce qu'il prend
pour un gros projet (5000 LOC, 240h de travail) ne représente
pas grand chose au niveau industriel, et que les règles qu'on
présente sont là pour gérer des problèmes qui ne se posent
pas sur d'aussi petit projets.
Marc Boyer


C'est toute la difficulté de l'apprentissage de la programmation.

Pour la raison que tu énonces à la fin, il est nécessaire de leur
apprendre à BIEN programmer dès le début même si ça "les embête" (et
le prof avec...). C'est pour le bien de leur carrière de futur
développeur !



C'est idiot. C'est avec des principes comme ça qu'on arrive avec des
générations entières ne sachant ni lire ni écrire en sixième. Quand
on écrit "b, a, b, a, ba, baba", ce n'est du français correct ni
syntaxiquement, ni gramaticalement, ni sémantiquement. Et pourtant,
si on ne le fait pas, on ne saura jamais lire et écrire en français.

De même quand on fait des gammes au piano, ça n'a rien d'une oeuvre
magistrale. Et pourtant il faut le faire pour ensuite être capable de
jouer Chopin.

Alors en TP de programmation, je m'attends à ce qu'on apprenne et
qu'on fasse des exercices de programmations avec des bouts de code qui
seraient totalement déplacés dans un projet professionnel, mais qui
enseigne un point important pour devenir un programmeur professionnel
au bout de quelques années.




Je ne suis absolument pas d'accord, mais vraiment pas du tout, avec
vous car ce que l'on constate c'est que les débutants, quand ils sont
"lâchés dans la nature", reproduisent les premiers exemples qu'ils ont
eu sous les yeux.



Le problème est peut être le fait de les *lâcher dans la nature*
justement mais le fait que cela ne s'enseigne pas. Le professeur peut
tout juste donner les bases et aider en appréciation de ce que
l'étudiant fait.



Non, le rôle du professeur ne se limite pas à donner "tout juste les
bases" comme vous dites, surtout en programmation. Il ne peut éviter de
parler de la pratique du langage (comment il DOIT se pratiquer)

Pour filer la métaphore de Pascal J. Bourguignon, il y a un monde entre
apprendre à lire et lire un français littéraire. Les professeurs de
littératures ne peuvent pas apprendre la littérature à leurs élèves, il
peuvent tout au plus leur décrypter certains livre; à la charge ensuite
de l'étudiant de développer sa sensibilité.



C'est la même chose. C'est pour ça que même en sortant du bac, de plus
en plus d'élèves annonent les textes. C'est désastreux !

Si ces exemples ne sont pas ce qu'on peut attendre d'un programmeur
professionnel, ce sera la catastrophe à moins que le débutant ne se
trouve dans un "environnement riche" avec un encadrement au top (ce
qui est de plus en plus rare de nos jours).
Je persiste à penser qu'il n'est pas plus dur de donner des exemples
professionnels dès le début.



Un programme professionnel est normalement plus facile à lire donc je
suis d'accord. Mais si cela se fait au dépend de la lisibilité, je ne
pense pas.



La lisibilité est aussi un critère chez les professionnels, donc il ne
devrait pas y avoir de problème ;-)

Pour revenir au using namespace std;, je comprends que ça puisse rendre
les choses plus clair dans un header. Maintenant, l'étudiant doit savoir
qu'il ne peut le faire que dans un cadre didactique et pas dans un
environnement pro.



Ben du coup à quoi ça sert de le montrer si l'étudiant sait que dans la
VRAIE vie de développeur cette façon de faire est bannie ?
Il vaut mieux montrer d'emblée la bonne pratique !

Un des absolus de la qualité n'est-il pas, d'ailleurs, de "le faire
bien dès la première fois".



C'est la traduction de "right first time" qui est décliné dans les faits
en "the measurement of quality is the price of non-conformance" i.e. la
qualité doit se mesurer par le coût de la qualité donc le coût de ce qui
n'est pas conforme dès le début.

Je ne vois pas en quoi cela s'applique ici, un TP a typiquement une
durée de vie très courte et ce que les étudiants en retiennent est
idéalement l'objectif du TP, pas la façon de programmer dans un langage
spécifique.



Hélas la future carrière des étudiants ne sera pas courte, elle !

Raisonner par objectif pour chaque TP émiette la vision globale que
peuvent avoir les étudiants sur la pratique d'un langage. Je suis
absolument contre des objectifs totalement "locaux" à chaque TP. Ou
alors, il faut ajouter à chaque TP la dimension qualité qui n'est
finalement que les bonnes pratiques du langage.

J'ai été formateur d'entreprise pendant 12 ans et je donnais des cours
langages (C, C++, ADA, Java principalement).
Je dois dire que, la plupart du temps, j'étais catastrophé par le niveau
de programmation de ces soi-disants professionnels. Ceci était vrai
surtout dans les cours C++ où il n'était pas rare que des participants
se vantent de leur longue pratique du langage C. Dès le premier TP,
j'étais effectivement édifié sur "leur pratique" de programmation.

Je n'ai pas tenu de statistiques précises mais mon expérience de
formateur d'adultes pour des gens sachant déjà programmer dans au moins
un autre langage est que environ 90% des développeurs ne programment pas
au niveau de qualité requis par les applications de la vraie vie...

Ce qui n'empêchait pas mes professeurs, en soutenance de tester la
qualité de nos programmes pour les projets; mais les projets n'avaient
pas le temps limité d'un TP.



Jesuis d'accord qu'on peut "corriger le tir" lors des projets mais cela
n'empêche pas le prof de ne montrer que des bonnes pratiques même
pendant des TP de courte durée.
Avatar
espie
In article ,
Pascal J. Bourguignon wrote:
Je leur dis qu'il existe des choses qui s'appellent des macros, que c'est
super-dangereux, et qu'ils n'ont aucune raison de s'en servir...



Tu devrais être plus nuancé et plus spécifique. Le système de macros
du préprocesseur du C fonctionnant par substitution _textuelle_ est en
effet dangereux, et à éviter dans la mesure du possible. Mais il y a
des systèmes de macros dans d'autres langages qui n'ont pas ce
problème est qui sont aussi peu problématique que n'importe quel autre
élément du langage, et peuvent donc être utilisées à bon escient par
tout programmeur compétent. (Oui, je pense aux macros de Lisp et
Scheme).



Tiens, ca faisait longtemps que tu n'avais pas essaye de nous vendre du lisp.

Ben non, je n'ai pas besoin d'etre nuance, parce que je parle d'un mecanisme
tres specifique dans le cadre d'un cours en particulier, c'est-a-dire les
macros du preprocesseur C. Ca n'est vraiment pas le moment d'essayer de
generaliser a d'autres langages.

Deja que quand je leur parle de portee lexicale et de problemes de capture,
en general, ca fait bloub bloub au fond de la piscine...
Avatar
espie
In article <4989af4b$0$4057$,
Wykaaa wrote:
Non, le rôle du professeur ne se limite pas à donner "tout juste les
bases" comme vous dites, surtout en programmation. Il ne peut éviter de
parler de la pratique du langage (comment il DOIT se pratiquer)



Je vais etre tres mauvaise langue, mais j'ai vu suffisamment de charges
de TD occupes a faire des cours de C montrer de super-mauvaises pratiques
pour ne pas avoir envie de faire pareil (exemple: des bouts de code utilisant
gets! ou des bouts de code utilisant scanf sans verification de la valeur de
retour).
Avatar
Wykaaa
Marc Espie a écrit :
In article <4989af4b$0$4057$,
Wykaaa wrote:
Non, le rôle du professeur ne se limite pas à donner "tout juste les
bases" comme vous dites, surtout en programmation. Il ne peut éviter de
parler de la pratique du langage (comment il DOIT se pratiquer)



Je vais etre tres mauvaise langue, mais j'ai vu suffisamment de charges
de TD occupes a faire des cours de C montrer de super-mauvaises pratiques
pour ne pas avoir envie de faire pareil (exemple: des bouts de code utilisant
gets! ou des bouts de code utilisant scanf sans verification de la valeur de
retour).



Hélas ! C'est cela que j'essaie de dénoncer.

Un autre exemple : combien j'ai vu d'étudiants fraîchement émoulus de la
fac ou d'une grande école, incapables d'établir correctement les
dépendances en C++ d'une dizaine de .h et autant de .cpp et n'avoir
toujours pas compris la différence entre une déclaration et une
définition d'externe...

Je trouve cela vraiment triste !
Avatar
Wykaaa
Marc Espie a écrit :
In article ,
Pascal J. Bourguignon wrote:
Je leur dis qu'il existe des choses qui s'appellent des macros, que c'est
super-dangereux, et qu'ils n'ont aucune raison de s'en servir...


Tu devrais être plus nuancé et plus spécifique. Le système de macros
du préprocesseur du C fonctionnant par substitution _textuelle_ est en
effet dangereux, et à éviter dans la mesure du possible. Mais il y a
des systèmes de macros dans d'autres langages qui n'ont pas ce
problème est qui sont aussi peu problématique que n'importe quel autre
élément du langage, et peuvent donc être utilisées à bon escient par
tout programmeur compétent. (Oui, je pense aux macros de Lisp et
Scheme).



Tiens, ca faisait longtemps que tu n'avais pas essaye de nous vendre du lisp.

Ben non, je n'ai pas besoin d'etre nuance, parce que je parle d'un mecanisme
tres specifique dans le cadre d'un cours en particulier, c'est-a-dire les
macros du preprocesseur C. Ca n'est vraiment pas le moment d'essayer de
generaliser a d'autres langages.

Deja que quand je leur parle de portee lexicale et de problemes de capture,
en general, ca fait bloub bloub au fond de la piscine...



Ah bon. Parce qu'en plus tu as une piscine ;-)

Il est clair que les sujets que tu évoques ne passionnent pas, en
général, les foules d'étudiants... et pour les autres, c'est à peu près
pareil !

Mais cependant ça fait partie des choses fondamentales dont il faut
absolument parler.
Avatar
Michael DOUBEZ
Wykaaa wrote:
Marc Espie a écrit :
In article <4989af4b$0$4057$,
Wykaaa wrote:
Non, le rôle du professeur ne se limite pas à donner "tout juste les
bases" comme vous dites, surtout en programmation. Il ne peut éviter
de parler de la pratique du langage (comment il DOIT se pratiquer)



Je vais etre tres mauvaise langue, mais j'ai vu suffisamment de charges
de TD occupes a faire des cours de C montrer de super-mauvaises pratiques
pour ne pas avoir envie de faire pareil (exemple: des bouts de code
utilisant
gets! ou des bouts de code utilisant scanf sans verification de la
valeur de
retour).



Un autre exemple : combien j'ai vu d'étudiants fraîchement émoulus de la
fac ou d'une grande école, incapables d'établir correctement les
dépendances en C++ d'une dizaine de .h et autant de .cpp et n'avoir
toujours pas compris la différence entre une déclaration et une
définition d'externe...

Je trouve cela vraiment triste !



Sans vouloir déprécier ton ressenti, j'entends tellement de plaintes de
ce genre que:
1. soit il y à un problème d'éducation
2. soit la génération baisse
3. soit les attentes des pros sont trop haute

Concernant le point 1, j'ai eu des professeurs qui faisaient des erreurs
flagrantes de code mais ce n'était pas le sujet du cours alors on
passait. La question est de savoir si on forme des programmeurs ou des
ingénieurs:
- si on forme des programmeurs alors je suis d'accord qu'il faut
mettre l'accent sur la bonne utilisation du langage.
- si on forme des ingénieurs alors c'est à eux d'avoir la démarche de
maitriser leurs outils.

Ce qui nous ramène au point 2; ce qui est possible: je vois beaucoup de
jeunes pour qui l'informatique est un travail comme un autre. Dans ma
génération c'était encore une histoire de passion ou de réelle envie de
faire de l'informatique. Alors peut être y a-t-il une adaptation à faire
de la part des enseignants pour adresser ce type d'élève; je ne sais pas.

Concernant le point 3, c'est à la discrétion de chacun. Je me demande,
vu la multiplicité des technologies aujourd'hui si il est normal d'avoir
les même attentes sur un domaine particulier.

Pour revenir au sujet originel, je suis d'accord qu'il vaut mieux
montrer à l'élève la bonne pratique dès le début et qu'un TP ne doit pas
saborder cet objectif à la restriction que cela ne brouille pas le
message: je ne vois pas l'intérêt de faire écrire std:: ou
boost::bidule::subtruc:: à tout bout de champ si cela ne sers pas
l'objectif pédagogique du TP.

--
Michael
Avatar
pjb
(Marc Espie) writes:

In article ,
Pascal J. Bourguignon wrote:
Je leur dis qu'il existe des choses qui s'appellent des macros, que c'est
super-dangereux, et qu'ils n'ont aucune raison de s'en servir...



Tu devrais être plus nuancé et plus spécifique. Le système de macros
du préprocesseur du C fonctionnant par substitution _textuelle_ est en
effet dangereux, et à éviter dans la mesure du possible. Mais il y a
des systèmes de macros dans d'autres langages qui n'ont pas ce
problème est qui sont aussi peu problématique que n'importe quel autre
élément du langage, et peuvent donc être utilisées à bon escient par
tout programmeur compétent. (Oui, je pense aux macros de Lisp et
Scheme).



Tiens, ca faisait longtemps que tu n'avais pas essaye de nous vendre du lisp.

Ben non, je n'ai pas besoin d'etre nuance, parce que je parle d'un mecanisme
tres specifique dans le cadre d'un cours en particulier, c'est-a-dire les
macros du preprocesseur C. Ca n'est vraiment pas le moment d'essayer de
generaliser a d'autres langages.



Je crois que si, il faudrait. Car les gens ne retiennent que "macro mauvais" alors que ce n'est vrai que dans le seul cas de C.

On devrait dire:

"les macros sont trés bonne technique mais à ne jamais utiliser en C".

Deja que quand je leur parle de portee lexicale et de problemes de capture,
en general, ca fait bloub bloub au fond de la piscine...



:-(

--
__Pascal Bourguignon__
Avatar
Wykaaa
Michael DOUBEZ a écrit :
Wykaaa wrote:
Marc Espie a écrit :
In article <4989af4b$0$4057$,
Wykaaa wrote:
Non, le rôle du professeur ne se limite pas à donner "tout juste les
bases" comme vous dites, surtout en programmation. Il ne peut éviter
de parler de la pratique du langage (comment il DOIT se pratiquer)



Je vais etre tres mauvaise langue, mais j'ai vu suffisamment de charges
de TD occupes a faire des cours de C montrer de super-mauvaises
pratiques
pour ne pas avoir envie de faire pareil (exemple: des bouts de code
utilisant
gets! ou des bouts de code utilisant scanf sans verification de la
valeur de
retour).



Un autre exemple : combien j'ai vu d'étudiants fraîchement émoulus de
la fac ou d'une grande école, incapables d'établir correctement les
dépendances en C++ d'une dizaine de .h et autant de .cpp et n'avoir
toujours pas compris la différence entre une déclaration et une
définition d'externe...

Je trouve cela vraiment triste !



Sans vouloir déprécier ton ressenti, j'entends tellement de plaintes de
ce genre que:
1. soit il y à un problème d'éducation
2. soit la génération baisse
3. soit les attentes des pros sont trop haute

Concernant le point 1, j'ai eu des professeurs qui faisaient des erreurs
flagrantes de code mais ce n'était pas le sujet du cours alors on
passait. La question est de savoir si on forme des programmeurs ou des
ingénieurs:
- si on forme des programmeurs alors je suis d'accord qu'il faut
mettre l'accent sur la bonne utilisation du langage.
- si on forme des ingénieurs alors c'est à eux d'avoir la démarche de
maitriser leurs outils.



Il n'y a pas de raison de distinguer ces 2 populations quand on fait un
cours langage. Apprendre un langage c'est apprendre son lexique, sa
syntaxe, sa sémantique et son bon usage (la pragmatique) car faire ce
que tu dis c'est surestimer les ingénieurs. Du coup, et c'est un comble,
ils programmeront moins bien qu'un simple programmeur.
Il y a des domaines qui requièrent que les programmeurs soient des
ingénieurs, la programmation d'un système d'exploitation par exemple.
Chez Bull pour GCOS7, chez Chorus pour le système du même nom, quasiment
tous les programmeurs étaient des ingénieurs.

Ce qui nous ramène au point 2; ce qui est possible: je vois beaucoup de
jeunes pour qui l'informatique est un travail comme un autre. Dans ma
génération c'était encore une histoire de passion ou de réelle envie de
faire de l'informatique. Alors peut être y a-t-il une adaptation à faire
de la part des enseignants pour adresser ce type d'élève; je ne sais pas.



Je suis d'accord qu'il n'y a plus le côté "passionné" car l'informatique
n'est plus quelque chose de "nouveau" pour la génération actuelle. Elle
est "née avec" alors que pour nous ce n'était pas le cas.
D'ailleurs lors d'une évaluation d'un de mes cours (j'ai fait des
formations d'adultes en entreprise : conception objet, C, C++, Java,
Ada, JavaScript, etc.), un (jeune) participant avait mis en remarque :
"trop passionné". Ceci m'avait choqué car pour moi c'était une qualité...

Concernant le point 3, c'est à la discrétion de chacun. Je me demande,
vu la multiplicité des technologies aujourd'hui si il est normal d'avoir
les même attentes sur un domaine particulier.



On ne peut pas raisonner en disant "les attentes des pros sont trop
hautes". Leurs attentes, on s'en fiche. C'est chaque application qui a
ses exigences. Si on fait un logiciel pour le pilotage d'une centrale
nucléaire, le niveau d'exigence qualité ne va pas être le même que si on
fait un logiciel de facturation... (ce sont les fameux "cost drivers" du
modèle d'estimation de coût des logiciels de Barry Boehm).
En résumé, ce ne sont pas les pros qui ont des exigences trop hautes, ce
sont les applications, en fonction de leur caractéristiques, qui
requièrent certains types d'exigences.

Pour revenir au sujet originel, je suis d'accord qu'il vaut mieux
montrer à l'élève la bonne pratique dès le début et qu'un TP ne doit pas
saborder cet objectif à la restriction que cela ne brouille pas le
message: je ne vois pas l'intérêt de faire écrire std:: ou
boost::bidule::subtruc:: à tout bout de champ si cela ne sers pas
l'objectif pédagogique du TP.



Oui mais si ça sert l'objectif qualité ou l'objectif de "c'est comme ça
qu'on doit faire dans ce cas précis" ?
2 3 4 5 6