Gabriel Dos Reis typa:writes:
[...]
| Je regrette que tu t'es senti un peu aggressé par mon posting, mais
| j'avoue que s'il y a une chose que je supporte mal, c'est l'idée
| qu'on peut débogguer un programme au coup d'« au hazard ». Si tu
| avais dit qu'il fallait ajouter un volatile, parce que blah, blah,
| blah, avec des raisons, et non simplement « au hazard », j'aurais
| répondu d'une façon bien moins agressive.
Est-ce à dire que tu reconnais que tu as répondu volontairement de
manière agressive, et non pas qu'il s'est « senti un peu agressé par
ton posting » ?
Me suis pas senti agressé en quoi que ce soit, même pas un peu. Je
commence à connaître un peu le style de chacun sur le groupe, et celui
de James me convient. En tous cas bien plus que celui de ... (faut pas
réver, quand même ;-))
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Puisque ce volatile semble avoir fait des petits (des oeufs?), je me
permets une précision sur mes intentions (que je pensais claires): il
ne s'agissait absolument pas de placer un volatile dans le code pour
peut-être le faire fonctionner, mais tout simpement de faire un test.
Le problème (à ce moment-là, pas en fonction de ce que je sais
maintenant): mon truc n'est pas instancié, c'est pour ça que ça marche
pas. Je mets un volatile (et je connais bien mon C++7.1). Ça me prend
10", plus le temps de compilation, plus 10" pour l'enlever. Bonne ou
pas, c'est une méthode peu couteuse.
En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
Gabriel Dos Reis <gdr@integrable-solutions.net> typa:
kanze@gabi-soft.fr writes:
[...]
| Je regrette que tu t'es senti un peu aggressé par mon posting, mais
| j'avoue que s'il y a une chose que je supporte mal, c'est l'idée
| qu'on peut débogguer un programme au coup d'« au hazard ». Si tu
| avais dit qu'il fallait ajouter un volatile, parce que blah, blah,
| blah, avec des raisons, et non simplement « au hazard », j'aurais
| répondu d'une façon bien moins agressive.
Est-ce à dire que tu reconnais que tu as répondu volontairement de
manière agressive, et non pas qu'il s'est « senti un peu agressé par
ton posting » ?
Me suis pas senti agressé en quoi que ce soit, même pas un peu. Je
commence à connaître un peu le style de chacun sur le groupe, et celui
de James me convient. En tous cas bien plus que celui de ... (faut pas
réver, quand même ;-))
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Puisque ce volatile semble avoir fait des petits (des oeufs?), je me
permets une précision sur mes intentions (que je pensais claires): il
ne s'agissait absolument pas de placer un volatile dans le code pour
peut-être le faire fonctionner, mais tout simpement de faire un test.
Le problème (à ce moment-là, pas en fonction de ce que je sais
maintenant): mon truc n'est pas instancié, c'est pour ça que ça marche
pas. Je mets un volatile (et je connais bien mon C++7.1). Ça me prend
10", plus le temps de compilation, plus 10" pour l'enlever. Bonne ou
pas, c'est une méthode peu couteuse.
En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
Gabriel Dos Reis typa:writes:
[...]
| Je regrette que tu t'es senti un peu aggressé par mon posting, mais
| j'avoue que s'il y a une chose que je supporte mal, c'est l'idée
| qu'on peut débogguer un programme au coup d'« au hazard ». Si tu
| avais dit qu'il fallait ajouter un volatile, parce que blah, blah,
| blah, avec des raisons, et non simplement « au hazard », j'aurais
| répondu d'une façon bien moins agressive.
Est-ce à dire que tu reconnais que tu as répondu volontairement de
manière agressive, et non pas qu'il s'est « senti un peu agressé par
ton posting » ?
Me suis pas senti agressé en quoi que ce soit, même pas un peu. Je
commence à connaître un peu le style de chacun sur le groupe, et celui
de James me convient. En tous cas bien plus que celui de ... (faut pas
réver, quand même ;-))
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Puisque ce volatile semble avoir fait des petits (des oeufs?), je me
permets une précision sur mes intentions (que je pensais claires): il
ne s'agissait absolument pas de placer un volatile dans le code pour
peut-être le faire fonctionner, mais tout simpement de faire un test.
Le problème (à ce moment-là, pas en fonction de ce que je sais
maintenant): mon truc n'est pas instancié, c'est pour ça que ça marche
pas. Je mets un volatile (et je connais bien mon C++7.1). Ça me prend
10", plus le temps de compilation, plus 10" pour l'enlever. Bonne ou
pas, c'est une méthode peu couteuse.
En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
writes:
[...]
| Mais le langage le permettait, et du moment que le langage le
| permettait, il faut bien supposer que quelqu'un s'en est servi. Je
| ne sais pas si Stroustrup a réflechi sur la question quand il créait
| le
Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
Voir le passage cité dans ma réponse à Michel.
kanze@gabi-soft.fr writes:
[...]
| Mais le langage le permettait, et du moment que le langage le
| permettait, il faut bien supposer que quelqu'un s'en est servi. Je
| ne sais pas si Stroustrup a réflechi sur la question quand il créait
| le
Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
Voir le passage cité dans ma réponse à Michel.
writes:
[...]
| Mais le langage le permettait, et du moment que le langage le
| permettait, il faut bien supposer que quelqu'un s'en est servi. Je
| ne sais pas si Stroustrup a réflechi sur la question quand il créait
| le
Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
Voir le passage cité dans ma réponse à Michel.
Pierre Maurette wrote
[...]
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Tout à fait. Il y a quand même des choses plus importantes dans la vie.
Et c'était surtout un mauvais jeu de mots aviaire de ma part.
- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
Surtout compte tenu de ce deuxième point, l'ajoute de volatile me
semblait vraiment un coup aléatoire.En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
Ça, c'est un autre thèse. Quand il y a une erreur logique dans un
programme, le fait de démander à quelqu'un d'autre nous exige
d'expliquer clairement exactement ce qu'on est en train de faire. Ce qui
souvent suffit pour qu'on voit l'erreur -- même avant que l'autre a dit
un mot.
Classique. Je ne me souviens pas d'avoir posté ici ou sur fclc à cause
Pierre Maurette <maurette.pierre@free.fr> wrote
[...]
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Tout à fait. Il y a quand même des choses plus importantes dans la vie.
Et c'était surtout un mauvais jeu de mots aviaire de ma part.
- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
Surtout compte tenu de ce deuxième point, l'ajoute de volatile me
semblait vraiment un coup aléatoire.
En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
Ça, c'est un autre thèse. Quand il y a une erreur logique dans un
programme, le fait de démander à quelqu'un d'autre nous exige
d'expliquer clairement exactement ce qu'on est en train de faire. Ce qui
souvent suffit pour qu'on voit l'erreur -- même avant que l'autre a dit
un mot.
Classique. Je ne me souviens pas d'avoir posté ici ou sur fclc à cause
Pierre Maurette wrote
[...]
S'envoyer des noms d'oiseaux à cause d'un malheureux volatile perdu
dans un post serait dommage.
Tout à fait. Il y a quand même des choses plus importantes dans la vie.
Et c'était surtout un mauvais jeu de mots aviaire de ma part.
- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
Surtout compte tenu de ce deuxième point, l'ajoute de volatile me
semblait vraiment un coup aléatoire.En réparation au sens large, quand une panne est un peu sioux (= elle
n'est pas dans le manuel), il arrive très souvent qu'en raisonnant par
inférence, on arrive à prouver que A == !A, ou en d'autres termes
qu'il n'y pas de panne. Combien de fois, en expliquant le blème a un
tiers, ai-je terminé par "et pourtant, ça ne marche pas". (faut jamais
expliquer le problème tel qu'on le voit à un tiers, parce qu'on ne
fait que lui transmettre ses propres paradigmes, perdant l'opportunité
d'une approche fraiche, mais c'est autre chose).
Ça, c'est un autre thèse. Quand il y a une erreur logique dans un
programme, le fait de démander à quelqu'un d'autre nous exige
d'expliquer clairement exactement ce qu'on est en train de faire. Ce qui
souvent suffit pour qu'on voit l'erreur -- même avant que l'autre a dit
un mot.
Classique. Je ne me souviens pas d'avoir posté ici ou sur fclc à cause
Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
experiment which failed ». Ma seule doute, c'était s'il avait fait
une reflexion approfondie sur le cas précis de :
MyClass var() ;
Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
experiment which failed ». Ma seule doute, c'était s'il avait fait
une reflexion approfondie sur le cas précis de :
MyClass var() ;
Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
experiment which failed ». Ma seule doute, c'était s'il avait fait
une reflexion approfondie sur le cas précis de :
MyClass var() ;
typa:Pierre Maurette wrote
[...]- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
kanze@gabi-soft.fr typa:
Pierre Maurette <maurette.pierre@free.fr> wrote
[...]
- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
typa:Pierre Maurette wrote
[...]- d'après mon expérience, si tu compiles sans l'optimisation (en mode
debug avec VC++), volatile est un no-op -- son seul effet est
d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
- d'après mon expérience, si tu compiles sans l'optimisation (en
mode debug avec VC++), volatile est un no-op -- son seul effet
est d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
Il avait un programme qui ne marchait pas. Il n'avait pas dit que ça
marchait en mode debug, et que ça ne marche plus en mode release. Il
est donc forcement en mode debug.
- d'après mon expérience, si tu compiles sans l'optimisation (en
mode debug avec VC++), volatile est un no-op -- son seul effet
est d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
Il avait un programme qui ne marchait pas. Il n'avait pas dit que ça
marchait en mode debug, et que ça ne marche plus en mode release. Il
est donc forcement en mode debug.
- d'après mon expérience, si tu compiles sans l'optimisation (en
mode debug avec VC++), volatile est un no-op -- son seul effet
est d'inhiber certaines optimisations.
C'est comme ça que je voyais les choses. Mais il en est de même pour
un éventuel problème de non-instanciation, on est donc fatalement en
release quand on se pose la question du code généré.
Il avait un programme qui ne marchait pas. Il n'avait pas dit que ça
marchait en mode debug, et que ça ne marche plus en mode release. Il
est donc forcement en mode debug.
writes:
| Gabriel Dos Reis wrote in message
| news:...
| > writes:
| > [...]
| > | Mais le langage le permettait, et du moment que le langage le
| > | permettait, il faut bien supposer que quelqu'un s'en est servi.
| > | Je ne sais pas si Stroustrup a réflechi sur la question quand il
| > | créait le
| > Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
| Je sais qu'il a dû agoniser beaucoup. Faire propre ET rester
| compatible avec C n'est pas toujours évident.
| > Voir le passage cité dans ma réponse à Michel.
| Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
| Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
| experiment which failed ». Ma seule doute, c'était s'il avait fait
| une reflexion approfondie sur le cas précis de :
| MyClass var() ;
| ou s'il tombait simplement dans la généralisation qu'on est obligé à
| vivre avec le syntaxe C, bien ou mal, pour des raisons de
| compatibilité.
Le passage que j'avais cité dans la réponse de Michel répondait à ce
point précis. Comme il l'a indiqué, il y a réfléchi et a même noté que
malgré la spécification de l'époque, le compilateur PCC faisait
n'importe quoi -- c'est écrit dans la texte.
kanze@gabi-soft.fr writes:
| Gabriel Dos Reis <gdr@integrable-solutions.net> wrote in message
| news:<m38ygp1o7l.fsf@uniton.integrable-solutions.net>...
| > kanze@gabi-soft.fr writes:
| > [...]
| > | Mais le langage le permettait, et du moment que le langage le
| > | permettait, il faut bien supposer que quelqu'un s'en est servi.
| > | Je ne sais pas si Stroustrup a réflechi sur la question quand il
| > | créait le
| > Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
| Je sais qu'il a dû agoniser beaucoup. Faire propre ET rester
| compatible avec C n'est pas toujours évident.
| > Voir le passage cité dans ma réponse à Michel.
| Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
| Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
| experiment which failed ». Ma seule doute, c'était s'il avait fait
| une reflexion approfondie sur le cas précis de :
| MyClass var() ;
| ou s'il tombait simplement dans la généralisation qu'on est obligé à
| vivre avec le syntaxe C, bien ou mal, pour des raisons de
| compatibilité.
Le passage que j'avais cité dans la réponse de Michel répondait à ce
point précis. Comme il l'a indiqué, il y a réfléchi et a même noté que
malgré la spécification de l'époque, le compilateur PCC faisait
n'importe quoi -- c'est écrit dans la texte.
writes:
| Gabriel Dos Reis wrote in message
| news:...
| > writes:
| > [...]
| > | Mais le langage le permettait, et du moment que le langage le
| > | permettait, il faut bien supposer que quelqu'un s'en est servi.
| > | Je ne sais pas si Stroustrup a réflechi sur la question quand il
| > | créait le
| > Sûr qu'il y a réfléchi et cela a été l'une de ses agonies.
| Je sais qu'il a dû agoniser beaucoup. Faire propre ET rester
| compatible avec C n'est pas toujours évident.
| > Voir le passage cité dans ma réponse à Michel.
| Je savais qu'il n'aimait pas le syntaxe de déclaration en général.
| Je crois que c'est lui qui a caractèrisé ce syntaxe comme « an
| experiment which failed ». Ma seule doute, c'était s'il avait fait
| une reflexion approfondie sur le cas précis de :
| MyClass var() ;
| ou s'il tombait simplement dans la généralisation qu'on est obligé à
| vivre avec le syntaxe C, bien ou mal, pour des raisons de
| compatibilité.
Le passage que j'avais cité dans la réponse de Michel répondait à ce
point précis. Comme il l'a indiqué, il y a réfléchi et a même noté que
malgré la spécification de l'époque, le compilateur PCC faisait
n'importe quoi -- c'est écrit dans la texte.