OVH Cloud OVH Cloud

differences entre deux version d'un meme livre

44 réponses
Avatar
Alain Cabiran
Bonjour,


est-ce que quelqu'un connais les versions anglaises et française du
livre sur le c++ de Bjarne S. ? La différence de prix étant importante,
je me demandais s'il étaient vraiment différents.

merci d'avance

Alain Cabiran

10 réponses

1 2 3 4 5
Avatar
Michel Michaud
Dans le message RTG8d.3886$,
Pour avoir eu les deux version entre les mains, j'avoue que la


Tu es chanceux. Je n'ai jamais vu la nouvelle version et encore
moins l'avoir eue en main :-(

'nouvelle' version française m'a agréablement surpris. Il y a bien
l'inévitable présence de quelques formulations un peu étranges,


Je ne pouvais pas tout changer et même lorsque je corrigeais certains
passages, je ne pouvais pas toujours écrire exactement ce que j'aurais
voulu. Si ce qui est dit est correct, je devais être satisfait, même
si on aurait pu le dire plus clairement.

mais un petit aparté présente bien les choix faits (bien vu le
lexique pour les différentes traductions de certains concepts!).


C'est la concession que j'ai acceptée : laisser les termes que je
trouvais douteux ou non habituels, mais ajouter un lexique...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

[...]

| Je crois qu'il n'y a aucun doute que « surcharge » est la bonne
| traduction pour « overload ». C'est « override » qui semble avoir
| des traductions diverses. Je trouve « redéfinition » (et le verbe
| « redéfinir ») assez naturel et acceptable, même si je vois bien
| qu'il manque certaines nuances...

Non seulement, il y manque des nuances, mais en plus cela induit une
mauvaise acception. On redéfinit quelque chose déjà défini. Ce n'est
pas le cas de « override » des fonctions virtuelles. La fonction dans
la classe dérivée est n'est pas la même que celle de la classe de
base. C'est une autre fonction qui vient supplanter.

Surtout il faut rapprocher de « redéclaration » -- surtout si l'on
sait aussi qu'une définition est une déclaration.

-- Gaby
Avatar
Fabien LE LEZ
On Tue, 5 Oct 2004 22:53:32 -0400, "Michel Michaud" :

Si ce qui est dit est correct, je devais être satisfait, même
si on aurait pu le dire plus clairement.


En gros, mieux vaut acheter la version anglaise, en plus ça aide à
apprendre à programmer en anglais ;-)


--
;-)

Avatar
Michel Michaud
Dans le message ,
On Tue, 5 Oct 2004 22:53:32 -0400, "Michel Michaud" :

Si ce qui est dit est correct, je devais être satisfait, même
si on aurait pu le dire plus clairement.


En gros, mieux vaut acheter la version anglaise, en plus ça aide à
apprendre à programmer en anglais ;-)


Mieux vaut acheter la version française si la version anglaise ne
nous permet pas de comprendre aussi bien...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Avatar
Michel Michaud
Dans le message ,
"Michel Michaud" writes:
Je crois qu'il n'y a aucun doute que « surcharge » est la bonne
traduction pour « overload ». C'est « override » qui semble avoir
des traductions diverses. Je trouve « redéfinition » (et le verbe
« redéfinir ») assez naturel et acceptable, même si je vois bien
qu'il manque certaines nuances...


Non seulement, il y manque des nuances, mais en plus cela induit une
mauvaise acception. On redéfinit quelque chose déjà défini. Ce n'est
pas le cas de « override » des fonctions virtuelles. La fonction


Euh... attends-là. Tu veux dire que override (en anglais) est mal
choisi aussi ? (il y a plusieurs nuances de sens pour ce mot en
anglais)

dans la classe dérivée est n'est pas la même que celle de la classe
de base. C'est une autre fonction qui vient supplanter.


(Est-ce que tu as vraiment écrit exactement ce que tu voulais
écrire dans ces deux lignes, je ne comprends pas bien...)

