6

In programming, English speaking people often use foo and bar as metasyntactic variables to name things that they don't want to name.

What do French-speaking people use and why?


En programmation, les anglophones utilisent fréquemment foo et bar comme variables métasyntaxiques pour nommer les choses qu'ils ne veulent pas nommer.

Qu'est-ce que les francophones utilisent et pourquoi?

4 Answers 4

12

In French programming, I have seen several tendencies

  • The most common is to use toto, titi, tata or azerty
  • A relevant placeholder name, like Tartempion for a last name, Pierre or Marie for a first name
  • In mathematics-related programming, f, x, i and so on with usual mathematical variables
  • In English-speaking circles, foo, bar and baz
  • And of course, among Pythonista, spam, eggs, sausages and spam

En programmation française, j'ai vu plusieurs tendances

  • Le plus commun est d'utiliser toto, titi, tata or azerty
  • Un nom ad hoc, comme Tartempion pour un surnom, Pierre ou Marie pour un prénom
  • En programmation orientée mathématiques, f, x, i, etc., les variables mathématiques habituelles
  • Chez les anglophones, foo, bar, et baz
  • Et bien sûr, pour les Pythonista, spam, eggs, sausages and spam
2

Toto et Tutu sont mes préférés. Même s'il s'agit surtout de préférence personnelle, beaucoup de programmeurs (web à tout le moins) utilisent Toto.

Une bonne traduction doit être invisible au lecteur. Le couple foo/bar est trop loin de l'utilisation de tous les jours pour un programmeur francophone, et partant, trop artificiel.


Toto and Tutu are my preferences. Even if it's just personal preference, many programmers (web at least) use Toto.

A good translation should be invisible to the reader. The foo/bar couple is too far from everyday usage of a French programmer, and hence too artificial.

3
  • 1
    A chaque fois qu'un développeur utilise toto pour ne pas avoir à clarifier sa démarche intellectuelle, un petit chaton est assassiné. Jan 13, 2013 at 18:38
  • L'utilité d'un Toto tient surtout dans le fait qu'on sait toujours quel nom saugrenu chercher pour supprimer dans le code après une phase de débogage. D'ailleurs, il sert avant tout de marqueur positionnel de code de test (appeler une variable toto serait un brin trop embrouillant). Jan 13, 2013 at 18:48
  • 1
    Hélas, on en a tous (trop) vu en guise de variables de test, et (beaucoup trop) souvent aussi qui restaient en place dans le code définitif de production... déprimant mais tellement réel. Jan 13, 2013 at 18:50
2

Truc, bidule, machin and chose. They are usually preceded by a definite article (most of the time “le”) and can mean anything. Typically:

— Tu me passes le truc sur la table ?
— Ouais. Euh, c'est quoi ce machin ?

To name persons we don't know or remember the name, among those, bidule, machin or trucmuche are the most commonly used. Another possibility is to choose a random very (un)common name.

As variable names or as garbage data, tata, titi, toto or tutu may also come handy, but those would not be used in spoken language.


Truc, bidule, machin et chose. Ils sont précédées par un article défini (habituellement « le ») et peuvent désigner n'importe quoi. Typiquement :

— Tu me passes le truc sur la table ?
— Ouais. Euh, c'est quoi ce machin ?

Pour nommer les personnes dont on ne connait pas le nom — aussi utile si on ne s'en souvient pas — bidule, machin, ou trucmuche sont les plus communs. Une autre possibilité est de choisir un nom au hasard très (peu) commun.

En tant que noms de variables ou données jetables, tata, titi, toto, ou tutu peuvent être utiles aussi, mais on ne les utiliserait pas dans la langue parlée.

1
  • 3
    Duh, (sadly) the question was specifically about programming. I realise it only now. Jan 12, 2013 at 21:39
2

Les usages diffèrent, on a de nombreuses variantes, et pour cause : par définition ce choix est totalement arbitraire. Le nommage n'a pas, au contraire des variables qui seront réellement utilisées dans le code en production, de contraintes spécifiques de clarté ou de cohérence globale.

Pourquoi vouloir traduire et fixer ces termes ? Quelle valeur ajoutée cela apporterait-il, par rapport à l'invention pure et simple de termes, eux-aussi totalement arbitraires ?

Un lecteur anglophone serait-il choqué de lire un morceau de code générique, employant des variables d'example qui seraient autres que foo, bar et baz ? Comprendrait-il moins bien ? J'en doute.

Un peu de créativité que diable ! (ce en quoi je plussoie allègrement la proposition spamesque d'Evpok)


The usages differ; we have numerous variants, and with good reason: by definition, this choice is totally arbitrary. The naming doesn't, unlike variables that will really be used in production code, have specific constraints of clarity or global coherence.

Why do you want to translate and fix these terms? What added value would be brought by that, rather than purely and simply inventing terms, themselves totally arbitrary?

Would an anglophone reader be shocked to read a piece of generic code that used example variables other than foo, bar, and baz? Would they understand it less well? I doubt it.

A bit of creativity, damn it! (in this vein I verily agree with Evpok's spammy proposal)

3
  • 1
    Ça ne répond pas à la question. Jan 13, 2013 at 10:43
  • Ma réponse à la question est celle-ci : tout mot est ici une bonne traduction. Jan 13, 2013 at 11:00
  • 1
    Ça c'est (presque) une réponse, mais est-ce que ça traduit vraiment une particularité francophone, j'en doute. Jan 13, 2013 at 11:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.