Take the 2-minute tour ×
French Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the French language. It's 100% free, no registration required.

The best way to describe what I mean by "Legacy code" comes from this website

That stuff that other people wrote. They've all since left the company, [or worse, they're still here but not working on it], so there's nobody left who knows how it works. It really needs to be refactored properly (preferably rewritten), but there's no time, and everything's using it.

The concept is fairly common, especially in large enterprise software, and is largely studied (random example [pdf])

Online translators mention "code hérité", but I am not really convinced. "Bagage technique" comes to mind, but doesn't feel very accurate either.

Considering I want to mention this in a potential interview, how should I refer to it to another working professional (in French)?

share|improve this question
7  
Note that we mix a lot of English words in IT discussions in French, and the person that you are talking to may not be aware of the French equivalent of this expression. I heard "legacy" much more than any French alternative, related to antiquated code produced either in-house or externally. –  Eric Bréchemier Jun 29 '12 at 13:46
1  
Fourth Hot question on StackExchange, congrats ! stackexchange.com/questions –  Lierre Jun 29 '12 at 17:59
    
By the way, your title doesn't match the text in your question; that's why you get so many different answers! "Legacy code" I would translate as code historique, but inherited code or "stuff that other people wrote. They've since left the company" would be code hérité in my mind. –  Mr Lister Jun 30 '12 at 11:54
add comment

6 Answers

up vote 11 down vote accepted

Personally, I use the statement « code historique ». Example :

Le développement a pris plus de temps que prévu car j'ai dû refactoriser du code historique. [Development took longer than expected because I had to refactor some legacy code.]

« Bagage technique » means another thing entirely. It refers to technical knowledge.

share|improve this answer
    
I like how simple and straight-to-the-point this is. I'd have no problem using it in interviews and it does convey exactly the meaning. Thanks! –  rahmu Jun 29 '12 at 17:34
add comment

It depends of the context you want to associate with this "legacy code".

If you want to induce a notion of bad quality, I would use "dette technique", yet this is often translated as "technical debt".

If you only want to talk about some old code, I would use "code historique" as @Stamm.

share|improve this answer
add comment

If I really had to translate this expression, I would use du vieux code (if not being specific) or l'ancien code du système X (if talking about a particular project / piece of software).

However, as mentionned in the comments, if the person you are talking to is familiar with the concept, specially if he/she is a tech person, using the original English term is your safest bet.

share|improve this answer
add comment

Différentes traductions possibles

Un informaticien expérimenté ne touche pas un code qui fonctionne et qui est toujours en usage, même s'il date de Mathusalem, c'est pourquoi j'ai souvent entendu parlé de code hérité que l'on améliore avec des solutions de contournement, et parfois des verrues lorsque la situation se dégrade.

Sinon il refait l'application, change de langage, ..., du code pourri, qui de ce fait ne sera plus Legacy code.

share|improve this answer
1  
bof. hérité might introduce confusions with inheritance which is a different concept –  rds Jul 11 '12 at 8:57
    
