Archives pour la catégorie État d’âme

Sémantique mon amour

Il y a des jours où les conversations sereines avec des arguments posés, opérées dans le respect des intervenants, semblent être d’une autre dimension. Mais pas aujourd’hui.

Mon moulin à vent du jour ? Éviter les accumulations d’anglicismes dans une phrase technique. Une exclamation du genre « C’est bon ! J’ai pushé le commit dans ton repo, tu peux merger le fetch, mais n’oublie pas de vérifier le diff ! » est simplement du miel à mes oreilles. Les poètes peuvent se rhabiller : les techniciens prennent la relève. Et puis, j’aurais fière allure lorsque le soir, fort d’une journée harassante de travail, je me retrouverai au New Pip’s à narrer cette belle anecdote. Alors, la vertu des femmes s’effondrera, un vieux cousin Togolais viendra m’apporter en personne les millions de dollar qu’il m’a promis sur internet, et alors je n’aurai nul besoin d’utiliser « les trois questions qui les font toutes craquer » pour finir ma soirée en beauté.

Non mais sincèrement.

On est sûr, nous, informaticiens, de rester toujours en-deça de la côte de popularité des assistants expert-comptable avec un jargon aussi sexy. J’admet que tous les gens « du métier » auront compris. C’est bien le but d’un jargon. Ce n’est d’ailleurs pas en traduisant les concepts en français qu’on se fera mieux comprendre du quidam, ça reste un jargon : il faut avoir des notions de gestion de version pour comprendre. Non, c’est l’esthète qui s’exprime : cette phrase est ultra moche, bancale, on ne dirait même pas de l’Espéranto. Les juristes avaient eu le courage, en leur temps, de parler tous français dans les documents officiels lorsque la France était la référence en terme de justice. Alors, que diable, parlons tous anglais au travail. Reconnaissons cette victoire des bretons et rendons-leur hommage, plutôt que de bricoler des phrases sans queue ni tête.

Le problème que me pose, au fond, ce genre de phrase, c’est de faire croire que l’on maîtrise ce que l’on dit alors que l’on n’a pas cherché à faire l’effort de transposer les concepts manipulés dans la langue qui nous est familière, c’est-à-dire, a priori, votre langue maternelle, fut-ce le français ou le viêtnamien, ou que sais-je encore. La traduction, c’est l’appropriation. Si celle-ci s’avère difficile ou peu satisfaisante, alors il ne faut pas s’y attacher et préférer le terme original. « thread » et « pool » en font partie à mon sens. Mais il n’y a pas lieu de dire « commit » plutôt qu’ »altération », ou « pushé » plutôt que « publié ».

Dans le cadre littéraire, réaliser une bonne traduction d’une œuvre n’est pas chose aisée, mais peut valoir le coup. Je ne vois pas pourquoi il faudrait systématiquement renoncer à traduire les concepts informatiques pour lesquels la transposition du concept initial est pleinement satisfaisante. Il faut bien entendu connaître le terme original pour pouvoir continuer de progresser et comprendre les publications techniques. Je parle juste d’essayer de traduire, même pas forcément d’adopter le terme francisé en toute circonstance. De faire un effort de compréhension.

Sinon, on fini par arriver à des bijoux de sémantique comme le panneau suivant : « ACCES INTERDIT A TOUTE PERSONNE NON AUTORISEE ». Cette lapalissade me laisse sans voix, et je ne parle même pas de l’accentuation partie pisser. Mais c’est tellement plus informatif que « ACCÈS RESTREINT » ! L’industrie du pétrole a de beaux jours devant elle tant que les facteurs de panneaux continueront de sortir d’HEC (ou seront d’anciens ingénieurs système reconvertis)

L’œil du fermier vaut du fumier

Exceptionnellement, nous allons quitter le ton formel et sentencieux habituel pour une petite digression. Au sujet de cette noble activité qu’est le codage, qui compte autant d’églises que de croyants. Luttons contre une idée reçue : ceux qui préfèrent des langages incorporant nativement un ramasse-miette ne sont pas des sous-hommes qui ne connaissent rien à la vie. Vous aurez toutes les chances d’entendre cet argument modéré et cordial en écoutant deviser sereinement un codeur C et un codeur Java par exemple. Ce qui n’empêche pas que les codeurs Java sont des sous-hommes, ne me faites pas dire ce que je n’ai pas dit.

Au nom de quel principe aligner des lignes de malloc et de free confèrerait un savoir particulier aux codeurs C ? Sincèrement ? D’abord, la plupart des codeurs C font surtout des allocations. Désallouer est un problème mineur au vu des quantités de RAM disponibles aujourd’hui. Mais soit. Imaginons un codeur C qui fasse aussi de belles désallocations à point nommé. Genre, ça existe. Comment va-t-il soi-disant gérer sa mémoire ? Il va allouer dès qu’il en aura besoin, fera son traitement, et désallouera aussi sec. Une belle mémoire toute morcelée. C’était bien la peine de la ramener avec ses instructions bas niveau tiens. Pondre un beau modèle de gestion mémoire n’est pas donné au premier venu, et rarement adressé.

Deuxièmement, bénéficier d’un ramasse-miette ne dispense pas de gérer la mémoire. Généralement, ceux qui font du C++ un peu poussé l’ont compris, même si en contrepartie, ils continuent de faire du C++ alors que c’est quand même le langage le plus alambiqué du monde. Les nazes. Et dire que les mecs qui font du C++ raillent ceux qui font du Java. On marche sur la tête franchement. Faisons un pari : donnez à votre codeur C++ à écrire une classe Matrice qui implémente une addition. Que va-t-il vous pondre à votre avis ? Un bel opérateur ‘+’ qui renvoit une instance temporaire de Matrice ! Vous me devez 100€. Je n’ai aucun mérite, c’était prévisible. Votre petit codeur  C++ vient de vous morceler la mémoire, il ne s’en est même pas rendu compte : ses habitudes de codeur C lui collent à la peau. Donnez la même chose à faire à un codeur Java : même constat, ce qui monte votre ardoise à 200€. Celui-là ne vous morcelle pas forcément la mémoire, par contre il court à corps perdu vers le seuil qui déclenchera le ramasse-miette en saturant la mémoire disponible d’instances temporaires. Adieu veau, vache, cochon, performances, temps de réponse et client satisfait. Que fallait-il faire ? Une méthode d’addition à trois arguments qui ne fera que l’addition stricto sensu. Charge à l’utilisateur de gérer les allocations/désallocations au préalable. C’est moins beau, soi-disant moins lisible, mais au moins ça marche, et permet à l’utilisateur de gérer la mémoire s’il le veut.

Qu’avons-nous appris aujourd’hui ? Que rares sont ceux qui comprennent ce qu’implique la notion de gestion mémoire, mais que beaucoup croient le savoir. Ce qui laisse entrevoir toute une perspective de discussions stériles entre gens butés : j’adore !

Tags: , ,