Ça dépend. Il existe un type double. Je m'en passe dans mes
applications, et je ne trouve pas ça bizarre ; il s'avère que mes
applications n'utilisent pas l'abstraction que double implémente.
Ce qui importe, ce n'est pas le nom, mais ce qui est derrière.
Ça dépend. Il existe un type double. Je m'en passe dans mes
applications, et je ne trouve pas ça bizarre ; il s'avère que mes
applications n'utilisent pas l'abstraction que double implémente.
Ce qui importe, ce n'est pas le nom, mais ce qui est derrière.
Ça dépend. Il existe un type double. Je m'en passe dans mes
applications, et je ne trouve pas ça bizarre ; il s'avère que mes
applications n'utilisent pas l'abstraction que double implémente.
Ce qui importe, ce n'est pas le nom, mais ce qui est derrière.
"Alain Naigeon" writes:
[...]
| Ce n'est certainement pas une raison, à mes yeux, pour
| violer grossièrement le bon sens en permettant que le
| type d'un nombre d'habitants puisse être négatif.
Quel est le type de 180000, en C ou C++ ?
| L'idée
| de bricoler des gardes-fous par des tests à l'exécution
| n'est qu'un pis aller, vraiment pas séduisante quand il
| existe un type qui colle avec le domaine de définition
| de ce qu'on veut représenter.
| Un nombre d'habitants est, par nature, non signé. Je
Ce n'est pas à un physicien que je vais dire cela, mais je crois tu
confonds implicitement un nombre avec unité avec simplemennt un
nombre. Il n'y a pas de nombre avec unité en C ou C++. Tu peux
introduire une classe en C++, si tu veux.
| choisis donc le type "unsigned int", qui signifie, si je
| ne m'abuse : "non signé". Donc, si quelque chose
| cloche par après, c'est la faute du langage, pas la
| mienne !
Non, c'est le tien : la syntaxe des types n'est pass tout.
Avec ton raisonnement, un débutnt qui pense qu'il a un calcul complexe
à faire sur le nombre d'habitant d'une ville devrait utiliser
complex<unsigned>.
| (en plus, ce n'est pas en me disant que ça vient du C
| qu'on va me convaincre, mais alors là pas du tout ;
que tu le veilles ou non, la compatibilité avec le C est un facteur
majeur. Stroustrup savait comment inventer un très beau langage
incompatible avec C. Beaucoup de gens ont fait/font ça, ils écrivent des
papiers académiques, puis ils en inventent d'autres, puis ils
vont faire autre chose.
[...]
| focntions, et par nostalgie je vais même l'appeler
| "this", pourquoi pas, hein ? :-) )
Et tu ne serais pas le premier. J'en connais plein qui vont ça tous
les jours :-)
-- Gaby
"Alain Naigeon" <anaigeon@free.fr> writes:
[...]
| Ce n'est certainement pas une raison, à mes yeux, pour
| violer grossièrement le bon sens en permettant que le
| type d'un nombre d'habitants puisse être négatif.
Quel est le type de 180000, en C ou C++ ?
| L'idée
| de bricoler des gardes-fous par des tests à l'exécution
| n'est qu'un pis aller, vraiment pas séduisante quand il
| existe un type qui colle avec le domaine de définition
| de ce qu'on veut représenter.
| Un nombre d'habitants est, par nature, non signé. Je
Ce n'est pas à un physicien que je vais dire cela, mais je crois tu
confonds implicitement un nombre avec unité avec simplemennt un
nombre. Il n'y a pas de nombre avec unité en C ou C++. Tu peux
introduire une classe en C++, si tu veux.
| choisis donc le type "unsigned int", qui signifie, si je
| ne m'abuse : "non signé". Donc, si quelque chose
| cloche par après, c'est la faute du langage, pas la
| mienne !
Non, c'est le tien : la syntaxe des types n'est pass tout.
Avec ton raisonnement, un débutnt qui pense qu'il a un calcul complexe
à faire sur le nombre d'habitant d'une ville devrait utiliser
complex<unsigned>.
| (en plus, ce n'est pas en me disant que ça vient du C
| qu'on va me convaincre, mais alors là pas du tout ;
que tu le veilles ou non, la compatibilité avec le C est un facteur
majeur. Stroustrup savait comment inventer un très beau langage
incompatible avec C. Beaucoup de gens ont fait/font ça, ils écrivent des
papiers académiques, puis ils en inventent d'autres, puis ils
vont faire autre chose.
[...]
| focntions, et par nostalgie je vais même l'appeler
| "this", pourquoi pas, hein ? :-) )
Et tu ne serais pas le premier. J'en connais plein qui vont ça tous
les jours :-)
-- Gaby
"Alain Naigeon" writes:
[...]
| Ce n'est certainement pas une raison, à mes yeux, pour
| violer grossièrement le bon sens en permettant que le
| type d'un nombre d'habitants puisse être négatif.
Quel est le type de 180000, en C ou C++ ?
| L'idée
| de bricoler des gardes-fous par des tests à l'exécution
| n'est qu'un pis aller, vraiment pas séduisante quand il
| existe un type qui colle avec le domaine de définition
| de ce qu'on veut représenter.
| Un nombre d'habitants est, par nature, non signé. Je
Ce n'est pas à un physicien que je vais dire cela, mais je crois tu
confonds implicitement un nombre avec unité avec simplemennt un
nombre. Il n'y a pas de nombre avec unité en C ou C++. Tu peux
introduire une classe en C++, si tu veux.
| choisis donc le type "unsigned int", qui signifie, si je
| ne m'abuse : "non signé". Donc, si quelque chose
| cloche par après, c'est la faute du langage, pas la
| mienne !
Non, c'est le tien : la syntaxe des types n'est pass tout.
Avec ton raisonnement, un débutnt qui pense qu'il a un calcul complexe
à faire sur le nombre d'habitant d'une ville devrait utiliser
complex<unsigned>.
| (en plus, ce n'est pas en me disant que ça vient du C
| qu'on va me convaincre, mais alors là pas du tout ;
que tu le veilles ou non, la compatibilité avec le C est un facteur
majeur. Stroustrup savait comment inventer un très beau langage
incompatible avec C. Beaucoup de gens ont fait/font ça, ils écrivent des
papiers académiques, puis ils en inventent d'autres, puis ils
vont faire autre chose.
[...]
| focntions, et par nostalgie je vais même l'appeler
| "this", pourquoi pas, hein ? :-) )
Et tu ne serais pas le premier. J'en connais plein qui vont ça tous
les jours :-)
-- Gaby
"Michel Michaud" a écrit dans le message news:
3Zltc.48920$Dans news:c9470d$ohu$, VincentJe crois que je n'ai pas dit les choses correctement. En
disant « quand il en a besoin » je voulais dire « quand
c'est tout
ce dont il a besoin ». Si tu as absolument besoin de la
division entière, je suis sûr que tu la mettras puisque sinon
ton programme ne fonctionnera pas. Mais si la division
entière est suffisante (est tout ce dont tu as besoin),
alors que / (division réelle) fonctionne aussi, tu vas
vraiment penser à mettre ?
Comme ça, là, je ne vois pas de cas (hors les cas triviaux ou
on fait la division de deux entiers dont le dividende est un
multiple du diviseur) ou la division entière et la division
réelle ont des résultats équivalents.
Non, mais quand tu remets la valeur dans un entier oui !
Si c'est fait exprès par un cast, on en prend la responsabilité.
Sinon, on doit avoir "conversion may loose digits", non ?
"Michel Michaud" <mm@gdzid.com> a écrit dans le message news:
3Zltc.48920$tb4.1686393@news20.bellglobal.com...
Dans news:c9470d$ohu$1@news-reader4.wanadoo.fr, Vincent
Je crois que je n'ai pas dit les choses correctement. En
disant « quand il en a besoin » je voulais dire « quand
c'est tout
ce dont il a besoin ». Si tu as absolument besoin de la
division entière, je suis sûr que tu la mettras puisque sinon
ton programme ne fonctionnera pas. Mais si la division
entière est suffisante (est tout ce dont tu as besoin),
alors que / (division réelle) fonctionne aussi, tu vas
vraiment penser à mettre ?
Comme ça, là, je ne vois pas de cas (hors les cas triviaux ou
on fait la division de deux entiers dont le dividende est un
multiple du diviseur) ou la division entière et la division
réelle ont des résultats équivalents.
Non, mais quand tu remets la valeur dans un entier oui !
Si c'est fait exprès par un cast, on en prend la responsabilité.
Sinon, on doit avoir "conversion may loose digits", non ?
"Michel Michaud" a écrit dans le message news:
3Zltc.48920$Dans news:c9470d$ohu$, VincentJe crois que je n'ai pas dit les choses correctement. En
disant « quand il en a besoin » je voulais dire « quand
c'est tout
ce dont il a besoin ». Si tu as absolument besoin de la
division entière, je suis sûr que tu la mettras puisque sinon
ton programme ne fonctionnera pas. Mais si la division
entière est suffisante (est tout ce dont tu as besoin),
alors que / (division réelle) fonctionne aussi, tu vas
vraiment penser à mettre ?
Comme ça, là, je ne vois pas de cas (hors les cas triviaux ou
on fait la division de deux entiers dont le dividende est un
multiple du diviseur) ou la division entière et la division
réelle ont des résultats équivalents.
Non, mais quand tu remets la valeur dans un entier oui !
Si c'est fait exprès par un cast, on en prend la responsabilité.
Sinon, on doit avoir "conversion may loose digits", non ?
Le problème, c'est ce qu'on entend par « division ». Si tu démandes à un
non-informaticien quelle est la valeur de 1/3, il va te dire un
tiers. Et non 0. Dans la mésure où l'opérateur ne donne pas 1/3, ou
quelque chose de proche, pour 1/3, je ne trouve pas que l'opérateur /
est bien choisi.
Ça ne veut pas dire que je suis contre la division entière, comme elle
est définie. Seulement le choix de l'opérateur. Si je concevais un
langage, sans tenir compte de l'historique, je ne définirais pas
l'opérateur / pour les entiers. Et je ne supporterais pas non plus des
conversions implicites : une expression du genre i / j, où i et j sont
des entiers, serait simplement illégal.
[...]
Tout à fait. Je trouve que l'utilisation d'un opérateur autre que / aide
à se rappeler que l'opération n'est pas celui auquel on pourrait
s'attendre.
Je réponds ici parce que vous parlez de la perception non informatique
Le problème, c'est ce qu'on entend par « division ». Si tu démandes à un
non-informaticien quelle est la valeur de 1/3, il va te dire un
tiers. Et non 0. Dans la mésure où l'opérateur ne donne pas 1/3, ou
quelque chose de proche, pour 1/3, je ne trouve pas que l'opérateur /
est bien choisi.
Ça ne veut pas dire que je suis contre la division entière, comme elle
est définie. Seulement le choix de l'opérateur. Si je concevais un
langage, sans tenir compte de l'historique, je ne définirais pas
l'opérateur / pour les entiers. Et je ne supporterais pas non plus des
conversions implicites : une expression du genre i / j, où i et j sont
des entiers, serait simplement illégal.
[...]
Tout à fait. Je trouve que l'utilisation d'un opérateur autre que / aide
à se rappeler que l'opération n'est pas celui auquel on pourrait
s'attendre.
Je réponds ici parce que vous parlez de la perception non informatique
Le problème, c'est ce qu'on entend par « division ». Si tu démandes à un
non-informaticien quelle est la valeur de 1/3, il va te dire un
tiers. Et non 0. Dans la mésure où l'opérateur ne donne pas 1/3, ou
quelque chose de proche, pour 1/3, je ne trouve pas que l'opérateur /
est bien choisi.
Ça ne veut pas dire que je suis contre la division entière, comme elle
est définie. Seulement le choix de l'opérateur. Si je concevais un
langage, sans tenir compte de l'historique, je ne définirais pas
l'opérateur / pour les entiers. Et je ne supporterais pas non plus des
conversions implicites : une expression du genre i / j, où i et j sont
des entiers, serait simplement illégal.
[...]
Tout à fait. Je trouve que l'utilisation d'un opérateur autre que / aide
à se rappeler que l'opération n'est pas celui auquel on pourrait
s'attendre.
Je réponds ici parce que vous parlez de la perception non informatique