OVH Cloud OVH Cloud

Les pierres qui roulent

42 réponses
Avatar
Fabien LE LEZ
Bonjour,

Ce message fait suite à toutes les discussions sur la traduction du
code et des bouquins de C++.

Exceptional C++ Style (Herb Sutter), à peu près au milieu de la page
111 :

// Example 16-1: I can't get No::Satisfaction
//
class No {
private:
virtual void Satisfaction() {}
};

Comment un traducteur s'en sort, sur ce coup-là ? ;-)


--
;-)

10 réponses

1 2 3 4 5
Avatar
Herb Sutter
On Wed, 6 Oct 2004 23:52:19 -0400, "Michel Michaud" wrote:

Dans le message ,
Cela dit, si jamais quelqu'un arrive à traduire le code de Sutter en
utilisant les paroles de cette chanson, je serais vraiment
impressionné. Michel, tu relèves le défi ? ;-)


Une autre chanson, de Ferrat, ça fait ? Si j'ai bien compris,
c'est pour montrer qu'on ne peut pas appeler directement une
fonction privée ? Alors on peut faire aussi bien que Sutter
je crois, avec :

// Exemple 16-1: On ne voit pas le Temps::Passer
//
class Temps {
private:
virtual void Passer() {}
};

Ce n'est pas parfait, mais le « get » No::Satisfaction non
plus... Qui dit mieux ?


:-) Je pense que c'est excellent! (Mais je ne connais pas l'autre chanson.)

Herb

---
Herb Sutter (www.gotw.ca) (www.pluralsight.com/blogs/hsutter)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Architect, Developer Division, Microsoft (www.gotw.ca/microsoft)


Avatar
Fabien LE LEZ
On Thu, 07 Oct 2004 05:39:34 -0700, Herb Sutter :

// Exemple 16-1: On ne voit pas le Temps::Passer


:-) Je pense que c'est excellent!


Peux-tu me rappeler qui a écrit, deux pages plus loin, et en
caractères gras, "A private member is /visible/ to all code that sees
the class's definition" ? ;-)


--
;-)


Avatar
Michel Michaud
Dans le message ,
On Thu, 07 Oct 2004 05:39:34 -0700, Herb Sutter :

// Exemple 16-1: On ne voit pas le Temps::Passer


:-) Je pense que c'est excellent!


Peux-tu me rappeler qui a écrit, deux pages plus loin, et en
caractères gras, "A private member is /visible/ to all code that
sees the class's definition" ? ;-)


Faut pas trop m'en demander, je n'avais pas le livre (il est
commandé)... D'un autre côté, « I can't get » était un peu
incorrect aussi (il faudrait « get to » au minimum) et finalement
je ne comprends pas trop ce qu'on devait comprendre de l'exemple.
J'ai hâte d'avoir le livre !

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



Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:



Si tu traduis, tu casses complètement la référence -- autant écrire

// Exemple 16-1: On ne peut accéder à foo::bar
//
class foo {
private:
virtual void bar() {}
};


Ah que voilà, moi je cherchais un nom pour mon groupe,
alors foo::bar c'est trop top, j'achète :-)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France

Avatar
Fabien LE LEZ
On Thu, 7 Oct 2004 19:05:52 +0200, "Alain Naigeon" :

Ah que voilà, moi je cherchais un nom pour mon groupe,
alors foo::bar c'est trop top, j'achète :-)


Du moment que tu respectes les RFC, et notamment la RFC 3092, il n'y a
pas de problème.


--
;-)

Avatar
Herb Sutter
On Thu, 07 Oct 2004 15:16:00 +0200, Fabien LE LEZ
wrote:
On Thu, 07 Oct 2004 05:39:34 -0700, Herb Sutter :

// Exemple 16-1: On ne voit pas le Temps::Passer


:-) Je pense que c'est excellent!


Peux-tu me rappeler qui a écrit, deux pages plus loin, et en
caractères gras, "A private member is /visible/ to all code that sees
the class's definition" ? ;-)


Dommage. :-) Mais c'était quand-même un excellent effort. La traduction si
idiomatique ne'st pas façile.

(Je m'excuse pour mes fautes d'orthographie.)

Herb

---
Herb Sutter (www.gotw.ca) (www.pluralsight.com/blogs/hsutter)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Architect, Developer Division, Microsoft (www.gotw.ca/microsoft)



Avatar
Fabien LE LEZ
On Thu, 07 Oct 2004 13:30:49 -0700, Herb Sutter :

Dommage.


Gaby étant peu locace ces temps-ci, il faut bien que je me dévoue pour
contredire Michel ;-)


--
;-)

Avatar
kanze
Fabien LE LEZ wrote in message
news:...
On Thu, 07 Oct 2004 05:39:34 -0700, Herb Sutter :

// Exemple 16-1: On ne voit pas le Temps::Passer


:-) Je pense que c'est excellent!


Peux-tu me rappeler qui a écrit, deux pages plus loin, et en
caractères gras, "A private member is /visible/ to all code that sees
the class's definition" ? ;-)


Je ne crois pas que ce soit si important. L'utilisation du chanson, ce
n'est pas une explication technique. C'est simplement un truc pour
rendre la lecture plus agréable. Du moment que ça colle un peu, c'est
bon.

--
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
Jean-Marc Bourguet wrote in message
news:...
Fabien LE LEZ writes:

Ce message fait suite à toutes les discussions sur la traduction du
code et des bouquins de C++.

Exceptional C++ Style (Herb Sutter), à peu près au milieu de la page
111 :

// Example 16-1: I can't get No::Satisfaction
//
class No {
private:
virtual void Satisfaction() {}
};

Comment un traducteur s'en sort, sur ce coup-là ? ;-)


Ca me rappelle un bouquin sur les compilateurs ou un exemple etait

call(me, Ismael);


Ce genre de plaisanterie était courant dans les programmes il y a trente
ans ou plus. Donc, à la place de donner un nom signifiant à une
procédure (PL/M), on l'appelait HOME, de façon à pouvoir écrire :

CALL HOME ;

De même, ce n'était pas rare qu'un programmeur utilise une étiquette
HELL, afin de pouvoir écrire GO TO HELL quelque part dans son programme.

En C, j'ai vu plus d'un programmeur qui faisait un
#define ever (;;)
pour faire :
for ever { ... }
Mais ça s'approche au raisonable.

Ce qui rend l'exemple de Herb si beau, c'est l'ambiguïté, le fait que
les paroles ont une signification dans le contexte, et ne sert pas
seulement la plaisanterie.

--
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
Herb Sutter
On 8 Oct 2004 00:13:31 -0700, wrote:

// Example 16-1: I can't get No::Satisfaction
//
class No {
private:
virtual void Satisfaction() {}
};



Ce qui rend l'exemple de Herb si beau, c'est l'ambiguïté, le fait que
les paroles ont une signification dans le contexte, et ne sert pas
seulement la plaisanterie.


Merci. Mais il y avait aussi une deuxième blague:

No no;
no.Satisfaction(); // error

Parce que, dans les paroles, il y avait aussi le "No no, no..." :-)

Et maintenant fini, fini...

Herb

---
Herb Sutter (www.gotw.ca) (www.pluralsight.com/blogs/hsutter)

Convener, ISO WG21 (C++ standards committee) (www.gotw.ca/iso)
Contributing editor, C/C++ Users Journal (www.gotw.ca/cuj)
Architect, Developer Division, Microsoft (www.gotw.ca/microsoft)



1 2 3 4 5