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
Gabriel Dos Reis
writes:

| 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 ?

Supplanter fait certainement partie de la liste des candidats qu'on
avait retenu. Nous n'avions jamais officialisé sur « redéfinir ».
Je crois que c'est Valentin qui le premier a attiré l'attention sur
le fait que « redéfinir » est inadéquat. Et comme d'habitude, il
avait raison.

-- Gaby
Avatar
Gabriel Dos Reis
"Michel Michaud" writes:

[...]

| Je me demande quand même si tu vois « override » comme correct,

« override » est ce qu'il est, i.e. ce que la communauté C++ a décidé.
On peut arguer que c'est bien ou c'est mal. Mais, si on veut lui
trouver un équivalent en français, je trouve préférable de coller à
l'esprit le plus possible, au lieu d'en inventer un autre.

Je trouve l'utilisation de « override » correcte, dans le sens que
lorsque c'est utilisé, on fait référence à aux moins deux choses :

(1) l'existence d'une déclaration de fonction virtuelle dans une
classe de base ;
(2) l'existence d'une déclaration dans la classe dérivée.

Les cas où ce schéma ne se présente pas me semble suffisamment rares
pour mériter « l'exception qui confirme la règle » :-)

| 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 ;-)

« dans la classe dérivée n'est pas la même que celle »

|
| >>> 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...

OK, c'est noté.

[...]

| > 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)...

Trop de politiquement correct tue le politiquement correct.

-- Gaby
Avatar
Sayajin
"Luc Hermitte" a écrit dans le message de
news:
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.



Sachant que vous êtes des maîtres de la langue de shakespeare, cela vous
dirait pas d'établir un dictionnaire franco-anglais des termes techniques
lié au langage c++ ?

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


Bonjour,

et merci pour toutes vos réponses.

je vais prendre la version française :

à la vue du srède qui vient de défiler sous mes yeux ébahis...

j'ai le bouquin sur la stl de josuttis qui est en anglais,
mais le français est ma langue maternelle, c'est juste une question
d'agréabilité (pas joli mon néologisme à la gomme ?)

parce que si un contributeur du groupe a travaillé dessus
c'est encore plus sympa :-)

Merci encore,

Alain Cabiran

ps: vous prenez pas la tête comme ça pour
override/overload/surcharge/surdéfinition/redéfinition

je vais faire bête, arrêtez moi si je dis une bêêêhhhtise :

je prend le cas de : même signature de fonction/méthode

hors objet :
je prend une fonction, je la redéfini -> le compilo me dit rrrrr

dans une classe :
je prend une méthode statique, je la redéfinie, le compilo me dit ok
je prend une méthode virtuelle (dynamique ?), je la redéfinie, le
compilo me dit ok

si j'ai bien compris la poo (pascal comme c++) :

je surcharge (over load, au delà de charge), quand la méthode appelle
celle du parent. (je charge encore la fonction qui sera appelée par le
programmeur)

je surdéfini (définir par dessus), quand la méthode n'appelle pas celle
du parent (je charge pas, je remplace)

je redéfini (définir encore), quand la méthode... ben je sais pas si
elle appelle ou pas la méthode de l'ancêtre.

donc redéfinir = (surdéfinir || surcharger)

après vis à vis du terme anglais... je sais pas du moment que le texte
en français est compréhensible :-)

Avatar
Michel Michaud
Dans le message ,
"Michel Michaud" wrote in news:FQI8d.11186$HO1.698433
@news20.bellglobal.com:
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".


La traduction est dans tous les dictionnaires et le livre utilisait
correctement « surcharge ». Ce n'est pas un lexique général, juste
un lexique pour les termes ayant plusieurs traductions ou ayant
une traduction un peu étrange dans le livre.

Peut-être qu'on pourrait faire un lexique général et l'ajouter
dans la FAQ ?

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)


Oui, il faisait la différence pour expliquer que malloc et new
n'utilisaient pas nécessairement la même zone, mais Herb m'a dit
qu'il ne tenait pas aux appellations différentes parce qu'elles
n'ont rien d'officielles. En fait, il disait (fin 2002) vouloir enlever ça
de son livre dans une future édition. Peut-être que
c'est fait...

--
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 me demande quand même si tu vois « override » comme correct,


« override » est ce qu'il est, i.e. ce que la communauté C++ a
décidé. On peut arguer que c'est bien ou c'est mal. Mais, si on
veut lui trouver un équivalent en français, je trouve préférable de
coller à l'esprit le plus possible, au lieu d'en inventer un autre.