Je vois bien que tu sembles aimer « supplanter ». Je le trouve
acceptable aussi, bien qu'un peu trop « négatif ». Par contre,
je trouve qu'il y a là aussi des nuances qui sont perdues, en
particulier supplanter semble ne laisser aucun place pour les
fonctions des classes de base qui seraient remplacées. En fait,
peut-être que « remplacer » ferait l'affaire aussi et serait
moins négatif...

Surtout il faut rapprocher de « redéclaration » -- surtout si l'on
sait aussi qu'une définition est une déclaration.


Je ne suis pas certain de comprendre ce que tu voulais dire. Mais
je crois que l'idée est de penser qu'on « définit » la fonction en
virtuelle pure dans la classe de base (si on ne la définit pas
normalement). On la redéfinit donc dans les classes dérivées.

Finalement je crois qu'on doit inventer un mot et dire qu'il
signifie la même chose que override en C++ anglais... Pourquoi
pas « oveurraïde » ? ;-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

| Dans le message ,
| > "Michel Michaud" writes:
| >> Je crois qu'il n'y a aucun doute que « surcharge » est la bonne
| >> traduction pour « overload ». C'est « override » qui semble avoir
| >> des traductions diverses. Je trouve « redéfinition » (et le verbe
| >> « redéfinir ») assez naturel et acceptable, même si je vois bien
| >> qu'il manque certaines nuances...
| >
| > Non seulement, il y manque des nuances, mais en plus cela induit une
| > mauvaise acception. On redéfinit quelque chose déjà défini. Ce n'est
| > pas le cas de « override » des fonctions virtuelles. La fonction
|
| Euh... attends-là. Tu veux dire que override (en anglais) est mal
| choisi aussi ? (il y a plusieurs nuances de sens pour ce mot en
| anglais)

Je dis que ta proposition de traduction par « redéfinition » est mal
choisie.

| > dans la classe dérivée est n'est pas la même que celle de la classe
| > de base. C'est une autre fonction qui vient supplanter.
|
| (Est-ce que tu as vraiment écrit exactement ce que tu voulais
| écrire dans ces deux lignes, je ne comprends pas bien...)

Je parle de ta suggestion de traduction de « override », au sens C++,
par « rédéfinir ».

| Je vois bien que tu sembles aimer « supplanter ». Je le trouve
| acceptable aussi, bien qu'un peu trop « négatif ». Par contre,
| je trouve qu'il y a là aussi des nuances qui sont perdues, en
| particulier supplanter semble ne laisser aucun place pour les
| fonctions des classes de base qui seraient remplacées.

Non, on supplante dans la classe dérivée, donc cela laisse la place à
la fonction originelle dans la classe de base.

| En fait,
| peut-être que « remplacer » ferait l'affaire aussi et serait
| moins négatif...

Non ! « remplacer » a un autre sens -- par exemple tu remplaces
certaines fonctions bibliothèques comme « operator new », mais tu ne
les supplantes pas (« override »).

| > Surtout il faut rapprocher de « redéclaration » -- surtout si l'on
| > sait aussi qu'une définition est une déclaration.
|
| Je ne suis pas certain de comprendre ce que tu voulais dire. Mais
| je crois que l'idée est de penser qu'on « définit » la fonction en
| virtuelle pure dans la classe de base (si on ne la définit pas
| normalement). On la redéfinit donc dans les classes dérivées.

Je dis que « définir » a déjà un sense en C++ ; en particulier,
« définir » implique « déclarer ».

Avec ta suggestion de traduire « to override » par « rédéfinir »,
on aurait le fait que « redéfinir » n'implique pas « redéclarer ».
Ce qui est une source de confusion inutile. Cette confusion peut être
évitée par le choix d'un vocable plus adapté, qui se suggère lui-même.

| Finalement je crois qu'on doit inventer un mot et dire qu'il
| signifie la même chose que override en C++ anglais...

Pouquoi inventer quand cela existe déjà ? Cela ne passe pas le
« global test » ;-)

