James Kanze writes:
| Gabriel Dos Reis writes:
| |> James Kanze writes:
| |> | Gabriel Dos Reis writes:
| |> | |> writes:
| |> | |> [...]
| |> | |> | Et évidemment, quelque soit l'intention à Bell Labs, les
| |> | |> | programmeurs s'en sont servi comme pointeur
| |> | |> | générique. Une fois les conversions implicites entre
| |> | |> | pointeurs supprimées, en faire autre chose qu'un void*
| |> | |> | aurait effectivement cassé pas mal du code.
| |> | |> Pour que l'appel soit « portable », le cast vers char*
| |> | |> était nécessaire. Les gens compétents mettaient le cast.
| |> | Quand ? Et qu'est-ce que ça veut dire, « portable », à cette
| |> | époque-là ?
| |> | Malloc renvoyait un char*. Personne ne mettait un cast sur sa
| |> | valeur de
| |> tu veux dire, personne dans les quatre murs qui font ta chambre
| |> ? Le monde est plus grand que ça, James.
| C'est vrai que je n'ai pas vu tout le code qui n'a jamais été écrit.
| J'imagine quand même que j'en ai vu plus de cet époque que toi. Y
Oh mais je n'en doute pas une seule seconde. N'empêche que les
arguments d'anciens combattants sont spécieux ; et j'ai appris par le
temps a m'en méfier surtout lorsqu'ils viennent de toi. N'y vois
aucune attaque personnelle.
Tu as affirmé que personne ne mettait un cast sur la valeur de cast.
Or je viens juste de montrer qu'au moins les auteurs de The C
Programming Language (parmi lesquels, l'inventeur du langage) le font
et le recommandent.
Non seulement, ils l'ont écrit dans la première version de K&R, mais
ils le réitèrent dans sa seconde version (oµ void* et sa conversion
implicite vers T* existent). Ces gentlemen se souciaient aussi de la
portabilité et le font savoir à qui veut l'entendre -- avec preuves à
l'appui.
Je n'irai pas jusqu'à dire que tu viens de perdre toute crédibilité
(c'est un risque avec les arguments d'anciens combattants) mais au
moins, il devient apparent qu'il y a peu de vérité/réalité dans tes
souvenances ou arguments d'anciens combattants. Et s'il te plaît, ne
vient pas me faire le coup de l'hyperbole -- les blagues les plus
courtes sont les meilleures.
[...]
| Tout ce que je sais, c'est que le cast n'était pas très fréquent
| dans les sources de Unix version 7 que j'ai vu.
Il y a une différence notable entre personne ne mettait le cast et le
cast n'était pas fréquent -- non, ce n'est pas de l'hyperbole.
Tu as aussi par le passé affirmé que tu as appris le C du bouquin de
Kernighan et Ritchie ; alors tu aurais dû savoir que ces gentlemen
mettaient le cast.
| Maintenant, c'est tout à fait possible que la partie qu'a écrit
| Kernighan lui-même les utilisait --
Et Dennis Ritchie aussi, et nombreux de ses collègues aussi.
| dans le noyau (que je présume de Thomson et Richie), il n'y avait
| pas de malloc, pour des raisons évidentes, et je ne sais pas qui a
| écrit quel
Mais pour ce qui nous concerne, ce n'était pas très différent de
alloc() ou calloc().
[...]
| Je sais qu'il y avait une attitude générale parmi une bonne partie
| des programmeurs C (dont certains de AT&T) qui le considérer mauvais
| style. En fait, l'attitude était surtout prévalente chez des
| programmeurs qui avait à faire avec la portabilité. À l'époque, la
Mais Dennis Ritchie et ses collègues payent une attention particulière
à la portabilité.
| déclaration implicite des fonctions était plus ou moin la norme, il
| n'y avait pas encore de <stdlib.h>, et il était trop facile à
| oublier la declaration de malloc. Du coup, le compilateur supposait
| qu'elle renvoyait int.
| Or, les compilateurs dont je me servais à l'époque râlait déjà si on
| affectait un int à un pointeur. En revanche, ils convertissaient
| volentiers char* en n'importe quel autre type de pointeur. Du coup,
| si
Donc, tu penses que tu le monde se résume à tes quatre murs et que ce
que tu n'y fais pas, personne ne fait ?
James Kanze <kanze@gabi-soft.fr> writes:
| Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
| |> James Kanze <kanze@gabi-soft.fr> writes:
| |> | Gabriel Dos Reis <gdr@integrable-solutions.net> writes:
| |> | |> kanze@gabi-soft.fr writes:
| |> | |> [...]
| |> | |> | Et évidemment, quelque soit l'intention à Bell Labs, les
| |> | |> | programmeurs s'en sont servi comme pointeur
| |> | |> | générique. Une fois les conversions implicites entre
| |> | |> | pointeurs supprimées, en faire autre chose qu'un void*
| |> | |> | aurait effectivement cassé pas mal du code.
| |> | |> Pour que l'appel soit « portable », le cast vers char*
| |> | |> était nécessaire. Les gens compétents mettaient le cast.
| |> | Quand ? Et qu'est-ce que ça veut dire, « portable », à cette
| |> | époque-là ?
| |> | Malloc renvoyait un char*. Personne ne mettait un cast sur sa
| |> | valeur de
| |> tu veux dire, personne dans les quatre murs qui font ta chambre
| |> ? Le monde est plus grand que ça, James.
| C'est vrai que je n'ai pas vu tout le code qui n'a jamais été écrit.
| J'imagine quand même que j'en ai vu plus de cet époque que toi. Y
Oh mais je n'en doute pas une seule seconde. N'empêche que les
arguments d'anciens combattants sont spécieux ; et j'ai appris par le
temps a m'en méfier surtout lorsqu'ils viennent de toi. N'y vois
aucune attaque personnelle.
Tu as affirmé que personne ne mettait un cast sur la valeur de cast.
Or je viens juste de montrer qu'au moins les auteurs de The C
Programming Language (parmi lesquels, l'inventeur du langage) le font
et le recommandent.
Non seulement, ils l'ont écrit dans la première version de K&R, mais
ils le réitèrent dans sa seconde version (oµ void* et sa conversion
implicite vers T* existent). Ces gentlemen se souciaient aussi de la
portabilité et le font savoir à qui veut l'entendre -- avec preuves à
l'appui.
Je n'irai pas jusqu'à dire que tu viens de perdre toute crédibilité
(c'est un risque avec les arguments d'anciens combattants) mais au
moins, il devient apparent qu'il y a peu de vérité/réalité dans tes
souvenances ou arguments d'anciens combattants. Et s'il te plaît, ne
vient pas me faire le coup de l'hyperbole -- les blagues les plus
courtes sont les meilleures.
[...]
| Tout ce que je sais, c'est que le cast n'était pas très fréquent
| dans les sources de Unix version 7 que j'ai vu.
Il y a une différence notable entre personne ne mettait le cast et le
cast n'était pas fréquent -- non, ce n'est pas de l'hyperbole.
Tu as aussi par le passé affirmé que tu as appris le C du bouquin de
Kernighan et Ritchie ; alors tu aurais dû savoir que ces gentlemen
mettaient le cast.
| Maintenant, c'est tout à fait possible que la partie qu'a écrit
| Kernighan lui-même les utilisait --
Et Dennis Ritchie aussi, et nombreux de ses collègues aussi.
| dans le noyau (que je présume de Thomson et Richie), il n'y avait
| pas de malloc, pour des raisons évidentes, et je ne sais pas qui a
| écrit quel
Mais pour ce qui nous concerne, ce n'était pas très différent de
alloc() ou calloc().
[...]
| Je sais qu'il y avait une attitude générale parmi une bonne partie
| des programmeurs C (dont certains de AT&T) qui le considérer mauvais
| style. En fait, l'attitude était surtout prévalente chez des
| programmeurs qui avait à faire avec la portabilité. À l'époque, la
Mais Dennis Ritchie et ses collègues payent une attention particulière
à la portabilité.
| déclaration implicite des fonctions était plus ou moin la norme, il
| n'y avait pas encore de <stdlib.h>, et il était trop facile à
| oublier la declaration de malloc. Du coup, le compilateur supposait
| qu'elle renvoyait int.
| Or, les compilateurs dont je me servais à l'époque râlait déjà si on
| affectait un int à un pointeur. En revanche, ils convertissaient
| volentiers char* en n'importe quel autre type de pointeur. Du coup,
| si
Donc, tu penses que tu le monde se résume à tes quatre murs et que ce
que tu n'y fais pas, personne ne fait ?
James Kanze writes:
| Gabriel Dos Reis writes:
| |> James Kanze writes:
| |> | Gabriel Dos Reis writes:
| |> | |> writes:
| |> | |> [...]
| |> | |> | Et évidemment, quelque soit l'intention à Bell Labs, les
| |> | |> | programmeurs s'en sont servi comme pointeur
| |> | |> | générique. Une fois les conversions implicites entre
| |> | |> | pointeurs supprimées, en faire autre chose qu'un void*
| |> | |> | aurait effectivement cassé pas mal du code.
| |> | |> Pour que l'appel soit « portable », le cast vers char*
| |> | |> était nécessaire. Les gens compétents mettaient le cast.
| |> | Quand ? Et qu'est-ce que ça veut dire, « portable », à cette
| |> | époque-là ?
| |> | Malloc renvoyait un char*. Personne ne mettait un cast sur sa
| |> | valeur de
| |> tu veux dire, personne dans les quatre murs qui font ta chambre
| |> ? Le monde est plus grand que ça, James.
| C'est vrai que je n'ai pas vu tout le code qui n'a jamais été écrit.
| J'imagine quand même que j'en ai vu plus de cet époque que toi. Y
Oh mais je n'en doute pas une seule seconde. N'empêche que les
arguments d'anciens combattants sont spécieux ; et j'ai appris par le
temps a m'en méfier surtout lorsqu'ils viennent de toi. N'y vois
aucune attaque personnelle.
Tu as affirmé que personne ne mettait un cast sur la valeur de cast.
Or je viens juste de montrer qu'au moins les auteurs de The C
Programming Language (parmi lesquels, l'inventeur du langage) le font
et le recommandent.
Non seulement, ils l'ont écrit dans la première version de K&R, mais
ils le réitèrent dans sa seconde version (oµ void* et sa conversion
implicite vers T* existent). Ces gentlemen se souciaient aussi de la
portabilité et le font savoir à qui veut l'entendre -- avec preuves à
l'appui.
Je n'irai pas jusqu'à dire que tu viens de perdre toute crédibilité
(c'est un risque avec les arguments d'anciens combattants) mais au
moins, il devient apparent qu'il y a peu de vérité/réalité dans tes
souvenances ou arguments d'anciens combattants. Et s'il te plaît, ne
vient pas me faire le coup de l'hyperbole -- les blagues les plus
courtes sont les meilleures.
[...]
| Tout ce que je sais, c'est que le cast n'était pas très fréquent
| dans les sources de Unix version 7 que j'ai vu.
Il y a une différence notable entre personne ne mettait le cast et le
cast n'était pas fréquent -- non, ce n'est pas de l'hyperbole.
Tu as aussi par le passé affirmé que tu as appris le C du bouquin de
Kernighan et Ritchie ; alors tu aurais dû savoir que ces gentlemen
mettaient le cast.
| Maintenant, c'est tout à fait possible que la partie qu'a écrit
| Kernighan lui-même les utilisait --
Et Dennis Ritchie aussi, et nombreux de ses collègues aussi.
| dans le noyau (que je présume de Thomson et Richie), il n'y avait
| pas de malloc, pour des raisons évidentes, et je ne sais pas qui a
| écrit quel
Mais pour ce qui nous concerne, ce n'était pas très différent de
alloc() ou calloc().
[...]
| Je sais qu'il y avait une attitude générale parmi une bonne partie
| des programmeurs C (dont certains de AT&T) qui le considérer mauvais
| style. En fait, l'attitude était surtout prévalente chez des
| programmeurs qui avait à faire avec la portabilité. À l'époque, la
Mais Dennis Ritchie et ses collègues payent une attention particulière
à la portabilité.
| déclaration implicite des fonctions était plus ou moin la norme, il
| n'y avait pas encore de <stdlib.h>, et il était trop facile à
| oublier la declaration de malloc. Du coup, le compilateur supposait
| qu'elle renvoyait int.
| Or, les compilateurs dont je me servais à l'époque râlait déjà si on
| affectait un int à un pointeur. En revanche, ils convertissaient
| volentiers char* en n'importe quel autre type de pointeur. Du coup,
| si
Donc, tu penses que tu le monde se résume à tes quatre murs et que ce
que tu n'y fais pas, personne ne fait ?
James Kanze writes:
| Malloc renvoyait un char*. Personne ne mettait un cast sur sa valeur de
tu veux dire, personne dans les quatre murs qui font ta chambre ? Le
monde est plus grand que ça, James.
| rétour -- au contraire, déjà alors, les gens compétents évitaient le
| cast parce qu'il masquait des erreurs potentielles.
Je ne sais pas qui t'a appris le C, ni où tu l'as appris.
Mais je n'ose pas imaginer que tu étais parmi ces careless programmers.
Dennis M. Ritchie -- l'inventeur du langage C -- dans son bouquin «
The C Programming Language », aussi connu comme le « White Book » © 1978,
est quand à lui très clair sur le cast de char* vers le type pointer idione.
James Kanze <kanze@gabi-soft.fr> writes:
| Malloc renvoyait un char*. Personne ne mettait un cast sur sa valeur de
tu veux dire, personne dans les quatre murs qui font ta chambre ? Le
monde est plus grand que ça, James.
| rétour -- au contraire, déjà alors, les gens compétents évitaient le
| cast parce qu'il masquait des erreurs potentielles.
Je ne sais pas qui t'a appris le C, ni où tu l'as appris.
Mais je n'ose pas imaginer que tu étais parmi ces careless programmers.
Dennis M. Ritchie -- l'inventeur du langage C -- dans son bouquin «
The C Programming Language », aussi connu comme le « White Book » © 1978,
est quand à lui très clair sur le cast de char* vers le type pointer idione.
James Kanze writes:
| Malloc renvoyait un char*. Personne ne mettait un cast sur sa valeur de
tu veux dire, personne dans les quatre murs qui font ta chambre ? Le
monde est plus grand que ça, James.
| rétour -- au contraire, déjà alors, les gens compétents évitaient le
| cast parce qu'il masquait des erreurs potentielles.
Je ne sais pas qui t'a appris le C, ni où tu l'as appris.
Mais je n'ose pas imaginer que tu étais parmi ces careless programmers.
Dennis M. Ritchie -- l'inventeur du langage C -- dans son bouquin «
The C Programming Language », aussi connu comme le « White Book » © 1978,
est quand à lui très clair sur le cast de char* vers le type pointer idione.