Bien sûr. Le problème est que l'esprit de override n'est pas facile
à cerner :-)

Je trouve l'utilisation de « override » correcte, dans le sens que
lorsque c'est utilisé, on fait référence à aux moins deux choses :

(1) l'existence d'une déclaration de fonction virtuelle dans une
classe de base ;
(2) l'existence d'une déclaration dans la classe dérivée.


Tout à fait. Je note le « au moins » par contre, car sinon le
terme « redéclaration » suffirait. Je crois que c'est le fait que
les appels sont dirigés à la fonction de la classe dérivée (dans
les appels polymorphiques) qui est aussi très important. Je ne
sais pas si je vois cet aspect dans « supplanter ».

Les cas où ce schéma ne se présente pas me semble suffisamment rares
pour mériter « l'exception qui confirme la règle » :-)


Oui, même override part de ce principe je crois.

Il me semble qu'il y a deux possibilités : ou bien un mot français
paraît suffisamment clair pour remplacer override sans autre
« officialisation », ou bien on choisit un mot et on le popularise
suffisamment, en l'employant ici par exemple, pour qu'il prenne
clairement le sens de override seulement. On peut choisir supplanter,
redéfinir, surdéfinir, redéclarer, surdéclarer, etc. L'inconvénient
de supplanter est que le nom n'est pas évident (supplantation ?)
alors qu'on a facilement **définition et **déclaration.

D'autres opinions ?

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


Avatar
Loïc Joly
Michel Michaud wrote:
L'inconvénient
de supplanter est que le nom n'est pas évident (supplantation ?)


Suppléant ?

--
Loïc

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

| 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 ?

Supplanter fait certainement partie de la liste des candidats qu'on
avait retenu. Nous n'avions jamais officialisé sur « redéfinir ». Je
crois que c'est Valentin qui le premier a attiré l'attention sur le
fait que « redéfinir » est inadéquat. Et comme d'habitude, il avait
raison.


J'avoue que maintenant que j'entends la suggestion, « supplanter » me
plaît assez bien. C'est peut-être même supérieur à « override » (qui a
pour moi une nuance de violence et de force, tandis que pour qu'on le
supplante, il faut que la fonction de base soit bien d'accord en de
déclarant virtuelle). C'est aussi sûr que redéfinir ne décrit pas bien
ce qui se passe. (Mais comme j'ai dit, à mon avis « override » non
plus.)

Mais dans la mésure qu'il s'agit d'un mot technique, avec une définition
bien rigueureuse dans la contexte, si redéfinir s'est déjà imposé, je le
crois acceptable ; c'est un cas où je crois qu'il vaut mieux faire comme
tout le monde que d'inventer quelque chose de mieux mais qui n'est
compris de soi-même. Mon impression était que « redéfinir » s'est déjà
imposé à un point où essayer de le changer coûtera plus d'effort qu'il
n'en vaille.

--
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
kanze
Luc Hermitte wrote in message
news:...
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 ...


Le mot a l'avantage de ne pas exister en français non technique, ce qui
fait qu'on ne risque pas que sa signification dans le langage de tous
les jours prête à confusion. N'empêche que je m'y opposerai pour une
raison purement pragmatique. En anglais, les mots « overload » et
« override » ont beau avoir des significations bien distincte dans le
langage courant, on les confond dans le langage technique, à cause du
préfix commun « over ». Du coup, si on peut éviter que les traductions
françaises aient un préfixe en commun, on a tout à gagner. Et je ne vois
rien d'autre que « surcharger » pour « overload ». Du coup, je ne suis
pas d'accord que la traduction de « override » commence par le préfixe
« sur- ».

--
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
Jean-Marc Bourguet
writes:

si redéfinir s'est déjà imposé,


J'ai l'impression qu'aucune solution ne s'est imposee (apparemment au
contraire de pour surcharge -- peut-etre suite a l'influence d'Ada
oeuvre d'un Francais et dont la norme de 1983 avait une traduction
francaise officielle?). Ce qui est un probleme recurrent avec les
traductions: chaque traducteur fait la sienne suivant sa sensibilite.
On a aussi parfois l'impression qu'une traduction s'est imposee puis
quand on sort de son cercle habituel on voit que ce n'est pas le cas.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

1 2 3 4 5