-- Gaby
Avatar
Michel Michaud
Dans le message ,
"Michel Michaud" writes:

Dans le message ,
"Michel Michaud" writes:
Je crois qu'il n'y a aucun doute que « surcharge » est la bonne
traduction pour « overload ». C'est « override » qui semble avoir
des traductions diverses. Je trouve « redéfinition » (et le verbe
« redéfinir ») assez naturel et acceptable, même si je vois bien
qu'il manque certaines nuances...


Non seulement, il y manque des nuances, mais en plus cela induit
une mauvaise acception. On redéfinit quelque chose déjà défini.
Ce n'est pas le cas de « override » des fonctions virtuelles. La
fonction


Euh... attends-là. Tu veux dire que override (en anglais) est mal
choisi aussi ? (il y a plusieurs nuances de sens pour ce mot en
anglais)


Je dis que ta proposition de traduction par « redéfinition » est mal
choisie.


Je ne propose pas de traduire override par redéfinition. Je
répondais à Luc qui parlait des divers mots en indiquant que, à mon
avis, « redéfinition » est plus naturel que « surdéfinition ». Je
ne suis pas vraiment satisfait par redéfinition...

Je me demande quand même si tu vois « override » comme correct,
puisque override suppose quand même quelque d'existant (ce qui
n'est pas le cas des fonctions virtuelles pures). En fait, je
ne sais plus vraiment ce que tu penses puisque tu n'as vu pourquoi
je questionnais ce qui suit :

dans la classe dérivée est n'est pas la même que celle de la
^^^^^^^^^^^^^ faudrait savoir ;-)




classe de base. C'est une autre fonction qui vient supplanter.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^



Je ne comprends pas cette phrase qui me paraît incomplète...

(Est-ce que tu as vraiment écrit exactement ce que tu voulais
écrire dans ces deux lignes, je ne comprends pas bien...)


Je parle de ta suggestion de traduction de « override », au sens
C++, par « rédéfinir ».


Je n'ai pas fait une telle suggestion...

Je vois bien que tu sembles aimer « supplanter ». Je le trouve
acceptable aussi, bien qu'un peu trop « négatif ». Par contre,
je trouve qu'il y a là aussi des nuances qui sont perdues, en
particulier supplanter semble ne laisser aucun place pour les
fonctions des classes de base qui seraient remplacées.


Non, on supplante dans la classe dérivée, donc cela laisse la place
à la fonction originelle dans la classe de base.


OK, je vois comment tu vois ça. Et les mots redéfinitions ou
surdéfinitions sembleraient trop se rapporter à la fonction de la
classe de base. Ça se tient.

En fait,
peut-être que « remplacer » ferait l'affaire aussi et serait
moins négatif...


Non ! « remplacer » a un autre sens -- par exemple tu remplaces
certaines fonctions bibliothèques comme « operator new », mais tu ne
les supplantes pas (« override »).


Certes... oublions remplacer...

Surtout il faut rapprocher de « redéclaration » -- surtout si l'on
sait aussi qu'une définition est une déclaration.


Je ne suis pas certain de comprendre ce que tu voulais dire. Mais
je crois que l'idée est de penser qu'on « définit » la fonction en
virtuelle pure dans la classe de base (si on ne la définit pas
normalement). On la redéfinit donc dans les classes dérivées.


Je dis que « définir » a déjà un sense en C++ ; en particulier,
« définir » implique « déclarer ».


Je pensais que tu disais un peu plus :-)

J'espère quand même que tu comprends un peu pourquoi certaines
personnes en sont venues à utiliser redéfinition ou surdéfinition...

Avec ta suggestion de traduire « to override » par « rédéfinir »,


Je n'ai pas fait cette suggestion...

on aurait le fait que « redéfinir » n'implique pas « redéclarer ».
Ce qui est une source de confusion inutile. Cette confusion peut
être évitée par le choix d'un vocable plus adapté, qui se suggère
lui-même.