@rds Non : "hériter (verbe donc action de recevoir) d'un code pourri", n'a rien à voire avec l'héritage (nom, donc définition d'un patrimoine reçu) des langages orientés objet, –  cl-r Jul 12 '12 at 6:28
    
Comment ça? En programmation orientée objet, une classe hérite d'une autre. C'ets bien le même verbe qui est utilisé dans des contextes et usages différents. Moi, je trouve que ça peut être confus quand on parle de code hérité (par exemple, ma MainActivity a hérité d'un code pourri, si c'est une critique du framework Android ou une critique de l'ancienne version de MainActivity) –  rds Jul 15 '12 at 10:06
    
@rds Désolé d'avoir été abrupt, ... et pas très explicite : en fait la discrimination se fait sur les mot code qui ne peut pas hériter de qui que ce soit, mais qui peut être reçu en héritage [pourri] ; alors que vous évoquez une classe qui, en Java, hérite au moins de la classe racine Object. Cependant son code peut être pourri, et alors ses héritières peuvent parler de code hérité : cela concerne une classe, un paquetage, une application ... –  cl-r Jul 15 '12 at 14:45
add comment

Code hérité utilisé seul me parait mauvais, hériter est censé être un verbe transitif. Si tu ajoutes un complément, je pense que cette traduction est très bonne. Exemple :

du code hérité de la version Fenêtre 95 du projet

Pour traduire legacy code dans son utilisation sans complément voici quelques propositions :

  • Code fossile. — Traduction un peu libre, mais avec beaucoup de charme, qui insiste sur l'aspect historique du legacy code et sur son caractère figé. Traduction très compréhensible et très adaptée à une utilisation pratique.
  • Code vétuste.Qui n'est plus utilisable, en raison de sa conception dépassée. — Cette proposition insiste sur l'incompatibilité du legacy code avec le code actuel, le sens de vétuste colle parfaitement. Ne sonne sans doute pas très bien en utilisation pratique.
  • Code obsolète.Qui n'est plus en usage; tombé en désuétude. — C'est un vieux mot français tombé en désuétude — ou devenu obsolète — mais qui est revenu dans la langue sous l'influence de l'anglais. Certains le considère comme un anglicisme, mais je pense que ce n'est que son usage abusif qui est un anglicisme. Il est vrai que ce mot a en anglais un sens un peu plus large et qu'il est beaucoup plus répandu. Cette traduction est immédiatement compréhensible, même par un anglophone.
  • Code caduc.Sens propre : Qui menace ruine, vieux, délabré., mais beaucoup de sens dérivés inusités — Traduction un peu plus audacieuse, assez percutante et avec deux belles allitérations. Traduction moins facilement compréhensible, mais adaptée à une utilisation pratique.
  • Code suranné. — Qui a cessé d'être en usage, qui ne se fait, ne se porte ou ne se dit plus et se réfère à une époque révolue. — Le sens de suranné colle parfaitement au sens de legacy code, car il y a bien la notion de péremption et de révolu, mais ce n'est pas la traduction la plus immédiatement compréhensible.

Par « adapté à une utilisation pratique », j'entends qui sonne suffisamment bien pour être utilisé répétitivement, propre à désigner la notion autant qu'un exemple particulier. Pour cela, je préfèrerais fossile ou obsolète. Pour un besoin ponctuel vétuste et suranné conviendront. Caduc est plus pour briller dans les diners mondains d'informaticiens francophiles.

If you have trouble reading French, I can translate this answer. I suppose you don't since you asked a very specific question.

share|improve this answer
    
+1 plus pour la poésie (en particulier l'allitération de code caduc que je trouve très belle) que pour le côté pratique... je ne me vois vraiment pas utiliser ces termes avec des collègues :) –  Alexis Pigeon Jun 29 '12 at 16:05
    
@AlexisPigeon — Merci d'apprécier la poésie ;), néanmoins fossile me parait très utilisable, non ? –  Lierre Jun 29 '12 at 16:36
3  
I have no problem with French whatsoever. I write in English because of my qwerty keyboard and would not allow myself to write without the proper ... accents (diacritic seems more appropriate). As for your suggestions, they are brilliant but I'm afraid they'd make me sound overly pedantic, especially as I'm not a native French. For what it's worth I learned "caduc" and "suranné" today :) Giving an upvote, but not accepting because I mentioned I am looking to use the idiom in job interviews, not francophile mundanities. Impressive answer nonetheless! –  rahmu Jun 29 '12 at 17:26
    
Also, I just realized "Fenêtre 95". You sir, just made my day. –  rahmu Jun 29 '12 at 17:27
2  
Non, vraiment, je n'utiliserais aucun de ces termes dans une discussion... Soit j'aurai l'air pédant comme dit plus haut, soit je serai amené de toute façon à utiliser le terme legacy code histoire de clarifier les choses... –  Alexis Pigeon Jun 29 '12 at 20:50
show 4 more comments

The most neutral french translation for legacy code would be code existant, or l'existant if you want to broaden the phrase to abstractions around the code, like interfaces, flow, GUI, etc…

I'm afraid every other translation could have side meanings, and is not 100% safe to use, unless you exactly know the exact implication of the person you're talking to with said legacy code.

share|improve this answer
    
+1. If you're refering to some code when talking to its authors, you certainly won't use code fossile or any other expressions carrying too much grievance... –  Romain VALERI Jul 2 '12 at 10:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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