OVH Cloud OVH Cloud

Traduction des termes C++ anglais

18 réponses
Avatar
Aurelien Regat-Barrel
Bonjour, et avant tout, très bonne année à tous!
Mon premier message 2006 est limite HS, mais je ne sais pas où trouver
mieux. Je souhaite établir un lexique franco-anglais des termes relatifs
à la programmation C++. J'ai ouïe dire qu'un travail similaire avait été
initié ici je crois dans une tentative de traduction de la norme C++. Un
tel travail m'intéresserai beaucoup.
Jusque là je me suis essentiellement inspiré du lexique présent à la fin
du TC++PL 3° edition, mais je suis un peu surpris des termes retenus.
Les synonymes proposés me paraissent souvent meilleurs. Bref, voici ce
que j'ai pondu:

lexique du TC++PL (entre crochets, les traductions non retenues):

array tableau de type C [tableau intégré]
binder éditeur de liaison
built-in type type de base [type intégré / type fondamental]
callback fonction de rappel
catch intercepter [capturer / attraper]
containment contenance / aggrégation
design pattern modèle de conception [schéma] (pas patron qui est pour
template)
function object
functor objet fonction [fonction objet / objet fonctionnel]
forward iterator itérateur unidirectionnel
[itérateur en avant]
framework structure (d'application) / squelette [charpente / cadre de
travail]
free store tas
garbage collector ramasse-miettes [récupérateur automatique de mémoire /
glaneur de cellules]
handle descripteur [poignée]
handler gestionnaire (d'exception)
heap tas
include guard inclusion sécurisée [garde d'inclusion (multiple)]
inline en ligne
lazy evaluation évaluation paresseuse
linkage convention convention de liaison
locale paramètres régionaux [locaux]
namespace espace de nom [espace référentiel / espace de nommage /
référentiel lexical]
negater négateur [inverseur]
overriding rédéfinition ((fonction de) substitution / surdéfinition]
policy règles / politique
re-throw relancer [redéclenchement]
RTTI détermination de types à l'exécution [identification dynamique
des types / à l'exécution]
template modèle / (classe/fonction) générique [patron]
throw lever [déclencher / lancer / jeter]
whitespace espace blanc

contribution personnelle:

indexing indiçage
string chaîne de caractères
header(s) fichiers(s) d'en-tête
keyword(s) mot(s)-clé(s) / mot(s) réservé(s)
stream flux [flot]
override redéfinir [supplanter]
overload surcharger
identifier identifiant (!= identificateur)
qualifier qualificatif (!= qualifieur)
specifier specificateur
literal littéraux
forward declaration déclaration anticipée
build construction [génération]


hortographe / faux amis / erreurs à éviter:

- booléen
- en-tête
- conversion (!= convertion)
- connexion (!= connection)
- débogage (!= debugage)
- langage (!= language)
- précompilation (!= pré-compilation)
- préprocesseur (!= pré-processeur)
- exécutable (!= executable)
- developper (to develop)
- adresse (address)

- méthode => fonction membre
- librairie => bibliothèque
- code standard => code conforme à la norme

Merci pour vos avis éclairés.

--
Aurélien Regat-Barrel

8 réponses

1 2
Avatar
Michel Michaud
Dans le message ,
Aurelien Regat-Barrel writes:
function object
functor objet fonction [fonction
objet / objet fonctionnel]


fonction objet est très mauvais car le mot principal est
fonction alors que ça désigne un objet...


Est-ce le problème principal ou même le principal problème ? :-)

Ça a beau être un objet, ce n'est pas ça qui est important pour
moi : l'essentiel, c'est qu'on peut l'utiliser comme une fonction.
C'est donc simplement une sorte de fonction, et « fonction objet »
me semble alors parfaitement approprié. Un peu comme « fonction
membre » ou « fonction template ». Je ne suis pas complètement
opposé à « objet fonction », mais je dirais que ça dépend vraiment
du point de vue. Quand on pense aux fonctions de la STL acceptant
une paramètre pour un prédicat (par exemple find_if(..., pred)),
moi je vois qu'on doit passer une fonction, ordinaire ou objet,
et non pas un objet qui pourrait être une simple fonction.

Par ailleurs, j'aime mieux « objet fonctionnel » que « objet
fonction » sauf que ça semble dire que c'est simplement un objet
qui fonctionne.

L'utilisation d'un néologisme (foncteur) n'est pas non plus une
mauvaise idée finalement, mais certains diront que ce n'est pas
vraiment ce qu'on a en C++.

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


Avatar
kanze
Michel Michaud wrote:
Dans le message ,
Aurelien Regat-Barrel wrote:

[...]
keyword(s) mot(s)-clé(s) / mot(s) réservé(s)


Les mot-clés ne sont pas toujours des mots réservés...
Keyword est donc simplement mot-clef.


j'avoue confondre les 2 termes... peux-tu me donne un
exemple distinguant mot-clé / mot réservé ?


En PL/1, Fortran ou certains dialects de Basic, les mots-clé
ne sont pas réservés, et on peut écrire des choses du
genre :
IF = 42
Ce qui est parfaitement légal en Fortran, et je crois PL/1
aussi. Ici, IF est le nom d'une variable.

Il me semble avoir entendu dire que Microsoft a introduit
des cas semblable dans CLI. Histoire de pouvoir introduire
de nouveaux mots-clé sans casser le code qui s'en servait
déjà comme symbole utilisateur.


Mais en C++ classique, est-ce qu'on pourrait dire qu'il y en
a ? Peut-être define (« mot-clef » dans #define...), etc. ?


C'est prèsqu'une règle dans de nouveaux langages que les
mots-clé soient réservés. C'est en tout cas le cas de tous les
langages dérivés ou de C ou de Pascal.

Dans le C et ses désendants « compatibles » (le C++ ou
l'Objective C, par exemple), on a en effet le préprocesseur, qui
était au départ (et l'est encore d'une très grande dégrée) un
langage à part, avec ces propres règles. Et qui en effet ne
connaît pas de mots réservés : non seulement il ne connaît pas
les mots-clé de C ou de C++, on peut même définir des macros
avec des noms comme define ou ifdef.

Par contre, en C++, un identificateur réservé n'est pas
toujours un mot-clef (_A par exemple), mais je ne sais si l'on
pourrait dire que ce sont alors des mots réservés.


C'est l'autre côté de la médaille : les mots réservés qui ne
sont pas de mots-clé. C'est le cas de « export » dans certains
compilateurs, par exemple. Et comme tu as raison de signaler, le
langage C++ réserve aussi des noms qui ne sont pas de
mots-clé -- la restriction se trouve dans la section sur la
bibliothèque, mais il fait en fait partie du langage de base, et
vaut même si on n'inclut pas d'en-tête standard.

On a tendance à oublier cette groupe, parce qu'elle est ouverte.
Il n'y a pas de liste exhaustive des mots réservés. On pourrait
en fait arguer que ce ne sont pas de mots reservés, mais plutôt
des séquences de caractères illégales qui ne forment pas de
token autorisés. Mais ce n'est pas comme ça que la norme les
décrit, ni comme ça qu'ils sont réelement implémentés dans les
compilateurs.

--
James Kanze GABI Software
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
Aurelien Regat-Barrel
binder éditeur de liaison



Qu'est-ce que ça désigne? La seule utilisation dans la
norme est pour les classes binder1st et binder2nd, mais
éditeur de liaison de correspond pas.


Après recherche, il n'apparaît pas dans le document, donc c'est réglé.
En revanche, binding est présent au sens de:

binding (seul) liaison de type
early binding liaison précoce
late binding (dynamic binding, runtime binding) liaison tardive

ainsi que:

function call binding

qui se traduit en "liaison d'appel de fonction" ?

--
Aurélien Regat-Barrel


Avatar
Jean-Marc Bourguet
Aurelien Regat-Barrel writes:

ainsi que:

function call binding

qui se traduit en "liaison d'appel de fonction" ?


Ce n'est pas invraissemblable mais il me faudrait le contexte pour
etre sur.

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

Avatar
Aurelien Regat-Barrel
function call binding

qui se traduit en "liaison d'appel de fonction" ?



Ce n'est pas invraissemblable mais il me faudrait le contexte pour
etre sur.


Y'en a pas, c'est un titre.
http://cdfinfo.in2p3.fr/Services/Informatique/DOCU/c++doc/TIC/TIC1/Chapter15.html#Heading437

--
Aurélien Regat-Barrel


Avatar
Jean-Marc Bourguet
Aurelien Regat-Barrel writes:

function call binding

qui se traduit en "liaison d'appel de fonction" ?
Ce n'est pas invraissemblable mais il me faudrait le contexte pour

etre sur.


Y'en a pas, c'est un titre.
http://cdfinfo.in2p3.fr/Services/Informatique/DOCU/c++doc/TIC/TIC1/Chapter15.html#Heading437


Le texte qui suit me semble etre un contexte...

La traduction ne me derange pas.

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



Avatar
Aurelien Regat-Barrel

Le texte qui suit me semble etre un contexte...

La traduction ne me derange pas.


Ok merci.

--
Aurélien Regat-Barrel

Avatar
Christophe de Vienne
Bonjour à tous !

Je viens juste de voir ce fil, donc avec un peu de retard :

Aurelien Regat-Barrel wrote:
override redéfinir [supplanter]


Moi j'aime bien "surdéfinir". Ça donne bien l'idée d'une définition qui est
"au-dessus", mais qui n'empêche pas forcément d'utiliser celle du "dessous".

A+

Christophe

1 2