Finalement je crois qu'on doit inventer un mot et dire qu'il
signifie la même chose que override en C++ anglais...


Pouquoi inventer quand cela existe déjà ? Cela ne passe pas le
« global test » ;-)


Disons simplement que supplanter a un aspect négatif ou péjoratif
que je n'aime pas trop. D'un autre côté, il faut bien voir que
override a un petit côté « illégal » lui aussi... Je ne vois pas
tellement de mots existants qui me satisfont (substituer ? bah,
non)...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/




Avatar
kanze
Gabriel Dos Reis wrote in message
news:...

Luc Hermitte writes:

| Je me posais surtout la question au sujet des vocabulaires retenus
| pour ce qui touchait aux templates (modèles ou patrons?) et aux
| namespace. Et autres intérogations comme que comprendre par
| "surdéfinition" (j'ai croisé des emplois de ce terme pour overload
| et d'autres pour override) ?

surdéfinition ?

« To override », dans le sens de C++, c'est « supplanter. »


Jusqu'ici, j'ai toujours vu (et utilisé) rédéfinir. Est-ce que
supplanter, c'est officiel ?

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Avatar
Luc Hermitte
Gabriel Dos Reis wrote in
news::

| Je me posais surtout la question au sujet des vocabulaires retenus
| pour ce qui touchait aux templates (modèles ou patrons?) et aux
| namespace. Et autres intérogations comme que comprendre par
| "surdéfinition" (j'ai croisé des emplois de ce terme pour overload et
| d'autres pour override) ?

surdéfinition ?


Et oui, il y a des gens qui utilisent ça ...

« To override », dans le sens de C++, c'est « supplanter. »


Pas mal. C'est plus précis que "redéfinir", que j'ai l'habitude
d'utiliser pour "override".

Tu donnes une directive (== fonction virtuelle) dans la classe de
base, et une classe dérivée la supplante avec la sienne.



--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>

Avatar
Luc Hermitte
"Michel Michaud" wrote in news:FQI8d.11186$HO1.698433
@news20.bellglobal.com:

[...] est-ce que tu as un lexique "libre" des traductions des
divers termes. Je crois me souvenir que tu avais parlé de mettre un
lexique dans la révision, mais est-il accessible hors papier ?


Nous avions discuté ici même plusieurs fois de la terminologie en
général.


Tout à fait, mais c'était éparpillé entre quantités de posts et je ne
retrouvais plus les conclusions.

Dans le livre, je voulais surtout ne pas laisser les termes
français douteux sans autre commentaire. Je ne pouvais pas tout faire
changer, alors en mettant le lexique, je permettais au lecteur de
connaître aussi les autres appellations.

Voici ce lexique en HTML : http://www.gdzid.com/Lexique.htm


Super! Merci beaucoup.

Parenthèse: il n'y a pas d'entrée pour "overload". Autre truc, tu
utilises deux fois "tas": pour "freestore" et pour "heap". N'y a-t-il pas
de différence faite entre les deux, comme dans le XC++ ? (je n'ai pas le
bouquin sous les yeux)

Je me posais surtout la question au sujet des vocabulaires retenus
pour ce qui touchait aux templates (modèles ou patrons?) et aux
namespace. Et autres intérogations comme que comprendre par
"surdéfinition" (j'ai croisé des emplois de ce terme pour overload et
d'autres pour override) ?


Je crois qu'il n'y a aucun doute que « surcharge » est la bonne
traduction pour « overload ». C'est « override » qui semble avoir
des traductions diverses. Je trouve « redéfinition » (et le verbe
« redéfinir ») assez naturel et acceptable, même si je vois bien
qu'il manque certaines nuances...


Et pourtant, à part avec quelques un d'entre vous ici, la plupart des
trucs que j'ai pu trouver après googelisation utilisaient
"surdéfinition" pour "overload". Ce qui me fait sentir le problème de
communication avec ce terme.


--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>


1 2 3 4 5