"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,
[...]Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<NXzMb.6253$881.772398@news20.bellglobal.com>...
Dans news:d6652001.0401120000.120325a4@posting.google.com,
[...]
Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,
[...]Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,
[...]Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc on
voudrait l'uniformité. On pense la même chose.
introduit le typage, pour en faire C, ils en ont introduit une autre
sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit pas
de la même façon et c'est légitime), alors pour l'uniformité, en
passant de B à C, c'est surprenant que les deux n'aient pas changé.
Le fait que ANSI C ait corrigé cette uniformité dans le bon sens ou
dans le mauvais, c'est une autre histoire (je suis content qu'on ait
l'uniformité, mais j'aurai préféré l'avoir autrement et ce sens je
crois que je suis d'accord aussi avec Gabriel).
Dans news:d6652001.0401130157.630c664e@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<NXzMb.6253$881.772398@news20.bellglobal.com>...
Dans news:d6652001.0401120000.120325a4@posting.google.com,
[...]
Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc on
voudrait l'uniformité. On pense la même chose.
introduit le typage, pour en faire C, ils en ont introduit une autre
sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit pas
de la même façon et c'est légitime), alors pour l'uniformité, en
passant de B à C, c'est surprenant que les deux n'aient pas changé.
Le fait que ANSI C ait corrigé cette uniformité dans le bon sens ou
dans le mauvais, c'est une autre histoire (je suis content qu'on ait
l'uniformité, mais j'aurai préféré l'avoir autrement et ce sens je
crois que je suis d'accord aussi avec Gabriel).
Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,
[...]Dans la contexte de B, ça se comprend. En revanche, je ne sais pas
pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc on
voudrait l'uniformité. On pense la même chose.
introduit le typage, pour en faire C, ils en ont introduit une autre
sorte. Sauf pour des pointeurs. Permettre pf() n'améliore pas
l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit pas
de la même façon et c'est légitime), alors pour l'uniformité, en
passant de B à C, c'est surprenant que les deux n'aient pas changé.
Le fait que ANSI C ait corrigé cette uniformité dans le bon sens ou
dans le mauvais, c'est une autre histoire (je suis content qu'on ait
l'uniformité, mais j'aurai préféré l'avoir autrement et ce sens je
crois que je suis d'accord aussi avec Gabriel).
"Michel Michaud" wrote in message
news:<CgYMb.10145$...Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore
pas l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit
pas de la même façon et c'est légitime), alors pour l'uniformité,
en passant de B à C, c'est surprenant que les deux n'aient pas
changé.
Non. Cette fois-ci, je suis d'accord ave Gabriel. En C, il n'y a
pas de véritable lien entre les adresses de tableaux et celles de
fonctions. Les seuls liens entre les deux sont historiques -- le
Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<CgYMb.10145$881.1497146@news20.bellglobal.com>...
Dans news:d6652001.0401130157.630c664e@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<NXzMb.6253$881.772398@news20.bellglobal.com>...
Dans news:d6652001.0401120000.120325a4@posting.google.com,
Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore
pas l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit
pas de la même façon et c'est légitime), alors pour l'uniformité,
en passant de B à C, c'est surprenant que les deux n'aient pas
changé.
Non. Cette fois-ci, je suis d'accord ave Gabriel. En C, il n'y a
pas de véritable lien entre les adresses de tableaux et celles de
fonctions. Les seuls liens entre les deux sont historiques -- le
Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
"Michel Michaud" wrote in message
news:<CgYMb.10145$...Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
introduit le typage, pour en faire C, ils en ont introduit une
autre sorte. Sauf pour des pointeurs. Permettre pf() n'améliore
pas l'uniformité -- il crée deux exceptions (deux cas des types de
seconde classe), à la place d'une.
Oui oui, on pourrait avoir eu l'uniformité dans l'autre sens (en
obligeant (*pf)()). Ça aurait été mieux.
Alors je répète, tu penses comme moi : il y a un certain lien entre
les adresses de tableaux et celles des fonctions (Gabriel ne voit
pas de la même façon et c'est légitime), alors pour l'uniformité,
en passant de B à C, c'est surprenant que les deux n'aient pas
changé.
Non. Cette fois-ci, je suis d'accord ave Gabriel. En C, il n'y a
pas de véritable lien entre les adresses de tableaux et celles de
fonctions. Les seuls liens entre les deux sont historiques -- le
Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
Dans news:,"Michel Michaud" wrote in message
news:<CgYMb.10145$...Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
En tout cas. Disons simplement que, uniformité ou pas, les règles de C
et de C++ sont un mystère (en particulier quand on pense aux pointeurs
vers fonction membre vs pointeurs de fonction).
[...]Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
Et la raison pour laquelle certains compilateurs l'acceptaient
n'est-elle pas la même qui auraient permis d'accepter aussi la syntaxe
similaire pour les pointeurs sur fonctions ? À ce que je sache, il n'y
a pas que VC qui l'acceptait (et même s'il n'y avait que VC, c'est un
gros joueur...
considérons le fait que static const int membre= 123; a été accepté
parce que Borland le permettait, si j'ai bien compris...).
Dans news:d6652001.0401132336.67dae261@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<CgYMb.10145$881.1497146@news20.bellglobal.com>...
Dans news:d6652001.0401130157.630c664e@posting.google.com,
"Michel Michaud" <mm@gdzid.com> wrote in message
news:<NXzMb.6253$881.772398@news20.bellglobal.com>...
Dans news:d6652001.0401120000.120325a4@posting.google.com,
Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
En tout cas. Disons simplement que, uniformité ou pas, les règles de C
et de C++ sont un mystère (en particulier quand on pense aux pointeurs
vers fonction membre vs pointeurs de fonction).
[...]
Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
Et la raison pour laquelle certains compilateurs l'acceptaient
n'est-elle pas la même qui auraient permis d'accepter aussi la syntaxe
similaire pour les pointeurs sur fonctions ? À ce que je sache, il n'y
a pas que VC qui l'acceptait (et même s'il n'y avait que VC, c'est un
gros joueur...
considérons le fait que static const int membre= 123; a été accepté
parce que Borland le permettait, si j'ai bien compris...).
Dans news:,"Michel Michaud" wrote in message
news:<CgYMb.10145$...Dans news:,"Michel Michaud" wrote in message
news:<NXzMb.6253$...Dans news:,Dans la contexte de B, ça se comprend. En revanche, je ne sais
pas pourquoi, quand ils ont passé de B en C, ils ont changé les
fonctions, et non les tableaux. Logiquement, avec le typage plus
fort de C, on s'attendrait à ce que les deux changent.
Alors tu penses comme moi, au niveau de l'uniformité.
Non. En B, il y avait une sorte d'uniformité. Quand ils ont
Oui, et en C « on s'attendrait à ce que les deux changent ». Donc
on voudrait l'uniformité. On pense la même chose.
Ce n'est pas tellement une question des deux. Le typage en B est
radicalement différent qu'en C. Ce qui est uniforme en B ne l'est
pas en C, et vice versa.
En tout cas. Disons simplement que, uniformité ou pas, les règles de C
et de C++ sont un mystère (en particulier quand on pense aux pointeurs
vers fonction membre vs pointeurs de fonction).
[...]Le comité ANSI n'a pas cherché à faire un langage nouveau, simple et
élégant. Les buts fixés étaient plutôt pragmatiques. Il y avait
beaucoup de compilateurs qui acceptaient l'extension (sans doute
sous l'influence de B ou de BCPL) et le permettre ne pouvait pas
provoquer des problèmes dans des programmes existants qui ne s'en
servaient pas. Du point de vue pragmatique, donc, la solution la
plus simple était de le permettre.
Et la raison pour laquelle certains compilateurs l'acceptaient
n'est-elle pas la même qui auraient permis d'accepter aussi la syntaxe
similaire pour les pointeurs sur fonctions ? À ce que je sache, il n'y
a pas que VC qui l'acceptait (et même s'il n'y avait que VC, c'est un
gros joueur...
considérons le fait que static const int membre= 123; a été accepté
parce que Borland le permettait, si j'ai bien compris...).