7

Voici la phrase que j'essaie de traduire : « Programming is a craft. »

Littéralement : « La programmation est un métier ».

Pour moi, « craft » ne se limite pas à la notion de métier, j'y vois également une notion d'artisanat, d'art. (Ai-je raison ?)

Y a-t-il un mot français au sens similaire ?

  • Pour la notion d'artisanat, je suis assez d'accord, pour moi les programmeurs sont de nouveaux artisans du 21ème siècle... – Laurent S. Dec 1 '15 at 12:11
  • Comme indiqué par @Gilles, "Art" porte à confusion. Je proposerai La programmation est un travail de maître artisan, bien que le titre de maître artisan ait (en France) une définition légale qui n'a de sens que dans le cadre des métiers de l'artisanat. – Graffito Dec 1 '15 at 22:15
13

Je traduirais cette phrase :

La programmation est un art.

Art ne désigne pas ici uniquement le domaine artistique mais est utilisé aussi avec son sens premier (I.- dans la définition du tlfi) qui correspond le mieux à craft dont la définition dans le Merriam Webster est ici :

a : an occupation or trade requiring manual dexterity or artistic skill

Un article précisément intitulé Programming is a craft parle d'ailleurs de chef d'oeuvre :

The beauty of a program comes from its functionality as much as its cleverness. Like a house. It can be beautiful and architecturally brilliant, but if it fails as a house it fails, however if the architecture enhances the house, then it's a masterpiece.

  • C'est tout le sens I qui est présent, pas seulement I.C. La citation de C. Bernard peu se transposer de la médecine à la programmation, et devrait vraisemblablement pour faire passer l'intention de la phrase anglaise parce qu'il y a une esthétique de la programmation et que simplement "La programmation est un art." sans un contexte clair pourrait être compris comme une allusion à cette esthétique. Voir aussi l'expression "Homme de l'art" qui ne désigne pas un artiste, mais quelqu'un qui maîtrise une technique. – Un francophone Dec 1 '15 at 9:20
  • @Unfrancophone C'est vrai, réponse mise à jour. Merci pour ce commentaire. – jlliagre Dec 1 '15 at 15:14
  • 1
    Euh? Non, ça serait un contresens complet ! Ici « art » serait compris comme artistique, pas dans son sens devenu très rare d'exercice de l'intelligence et de l'habileté humaines. – Gilles 'SO nous est hostile' Dec 1 '15 at 20:55
  • @Gilles D'une part, il ne s'agirait pas d'un contresens total, craft incluant à la fois la notion de dextérité (fait main) et une composante artistique, et d'autre part Il faudrait une audience bien peu informée pour imaginer que la programmation est une discipline purement artistique. Il ne me semble pas que le sens large d'art soit si désuet. Tout le monde comprend que « l'art d'accommoder les restes » n'est pas une discipline enseignée à l'Ecole des beaux-arts ;-) – jlliagre Dec 1 '15 at 22:41
  • @jlliagre Ben non. Ça se voit particulièrement si on essaie de traduire « The Craft of Computer Programming », qui est le titre de plusieurs articles et au moins un livre — titre qui vise à contraster avec le célèbre « The Art of Computer Programming ». – Gilles 'SO nous est hostile' Dec 1 '15 at 22:48
4

Le mot anglais craft désigne ici une compétence technique, souvent mais pas nécessairement en lien avec l'habileté manuelle, et avec en général l'implication que l'on construit quelque chose. Il se distingue notamment de science par le fait que la science est impersonnelle et extrinsèque (elle peut par exemple se transmettre par les livres) alors que craft a un aspect personnel et demande un apprentissage par la pratique. Cela correspond précisément à ce qui caractérise l'artisan ; d'ailleurs craftsman se traduit en général par artisan.

Le français n'a malheureusement pas de mot qui signifie exactement « ce qui caractérise l'artisan ». Le mot français art, tout comme son pendant anglais, a deux sens : le sens qui est largement dominant en anglais et en français moderne, l'art de l'artiste, qui est déterminé par l'esthétique et que la plupart des philosophes considère comme non réductible au pur rationnel mais nécessitant de l'inspiration ; et un sens plus général, l'art de l'artisan voire du savant, qui peut couvrir craft et science, que l'on retrouve dans des expressions comme « homme de l'art », « art de la guerre », …

Dans certains contextes, art peut être une bonne traduction de craft. Un craftsman est un artisan. Mais ce n'est le cas que si le contexte exclut l'interprétation de art comme celui de l'artiste. Or ce n'est pas le cas ici.

Un des traités de programmation les plus célèbres est The Art of Computer Programming de Donald Knuth. Knuth joue sur l'ambiguïté du mot art, et met en valeur tantôt l'aspect scientifique, tantôt l'aspect technique, tantôt l'aspect artistique. Or d'autres informaticiens ont voulu se démarquer de sa vision de la programmation, et la présenter comme un savoir transmissible par apprentissage, qui peut nécessiter de l'inspiration pour parvenir à une réalisation mais dont l'inspiration ne transpire pas forcément dans le produit final. Je pense que plusieurs auteurs y sont parvenus indépendamment au titre The Craft of Computer Programming ; je citerai notamment le manuel d'apprentissage de la programmation The Craft of Computer Programming de Craig Jensen et l'article « The Craft of Computer Programming » sur l'apprentissage de la programmation de Donald House, Brian A. Malloy et Cory Buckley.

Traduire craft par art gommerait ici cette nuance importante, ce n'est donc pas une traduction appropriée. Les phrases « programming is an art » et « programming is a craft » n'ont pas le même sens.

Traduire craft par métier ne convient ici pas non plus. Le mot métier impliquerait que le programmeur y consacre sa vie, ou en tout cas une part importante, alors qu'on ne retrouve pas du tout cette nuance dans craft.

Je propose savoir-faire : « la programmation est un savoir-faire ». Ce n'est pas tout à fait correct — on devrait plutôt dire que la programmation manifeste d'un savoir-faire — mais je pense que l'on comprend bien ce que signifie la phrase anglaise.

Une autre manière de le dire serait que « la programmation est un travail d'artisan ». Mais je trouve cette formulation un peu trop indirecte, même si elle convient au niveau du sens.

  • Je lis « Mais ce n'est le cas que si le contexte exclut l'interprétation de art comme celui de l'artiste. Or ce n'est pas le cas ici. » mais la question initiale n'indique aucun contexte ou lien permettant de savoir ce que son auteur souhaite réellement exprimer. Ceci-dit, « savoir faire » est une bonne traduction, en particulier si l'auteur souhaite écarter le côté artistique de la programmation, ce qui reste pour moi encore à démontrer. – jlliagre Dec 2 '15 at 15:08
  • @Jérôme - Avec "savoir-faire": la programmation demande un savoir-faire. Ou si le contexte s'y prête: la programmation demande un tour de main particulier. – Graffito Dec 2 '15 at 20:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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