"Michel Michaud" writes:
| (dans le cas de void, c'était nouveau d'où l'invention, dans
| l'autre, il faudrait trouver le « rationale », il me semble qu'il
| existe pour ISO C, à moi que tu connaisses la raison de cette
| invention ?)
« void » est une invention de BS (surtout pour C with Classes) et
quand il a fait la proposition au comité ANSI, il a bine pris garde de
ne pas inclure le trou void* -> T*. Cependant, le comité ANSI n'a pas
resisté devant l'invention.
En ce qui concerne l'omision de « * » -- qui n'est pas valide en C K+R
-- le comité ANSI a probablement aussi inventé une raison pour cette
invention ; mais je ne saurais te dire exactement quoi à part supiter
« certains programmeurs C trouvent cela plus simple à écrire ».
| >> En fait, tiens, est-ce qu'il y a un problème réel à permettre
| >> l'autre syntaxe, ou est-ce qu'on veut simplement choisir pour le
| >> programmeur comment il peut faire les choses ?
| > je ne sais pas. Je n'ai jamais poussé la réflexion au delà de la
| > simple curiosité du d« tiens, ce n'est pas permis ».
| La règle K&R originale est bien intéressante historiquement, mais
| ANSI/ISO C existait bien avant ISO C++.
oui mais, je ne crois pas que cette invention était quelque chose qui
ait fait unanimité dans la communauté C++ -- surtout chez ceux qui
sont attachés à la notion de type.
"Michel Michaud" <mm@gdzid.com> writes:
| (dans le cas de void, c'était nouveau d'où l'invention, dans
| l'autre, il faudrait trouver le « rationale », il me semble qu'il
| existe pour ISO C, à moi que tu connaisses la raison de cette
| invention ?)
« void » est une invention de BS (surtout pour C with Classes) et
quand il a fait la proposition au comité ANSI, il a bine pris garde de
ne pas inclure le trou void* -> T*. Cependant, le comité ANSI n'a pas
resisté devant l'invention.
En ce qui concerne l'omision de « * » -- qui n'est pas valide en C K+R
-- le comité ANSI a probablement aussi inventé une raison pour cette
invention ; mais je ne saurais te dire exactement quoi à part supiter
« certains programmeurs C trouvent cela plus simple à écrire ».
| >> En fait, tiens, est-ce qu'il y a un problème réel à permettre
| >> l'autre syntaxe, ou est-ce qu'on veut simplement choisir pour le
| >> programmeur comment il peut faire les choses ?
| > je ne sais pas. Je n'ai jamais poussé la réflexion au delà de la
| > simple curiosité du d« tiens, ce n'est pas permis ».
| La règle K&R originale est bien intéressante historiquement, mais
| ANSI/ISO C existait bien avant ISO C++.
oui mais, je ne crois pas que cette invention était quelque chose qui
ait fait unanimité dans la communauté C++ -- surtout chez ceux qui
sont attachés à la notion de type.
"Michel Michaud" writes:
| (dans le cas de void, c'était nouveau d'où l'invention, dans
| l'autre, il faudrait trouver le « rationale », il me semble qu'il
| existe pour ISO C, à moi que tu connaisses la raison de cette
| invention ?)
« void » est une invention de BS (surtout pour C with Classes) et
quand il a fait la proposition au comité ANSI, il a bine pris garde de
ne pas inclure le trou void* -> T*. Cependant, le comité ANSI n'a pas
resisté devant l'invention.
En ce qui concerne l'omision de « * » -- qui n'est pas valide en C K+R
-- le comité ANSI a probablement aussi inventé une raison pour cette
invention ; mais je ne saurais te dire exactement quoi à part supiter
« certains programmeurs C trouvent cela plus simple à écrire ».
| >> En fait, tiens, est-ce qu'il y a un problème réel à permettre
| >> l'autre syntaxe, ou est-ce qu'on veut simplement choisir pour le
| >> programmeur comment il peut faire les choses ?
| > je ne sais pas. Je n'ai jamais poussé la réflexion au delà de la
| > simple curiosité du d« tiens, ce n'est pas permis ».
| La règle K&R originale est bien intéressante historiquement, mais
| ANSI/ISO C existait bien avant ISO C++.
oui mais, je ne crois pas que cette invention était quelque chose qui
ait fait unanimité dans la communauté C++ -- surtout chez ceux qui
sont attachés à la notion de type.
"Pierre Maurette" <mmaauurreettttttee.ppiieerrrree@@ffrreeee.ffrr>
writes:
| "Gabriel Dos Reis" a écrit dans le
| message de news:
| > writes:
| > | Ce n'est pas une raison. J'ai écrit de l'assembleur pendant au
| > | moins dix ans avant de passer aux langages évolués.
| > Tu comptes le C comme de l'assembleur ou comme un langage évolué.
| Peut-on définir un langage évolué comme un langage dans lequel le
| code objet généré est entièrement prévisible ? C'est l'idée que je
| m'en fais, sans grande conviction.
Oh, dans ce thread, James a fait part d'une expérience personnelle --
qui est ce que j'ai citée.
Je voulais l'intégrer avec les autres parts dont j'ai connaissance,
soit parce qu'il les dites publiquement, soit parce qu'il me les a
dites. Et cela n'arrivait pas a rentrer correctement, alors je voulais
savoir, ce que je pouvais virer, ajouter, comprimer ou elargir.
Je n'avais nullement l'intention de me lancer dans un debat de
definition de langage evolué. Juste ce qu'il entendait par langage
evolué suffisait pour moi pour faire face au puzzle que j'avais.
"Pierre Maurette" <mmaauurreettttttee.ppiieerrrree@@ffrreeee.ffrr>
writes:
| "Gabriel Dos Reis" <gdr@integrable-solutions.net> a écrit dans le
| message de news: m3brpii44t.fsf@uniton.integrable-solutions.net...
| > kanze@gabi-soft.fr writes:
| > | Ce n'est pas une raison. J'ai écrit de l'assembleur pendant au
| > | moins dix ans avant de passer aux langages évolués.
| > Tu comptes le C comme de l'assembleur ou comme un langage évolué.
| Peut-on définir un langage évolué comme un langage dans lequel le
| code objet généré est entièrement prévisible ? C'est l'idée que je
| m'en fais, sans grande conviction.
Oh, dans ce thread, James a fait part d'une expérience personnelle --
qui est ce que j'ai citée.
Je voulais l'intégrer avec les autres parts dont j'ai connaissance,
soit parce qu'il les dites publiquement, soit parce qu'il me les a
dites. Et cela n'arrivait pas a rentrer correctement, alors je voulais
savoir, ce que je pouvais virer, ajouter, comprimer ou elargir.
Je n'avais nullement l'intention de me lancer dans un debat de
definition de langage evolué. Juste ce qu'il entendait par langage
evolué suffisait pour moi pour faire face au puzzle que j'avais.
"Pierre Maurette" <mmaauurreettttttee.ppiieerrrree@@ffrreeee.ffrr>
writes:
| "Gabriel Dos Reis" a écrit dans le
| message de news:
| > writes:
| > | Ce n'est pas une raison. J'ai écrit de l'assembleur pendant au
| > | moins dix ans avant de passer aux langages évolués.
| > Tu comptes le C comme de l'assembleur ou comme un langage évolué.
| Peut-on définir un langage évolué comme un langage dans lequel le
| code objet généré est entièrement prévisible ? C'est l'idée que je
| m'en fais, sans grande conviction.
Oh, dans ce thread, James a fait part d'une expérience personnelle --
qui est ce que j'ai citée.
Je voulais l'intégrer avec les autres parts dont j'ai connaissance,
soit parce qu'il les dites publiquement, soit parce qu'il me les a
dites. Et cela n'arrivait pas a rentrer correctement, alors je voulais
savoir, ce que je pouvais virer, ajouter, comprimer ou elargir.
Je n'avais nullement l'intention de me lancer dans un debat de
definition de langage evolué. Juste ce qu'il entendait par langage
evolué suffisait pour moi pour faire face au puzzle que j'avais.
writes:
[...]
| D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
| Pointers to functions may be used either as (*pf)() or as pf().
| The latter construct, not sanctioned in the Base Document,
| appears in some present versions of C, is unambiguous,
| invalidates no old code, and can be an important shorthand. The
| shorthand is useful for
[...]
| En ce qui concerne la motivation de base, je suis prèsque sûr que
| l'extention était assez répandue -- je m'en souviens de son
| existance
Pas dans le compilateur de Dennis Ritchie, ni dans CFront (ou ses
ancêtres) quand l'invention a été introduite. :-)
| bien avant C90, et j'avoue avoir été étonné quand Gaby a dit qu'elle
| n'était pas dans K&R 1.
Ben, dans la passage que tu cites, il est bien marqué que cela n'était
pas autorisé dans le « Base document » -- qui dérivait de C K+R.
[...]
| > oui mais, je ne crois pas que cette invention était quelque chose
| > qui ait fait unanimité dans la communauté C++ -- surtout chez ceux
| > qui sont attachés à la notion de type.
| Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
| non plus. Le problème, c'est que c'était une pratique existante avec
| certains compilateurs.
« le problème » ? Quel problème ?
Certainement, il y a plain d'autres trucs dans « certains » autres
compilateurs...
kanze@gabi-soft.fr writes:
[...]
| D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
| Pointers to functions may be used either as (*pf)() or as pf().
| The latter construct, not sanctioned in the Base Document,
| appears in some present versions of C, is unambiguous,
| invalidates no old code, and can be an important shorthand. The
| shorthand is useful for
[...]
| En ce qui concerne la motivation de base, je suis prèsque sûr que
| l'extention était assez répandue -- je m'en souviens de son
| existance
Pas dans le compilateur de Dennis Ritchie, ni dans CFront (ou ses
ancêtres) quand l'invention a été introduite. :-)
| bien avant C90, et j'avoue avoir été étonné quand Gaby a dit qu'elle
| n'était pas dans K&R 1.
Ben, dans la passage que tu cites, il est bien marqué que cela n'était
pas autorisé dans le « Base document » -- qui dérivait de C K+R.
[...]
| > oui mais, je ne crois pas que cette invention était quelque chose
| > qui ait fait unanimité dans la communauté C++ -- surtout chez ceux
| > qui sont attachés à la notion de type.
| Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
| non plus. Le problème, c'est que c'était une pratique existante avec
| certains compilateurs.
« le problème » ? Quel problème ?
Certainement, il y a plain d'autres trucs dans « certains » autres
compilateurs...
writes:
[...]
| D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
| Pointers to functions may be used either as (*pf)() or as pf().
| The latter construct, not sanctioned in the Base Document,
| appears in some present versions of C, is unambiguous,
| invalidates no old code, and can be an important shorthand. The
| shorthand is useful for
[...]
| En ce qui concerne la motivation de base, je suis prèsque sûr que
| l'extention était assez répandue -- je m'en souviens de son
| existance
Pas dans le compilateur de Dennis Ritchie, ni dans CFront (ou ses
ancêtres) quand l'invention a été introduite. :-)
| bien avant C90, et j'avoue avoir été étonné quand Gaby a dit qu'elle
| n'était pas dans K&R 1.
Ben, dans la passage que tu cites, il est bien marqué que cela n'était
pas autorisé dans le « Base document » -- qui dérivait de C K+R.
[...]
| > oui mais, je ne crois pas que cette invention était quelque chose
| > qui ait fait unanimité dans la communauté C++ -- surtout chez ceux
| > qui sont attachés à la notion de type.
| Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
| non plus. Le problème, c'est que c'était une pratique existante avec
| certains compilateurs.
« le problème » ? Quel problème ?
Certainement, il y a plain d'autres trucs dans « certains » autres
compilateurs...
D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
On remarque que même pour le comité C, la forme usuelle (ou
« conventionnelle »), c'est (*pf)().
En ce qui concerne la motivation de base, je suis prèsque sûr que
l'extention était assez répandue -- je m'en souviens de son
existance bien avant C90, et j'avoue avoir été étonné quand Gaby a
dit qu'elle n'était pas dans K&R 1.
Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
non plus. Le problème, c'est que c'était une pratique existante avec
certains compilateurs.
D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
On remarque que même pour le comité C, la forme usuelle (ou
« conventionnelle »), c'est (*pf)().
En ce qui concerne la motivation de base, je suis prèsque sûr que
l'extention était assez répandue -- je m'en souviens de son
existance bien avant C90, et j'avoue avoir été étonné quand Gaby a
dit qu'elle n'était pas dans K&R 1.
Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
non plus. Le problème, c'est que c'était une pratique existante avec
certains compilateurs.
D'après la rationnale (http://www.lysator.liu.se/c/rat/title.html) :
On remarque que même pour le comité C, la forme usuelle (ou
« conventionnelle »), c'est (*pf)().
En ce qui concerne la motivation de base, je suis prèsque sûr que
l'extention était assez répandue -- je m'en souviens de son
existance bien avant C90, et j'avoue avoir été étonné quand Gaby a
dit qu'elle n'était pas dans K&R 1.
Je ne crois pas qu'elle ait fait l'unanimité dans la communauté C
non plus. Le problème, c'est que c'était une pratique existante avec
certains compilateurs.
"Michel Michaud" writes:Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???
"Michel Michaud" <mm@gdzid.com> writes:
Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???
"Michel Michaud" writes:Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???
"Michel Michaud" writes:Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???
"Michel Michaud" <mm@gdzid.com> writes:
Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???
"Michel Michaud" writes:Je n'ai fait du C pré-ANSI que pendant 6-7 ans, mais il me semble
bien que mon compilateur acceptait pf() quand j'ai commencé à en
faire usage. Était-ce un compilateur ANSI C ou simplement une
possibilité offerte par mon compilateur, je ne sais pas...
J'utilisais static_cast<> avant que la norme C++ ne soit publiée en
1998...
C'est curieux, je trouve l'analogie avec les tableaux fallacieuse.
En fait, si j'avais Ritchie devant moi, je lui demanderais
pourquoi, dans son langage original, on peut écrire v pour
&v[0] au lieu d'exiger & comme pour les fonctions... La
solution ANSI me semble plus uniforme.
???