Retour / Séminaire informatique / Documents et information / Extraits choisis traduits du Jargon File

La langue informatique

Cet article introduit quelques citations de l'ouvrage "Jargon File 4.0.0", un lexique qui inclut plus de 2000 définitions et comprend également un traité de style et une histoire de la langue et de la culture informatique. Il convient sans doute de se demander d'abord pourquoi il n'existe aucun ouvrage comparable en français. La langue informatique existe forcément en France puisqu'il y a des informaticiens pour la parler. Elle est dérivée de l'anglais. Attention : par "langue informatique", entendons uniquement la langue utilisée dans les rapports des gens entre-eux, à l'exclusion du langage utilisé pour interagir avec les machines.

Le Jargon File 4.0.0 sous forme ASCII Mac peut s'obtenir du serveur ftp Info_Mac. Pour voir une version html composez l'URL: http://www.ccil.org/jargon

Les extraits choisis ont pour but de jeter un peu de lumière sur la philosophie de l'informaticien. Celui-ci peut se dire programmeur ou utilisateur. Peu importe! Du rapport particulier qu'il entretient avec sa machine découle une certaine vision de la société.

Commençons par présenter le locuteur, celui qui participe à cette culture informatique et qui répond au nom de "hacker".

Le bidouilleur

Le terme original, "hacker", est repris tel quel en Allemagne, en Hollande, et en Scandinavie. Les hackers français semblent bien décidés à suivre ce courant. Autrement, la meilleure traduction française du terme "hacker" est sans doute "bidouilleur". Le terme français a des connotations péjoratives qui en feraient un synonyme de "bricoleur".

Etrangement, le terme anglais a d'autres connotations péjoratives qui le rapprochent de "cracker", qui se dit en français "pirate". Or les connotations péjoratives du mot anglais sont à rejeter sans plus de discussion puisque ceux-là mêmes qui ont écrit le lexique les repoussent en bloc et avec quelque véhémence. Les connotations du mot français sont plus difficiles à éloigner, d'abord parce que personne ne porte avec fierté le titre de "bidouilleur". Ensuite, le terme "tinkerer", qui désigne en anglais le "bricoleur" est lui-même autrement connoté et se rapproche par son sens à la fois de "inventeur" et de "artisan". Le "tinkerer" cite comme modèle le génial inventeur Thomas Edison pour qui l'idée dé départ est peu de chose comparée à l'effort requis pour sa réalisation. Si on voulait qualifier le "hacker" de "bricoleur", il n'aurait donc pas d'objection.

Les auteurs du Jargon File sont totalement opposés à l'abandon du terrain informatique au seul commerce. Il convient de le rappeler avant de vous livrer ces quelques traductions très ponctuelles où apparaît parfois une sorte d'antagonisme entre le programmeur et l'utilisateur. Cette lutte doit naturellement exister pour des raisons techniques mais il n'est pas nécessaire qu'elle implique une quelconque animosité de part et d'autre. L'un des buts de Jargon file est précisément de réduire cette lutte à ses justes proportions, le plus souvent à travers l'humour.


Notes du traducteur

J'adopte ici le principe de la traduction allemande du Jargon File où aucun des termes définis dans le lexique n'est modifié. Les termes demeurent donc en anglais dans le texte, avec des traductions entre parenthèses. Le hacker français, d'accord avec ses collègues allemands et scandinaves, conserve systématiquement l'anglais dans son jargon, qu'on le veuille ou non. Les explications sont traduites.


Plan de la compilation

On peut lire ces extraits dans l'ordre qu'on veut. L'extrait concernant le style des hackers est un bref manuel qui se trouve dans l'introduction au Jargon File. Les définitions sont en faible nombre et je les présente donc en classes plutôt qu'alphabétiquement. La première classe rassemble quelques termes qui décrivent ce qui constitue le "hacker" et le "user". La deuxième rassemble quelques termes révélateurs quant au développement de programmes et d'interfaces. La troisième regroupe quelques termes relatifs aux abus du réseau. La dernière contient des termes qui frappent par leur aspect folklorique.


Extraits traduits de "Jargon File 4.0.0"


Manuel de style de "Jargon File 4.0.0"

[Note : Il est démontré ici que, sous des allures parfois loufoques, la rédaction du hacker fait preuve d'une rigueur stylistique au moins égale à celle du littéraire.]

Le style du Hacker

====================

Nous avons vu que le hacker crée souvent le jargon en sur-généralisant des règles grammaticales. C'est un aspect d'une affinité plus générale pour les jeux linguistiques opposant le fond à la forme qui transparaît dans l'écriture hackienne. L'un de nos correspondants rapporte qu'il écrit systématiquement "fot" au lieu de "faux". D'autres encore nous signalent des glitches dans le Jargon File en remarquant (à la manière de Douglas Hofstadter) "cette phrase pas de verbe", "trop répépétitif", "mauvaise ortografe", ou "erreur d'es pacement". De semblables jeux de mots se construisent souvent à partir de phrases qui se rapportent à la confusion ou aux choses confuses: "brésion cérélale" au lieu de "lésion cérébrale" est assez courant (pareillement un hacker écrira probablement "excusez-moi, je suis euqixelsyd aujourd'hui" plutôt que "excusez-moi, je suis dyslexique aujourd'hui"). Ces choses sont très courantes et appréciées par tous.

Les hackers tendent à utiliser les guillemets comme des délimiteurs équilibrés, au grand désespoir des éditeurs américains. Si "Jean écrit", "Bill court", et "Spok groke" sont des expressions, un hacker écrira: "Jean écrit", "Bill court", et "Spok groke". Ceci est incorrect selon l'usage américain où les virgules et le point final doivent se placer à l'intérieur des guillemets. Cependant, il est contre-intuitif pour les hackers de mutiler des chaînes littérales avec des caractères qui n'en font pas partie. Etant donné le genre d'exemples donnés dans les discussions autour de la programmation, le style de citation américain peut induire des erreurs grossières. Quand on transmet des lignes de commande ou des petits bouts de code, les caractères supplémentaires sont vraiment pénibles.

Considérez par exemple une phrase dans un tutoriel vi qui se présente ainsi:

Effacez ensuite une ligne du fichier en tapant "dd".

Selon l'usage américain, il faudrait écrire:

Effacez ensuite une ligne du fichier en tapant "dd."

mais ce serait très mauvais parce que le lecteur aurait tendance à taper la chaîne d-d-point. Ce qui se passerait alors dans vi serait que le point répèterait la dernière commande acceptée. Le résultat serait l'effacement de deux lignes au lieu d'une. Le Jargon File adhère systématiquement à l'usage hackien pour le placement des guillemets.

Il est intéressant de noter qu'un style similaire est désormais généralement préféré en Grande Bretagne, bien que l'ancien style (qui s'est établi pour des raisons qui concernent l'esthétique des virgules et des guillemets dans le texte imprimé) soit encore admis. "Hart's Rules" et "Oxford Dictionary for Writers and Editors" qualifient maintenant le style hackien pour les guillemets de "nouveau" ou "logique".

Une autre habitude hackienne consiste à différencier les guillemets pour marquer le choix du vocabulaire et ceux qui marquent la citation ou le discours direct, c'est à dire, les guillemets simples (' ') dans le premier cas et les doubles (" ") dans le deuxième. Curieusement, certaines autorités admettent cela mais l'usage américain courant préfère la généralisation du guillemet double. Rapportons enfin que le hacker utilise indifféremment le guillemet simple (') et l'apostrophe (') étant donné que beaucoup de machines ne permettent pas de taper une apostrophe.

[note du traducteur: un manuel de style américain (le "Gregg") précise que la citation démarre avec un guillemet double et que la citation dans la citation est marquée par le guillemet simple. La citation dans la citation dans la citation se note par le retour au guillemet double, et ainsi de suite. L'emploi du guillemet simple proposé ici pour marquer spécifiquement le sens figuré inhabituel ou le terme sujet à controverses a l'inconvénient de compliquer l'alternance des guillemets doubles et simples dans les imbrications, convention hackienne avant la lettre. Le contexte permet sans doute de trancher dans les rares cas où les deux conventions utilisées en même temps se heurtent. Voir plus loin le paragraphe sur les imbrications de parenthèses.]

[renote du traducteur: la distinction entre ' et ' et " et " et enfin (en français) entre " et » est devenue floue. L'interconversion des différentes formes selon son goût personnel ou selon les exigences d'un éditeur est devenu un exercice de chercher/remplacer obligatoire. Pour exacerber encore le problème, les textes convertis par Netscape ont tendance à traduire tous les " et ' par des " et des ', respectivement, par souci de compatibilité avec toutes les machines. Notons enfin que les guillemets anglais commencent à être admis en France.]

Autre particularisme qu'on rencontre dans le style email des hackers Unix est la non-capitalisation de mots en début de phrase quand ces mots sont des mots de langages informatiques normalement écrits en lettres minuscules et quand les langages correspondants sont sensibles à la casse (noms d'utilisateurs ou commandes). Il est clair que pour beaucoup de hackers, la casse fait partie de l'orthographe du mot et ne peut être modifiée sans un effort mental considérable. Une manière d'éviter ce problème serait de ne jamais commencer une phrase par un tel mot.

Il semble y avoir une méta-règle derrière tout hackerisme selon laquelle la précision de l'expression est plus importante que la conformité aux règles traditionnelles. Quand ces dernières créent l'ambiguïté ou perdent l'information, elles sont ignorées sans façon. On peut noter que d'autres inventions hackiennes (le vocabulaire par exemple) véhiculent des nuances de sens très précises même si elles paraissent argotiques ou relachées. In fait, pour le hacker, le contraste entre la forme relachée et le contenu reserré est source d'humour.

Les hackers ont aussi mis au point un certain nombre de conventions pour la ponctuation et l'emphase qui s'adaptent aux caractères ASCII simples (sans accents et autres signes diacritiques) disponibles pour les communications en ligne (news, MUD, et autres forums) qui s'emploient encore quand le jeu de caractères étendu et les différents styles de caractères sont disponibles.

L'une de celles-ci veut que LE TEXTE TOUT EN MAJUSCULES SOIT ASSOURDISSANT. Si on n'utilise *que* des majuscules, un correspondant pourra dire: "Cesser donc de crier, vous me faites mal aux oreilles!".

Il est aussi courant d'entourer les mots de caractères inusités pour indiquer l'emphase. L'étoile est le plus courant. Ex. "Que *diable* se passe-t-il?" Il y a évidemment interférence avec l'utilisation de l'étoile pour le renvoi au bas de la page. Le tiret bas est aussi courant, particulièrement pour les titres de livres. Ex. "On ne trouve _Les_Fables_ de La Fontaine qu'en français sur l'Internet et on ne trouve _AEsop's_Fables_ qu'en anglais." On voit occasionellement d'autres formes: "=hell=", "\hell/", ou "/hell\" (d'aucuns prétendent que dans le dernier exemple, le premier slash pousse les lettres qui suivent vers l'italique et que le dernier les empêche de tomber). Enfin, les mots peuvent être soulignés C O M M E C E C I ou à l'aide d'une série d'accents circonflexes (^) sous ces mots dans la ligne suivante du texte.

Il y a une différence sémantique entre *l'emphase comme ceci* (qui souligne l'ensemble de l'expression) et *l'emphase* *comme* *ceci* (qui implique que l'auteur parle très lentement comme à un enfant ou une personne ayant du mal à comprendre). Entourer un mot d'étoiles peut également signifier que l'auteur veut que le lecteur comprenne qu'une action ou un son est en train de se produire. Exemples: *bang*, *hic*, *ring*, *grin*, *kick*, *stomp*, *mumble*.

On voit parfois ces mêmes sons sous la forme: <bang>, <hic>, <ring>, <grin>, <kick>, <stomp>, <mumble>. Cet usage provient des conventions du BNF mais, depuis 1993, il est renforcé par l'usage HTML.

Entourer un mot avec < > indique parfois aussi que le terme représente un membre d'une classe (ceci vient directement du BNF). Exemple: Un <préciser l'éthnie> entre dans un bar...

Il y a aussi une convention pour représenter l'effacement.

Le texte: "Cet idiot^H^H^H^H^Hindividu,"

se lit: "Cet idiot, euh, cet individu...".

Ceci vient du fait que le digraphe ^H s'emploie souvent pour représenter la touche d'effacement.

(...)

Dans une formule, * représente la multiplication mais ** représente l'exponentiation (ceci vient du FORTRAN). Ainsi on peut écrire: 2 ** 8 = 256.

Une autre notation pour l'exponentiation qui est plus courante est l'accent circonflexe (^, ASCII 1011110); on peut écrire: 2^8 = 256. Ceci vient du Algol-60, qui utilisait le symbole ASCII archaïque "flèche vers le haut" qui est ensuite devenu l'accent circonflexe. On retrouve ceci dans le BASIC original de Kemeny and Kurtz qui a ensuite influencé la conception des outils Unix bc(1) and dc(1), ce qui a renforcé cet usage sur le Usenet. Cette notation semble modérément confuse aux programmeurs C où ^ signifie "bitwise exclusive-or". Malgré cela, un sondage sur le Usenet a indiqué la préférence pour le ^ chez 3 personnes sur 4. Cette dernière convention est adoptée systématiquement par le Jargon File.

Dans les échanges en ligne, les hackers préfèrent les formes décimales ou les fractions quelconques (3.5 ou 7/2) au "style machine à écrire" (3-1/2). La motivation majeure ici est la lecture plus facile en police à espacement constant et un désir d'éviter le risque de lire "trois moins un demi". La forme décimale est préférée pour les fractions qui tombent juste. Une influence culturelle de la haute estime pour la notation scientifique entre peut-être en jeu ici. [note du traducteur: j'ignore si le "style machine à écrire" existe en français. Pour ce qui est de la notation scientifique, la dernière phrase est peu claire. En réalité, pour une publication scientifique où on rapporte beaucoup de nombres, le format décimal indique généralement une précision numérique bien définie, souvent spécifiée, et la convention pour les nombres sort alors du cadre du style pour le simple texte.]

Une autre convention en ligne pour les nombres très grands ou très petits vient du C (et du FORTRAN). C'est une forme de notation scientifique où e prend la place de 10^. Exemple: une année dure 3e7 secondes environ.

Le tilde (~) s'emploie communément devant un nombre où il signifie "approximativement". Exemple: "~50" signifie "environ 50".

Sur le Usenet et dans l'univers MUD, les opérateurs booléens, logiques et relationels du C, tels que '|', '&', '||', '&&', '!', '==', '!=', `>', '<', '>=', et '=<' se mélangent souvent à l'anglais. Le signe Pascal "différent de" (<>) s'emploie également et on rencontre parfois avec ce même sens /= (du Ada, Common Lisp, et Fortran 90). Le préfixe ! est un synonyme relaché de "pas" ou "non-". Exemple: "!idée" se lit "aucune idée".

Une pratique courante consiste à emprunter aux langages de programmation courants pour exprimer des idées au sein d'un texte en langage naturel. (...) Voici un exemple de pseudo-HTML utilisé à cet effet:

<flame>
La loi Toubon définit en quoi la linguistique ne fait pas partie des compétences du gouvernement.
</flame>

Vous verrez même des syntaxes avec modificateurs:

<flame intensity="100%">
S'arranger pour que les fonctions de base des programmes puissent s'utiliser sans connaissances ne revient pas à rendre inutile le manuel.
</flame>

Les hackers mélangent aussi plus librement les lettres et les nombres que ne le font les auteurs ordinaires. En particulier, il est conforme au bon style hacker d'écrire toujours une série de chiffres plutôt que le nom du nombre. Il faut préférer "les années 1970" à "les années mille neuf cent soixante-dix".

Notons aussi que les hackers n'hésitent pas à utiliser des imbrications de parenthèses. C'est certainement dû en partie à l'influence du LISP (qui utilise des imbrications profondes (comme ceci (vous voyez?)) dans sa syntaxe) mais on a également suggéré qu'un plaisir beaucoup plus fondamental entre en jeu, qui consiste à jouer avec la complexité et à pousser tous les systèmes jusqu'à l'extrême limite.

[note du traducteur/compilateur: cette pratique n'est pas vraiment une invention des programmeurs. Plusieurs niveaux d'imbrication de guillemets se rencontrent déjà chez les romanciers du XIXè. cf. Conan Doyle.]

Notons enfin que de nombreuses études de la communication en ligne ont montré que les liaisons électroniques retirent les inhibitions. Sans le ton et le langage gestuel qui expriment l'émotion, les gens tendent à tout oublier de leurs interlocuteurs sauf ce qui arrive en format ASCII. Ceci a des bons et des mauvais côtés. Un bon est que l'honnêteté est encouragé et que les relations hiérarchiques s'estompent. Un mauvais est qu'il y a dépersonalisation et parfois impolitesse gratuite. Peut-être pour y couper court, les internautes expérimentés affichent une sorte de courtoisie formelle dans leur écriture qui est passée de mode en d'autres médias.

Beaucoup de hackers introvertis qui ont du mal à parler communiquent avec aisance sur le net, peut-être précisément parce qu'ils oublient inconsciemment qu'ils ont affaire à des gens et qu'ils ne ressentent pas le stress et l'anxiété qu'ils éprouvent lors de conversations face à face.

Bien qu'il soit gauche de critiquer la mauvaise orthographe ou les fautes grammaticales, le net place la connaissance de l'écriture et la clarté d'expression au-dessus de tout. Il est même possible que les historiens du futur y voient une renaissance de la grande tradition de la lettre personnelle en tant que l'un des beaux-arts.


Définitions traduites de "Jargon File 4.0.0"

[Note : Le Jargon File présente évidemment ses définitions dans l'ordre alphabétique. Vu le faible nombre de termes traduits ici, j'ai préféré les présenter en classes selon leur contenu, puisque c'est pourquoi je les ai choisis. Les classes proposées sont miennes et ne figurent en aucune façon dans le Jargon File.]

1. Termes qui décrivent ce qui constitue le "hacker" et le "user"

hack

----

1. /n./ A l'origine, une réalisation rapide qui répond au besoin, mais mal. 2. /n./ Une réalisation incroyablement bonne, qui a peut-être réclamé beaucoup de travail, et qui répond exactement au besoin. 3. /vt./ Supporter physiquement ou émotionellement. "Je ne peux pas hacker cette chaleur!" 4. /vt./ Travailler à quelque chose (généralement un programme). Sens immédiat: "Que faites vous?" "Je suis en train de hacker TECO." Sens étendu dans le temps "Quel est votre travail ici?" "Je hacke TECO." Plus généralement, "Je hacke 'foo'" signifie que "'foo' est mon sujet ou projet principal. "Je hacke la physique des solides." 5. /vt./ Faire une farce. 6. /vi./ Interagir avec un ordinateur d'une manière ludique ou exploratoire plutôt qu'en fonction d'un but bien précis. "Que faîtes-vous?" "Oh, je ne fais que hacker." 7. /n./ Forme courte de "hacker". 8. nethack. 9. [MIT] /v./ Explorer les caves et les toits d'une institution, ce qui provoque l'ire des ouvriers de maintenance et (puisqu'il s'agit d'institutions d'enseignement) de la police du campus. Cette activité s'avère très voisine des jeux d'aventures et de rôles tels que Dongeons et Dragons ou Zork.

hacker

------

/n./ [a l'origine, quelqu'un qui construirait des meubles en ne se servant que d'une hache.] 1. Une personne qui explore en détail les systèmes programmables pour en étendre les capacités, ce qui s'oppose à l'approche de la majorité des utilisateurs qui préfère généralement n'apprendre que le minimum néecssaire. 2. Quelqu'un qui programme avec enthousiasme (ou même obsessivement) ou qui préfère la programmation à la simple idée de la programmation. 3. Une personne capable d'apprécier la qualité de la programmation. 4. Une personne sachant programmer rapidement. 5. Un utilisateur expert d'un programme donné ou quelqu'un qui s'en sert souvent pour son travail; ex. "un hacker Unix". (Les définitions 1-5 sont corrélées, et les gens qui y correspondent forment un groupe.) 6. Un expert ou enthousiaste. Un hacker d'astronomie 7. Quelqu'un qui apprécie le défi intellectuel de vaincre ou contourner créativement les limitations. 8. [péjoratif, contre-sens] Un malveillant qui essaie de découvrir l'information secrète. Hacker de mots de passe. Hacker de réseaux. Le terme correct pour le sens 8 est "cracker".

Le terme hacker implique l'appartenance à la communauté globale définie par le net. Il implique aussi que la personne souscrit d'une façon ou d'une autre à l'éthique du hacker.

Il est préférable d'être appelé hacker par d'autres que de se définir ainsi. Les hackers considèrent qu'ils font partie d'une élite (une méritocratie basée sur la capacité) où les nouveaux membres sont toujours les bienvenus. Se définir comme hacker flatte la vanité (mais s'il s'avère qu'on ne l'est pas, on est vite qualifié de "bogus" (faux hacker)).

hacker ethic

------------

/n./ 1. La croyance que le partage de l'information est une puissante source de bien positif, et que c'est le devoir éthique des hackers de partager leur expertise en écrivant des logiciels gratuits et en facilitant l'accès aux ressources informatiques chaque fois qu'ils le peuvent. 2. La croyance que l'entrée illicite dans les systèmes protégés pour l'amusement est éthiquement OK du moment que le cracker ne vole rien, ne détruit rien, et ne dévoile par suite aucune information confidentielle.

Ces deux principes éthiques normatifs sont largement, mais pas universellement, admis par les hackers. La plupart des hackers souscrivent au sens 1 et beaucoup agissent dans ce sens en écrivant et en offrant des logiciels. Certains vont plus loin et affirment que toute information doit être gratuite et que tout contrôle propriétaire est mauvais. C'est sur cette dernière philosophie que s'appuie le projet GNU.

Le sens 2 est plus controversé: d'aucuns considèrent que le cracking est en lui-même contre l'éthique, comme l'entrée par effraction. Cependant il y a la croyance que la cracking "éthique" exclut la destruction. De ce point de vue, c'est peut-être la plus haute forme de courtoisie hackienne de (a) forcer l'entrée dans un système, puis (b) expliquer au responsable, de préférence par courrier interne, comment on s'y prend et comment boucher le trou.

L'une ou l'autre version de l'éthique du hacker est manifeste dans le fait que presque tous les hackers sont activement volontaires pour partager leurs trucs techniques, logiciels et (quand c'est possible) leurs ressources informatiques avec d'autres hackers. Les énormes réseaux coopératifs tels que Usenet, FidoNet et Internet peuvent fonctionner sans contrôle central à cause de cela. Les deux versions dépendent d'un sens communautaire et cette éthique représente, parmi tous les fonds intangibles de la hackauté, celui qui a le plus de valeur.

Le sens du mot "hack" [complément d'information extrait de l'annexe]

====================================================================

Selon le hacker du MIT, Phil Agre, "Le mot 'hack' n'a pas vraiment 69 sens différents. En fait, il n'en a qu'un seul qui est extêmement profond et subtil et qui résiste à l'articulation. La connotation impliquée par le mot dépend d'une façon pareillement profonde du contexte. (...)"

Le hacking peut se définir comme "l'application appropriée de l'ingéniosité". Qu'il en résulte un patchwork bâclé ou une oeuvre d'art finement ciselée, on ne peut qu'admirer l'astuce déployée pour arriver au résultat.

user

----

/n./ 1. Quelqu'un qui effectue un "vrai travail" avec l'ordinateur, qui y voit un moyen plutôt qu'une fin. Quelqu'un qui paie pour utiliser un ordinateur. 2. Un programmeur qui croit tout ce que vous lui dîtes. Quelqu'un qui pose des questions stupides. [GLS observe: Ceci est légèrement injuste. Il est vrai que les users posent des questions (par nécessité). Il leur arrive d'être réfléchis ou profonds. Elles sont très souvent agaçantes ou simplement stupides, apparemment parce que le user a omis de penser une ou deux secondes ou de regarder sa documentation avant d'appeler à l'aide.] Dans ce sens on dira luser. 3. Quelqu'un qui utilise un programme de l'extérieur, parfois avec art, sans entrer dans les entrailles du programme. Quelqu'un qui rapporte les bugs au lieu de les réparer.

La théorie générale derrière ce terme est qu'il y a deux classes de gens qui travaillent avec un programme: il y a les réalisateurs (hackers) et il y a les users. Les users sont méprisés des hackers jusqu'à un certain point parce qu'ils ne comprennent pas toutes les ramifications du système dans toute sa gloire. (Les quelques users qui comprennent sont appelés "real winners".) Le terme est relatif: un hacker expérimenté peut être un user par rapport à un programme ou un aspect d'un programme qu'il connaît mal. Un hacker LISP peut entretenir le LISP ou simplement l'utiliser avec beaucoup d'art. Un user LISP l'utilise, avec ou sans art. Ainsi il y a un certain recouvrement des deux termes. Les distinctions subtiles doivent se résoudre par le contexte.

2. Termes révélateurs quant au développement de programmes et d'interfaces.

feature

-------

/n./ 1. Une bonne propriété ou un bon comportement d'un programme. Qu'il soit ou non voulu importe peu. 2. Une propriété ou un comportement voulu pour un programme. Qu'il soit bon ou mauvais importe peu. 3. Une propriété ou un comportement surprenant, se dit particulièrement d'une divergence voulue pour un meilleur fonctionnement. 4. Une propriété ou un comportement gratuit ou pas nécessaire, bien qu'impressionant ou mignon. Par exemple, la possibilité d'imprimer deux formats différents pour les chiffres romains avec le LISP. 5. Une propriété ou un comportement ajouté pour le bénéfice de quelqu'un d'autre et qui se trouve vous barrer la voie. 6. Un bug qui a été documenté. Appeler une chose un feature signifie parfois que l'auteur du programme n'a pas pris en compte un certain cas et que le programme a réagi d'une manière surprenante mais pas vraiment fausse. Plaisanterie standard: un bug documenté devient un feature et personne ne peut s'en plaindre parce que c'est écrit dans le manuel. Mieux, on peut déclarer que le bug est bon à quelque chose. Autre plaisanterie standard: Un feature non documenté est un euphémisme pour bug.

misfeature

----------

/mis-fee'chr/ or /mis'fee`chr/ /n./ Un feature qui cause un mauvais fonctionnement, possiblement parce qu'une situation a évolué. Etant donné qu'il résulte d'un feature délibéré et proprement réalisé, un misfeature n'est pas un bug. Ce n'est pas non plus un effet secondaire imprévu. Le terme implique que le feature en question a été soigneusement étudié mais ses conséquences à long terme n'ont pas été prévues avec une justesse suffisante (ce qui est tout de même très différent de n'avoir rien prévu du tout). Un misfeature peut poser un problème majeur parce que sa réparation requiert un changement philosophique important pour la structure affectée.

De nombreux misfeatures (surtout dans la conception des interfaces-utilisateur) naissent parce que les concepteurs/réalisateurs prennent leurs goûts personnels pour des lois de la nature. Un feature devient souvent un misfeature parce que des compromis sont admis sur des bases qui changent par la suite.

bug

---

/n./ Une propriété ni voulue ni désirée d'un programme, surtout un qui cause un mauvais fonctionnement. Antonyme: feature. Exemple "Il y a un bug dans l'éditeur: tous les mots sont écrits à l'envers."

misbug

------

/mis-buhg/ /n./ [MIT] Une propiété non voulue d'un programme qui s'avère utile. Une chose qui aurait dû être un bug mais qui est un feature. Usage: rare.

creeping featurism

------------------

/kree'ping fee'chr-izm/ /n./ 1. La tendance systématique à toujours ajouter des nouveaux features aux systèmes quitte à sacrifier ce que ces systèmes pouvaient avoir d'élegant au départ. 2. Plus généralement, la tendance des choses compliquées à le devenir encore plus parce que les gens ne cessent de dire: "Dîtes donc! Ce serait quand même bien s'il y avait aussi tel ou tel autre feature." Le résultat est généralement un patchwork accumulé au pas-à-pas, sans planification. Le planning demande beaucoup de travail alors que c'est très facile d'ajouter juste un petit feature supplémentaire pour rendre service à quelqu'un... puis un autre... et un autre... Quand le creeping featurism échappe à tout contrôle, c'est comme un cancer. Ce terme décrit habituellement les programmes d'ordinateur mais on peut en dire autant des formulaires pour les impôts et des nouvelles voitures.

creationism

-----------

/n./ La croyance (fausse) que des grandes innovations dans la conception de logiciels peuvent être complètement spécifiées à l'avance puis réalisées de toutes pièces à partir de rien au prix d'efforts normaux de la part de programmeurs aux talents normaux. En fait, l'expérience a montré de façon répétée que les bonnes conceptions ne naissent que d'évolution, de l'interaction exploratoire entre un (ou tout au plus une poignée de) concepteur(s) exceptionnel(s) et une population d'utilisateurs actifs. L'expérience montre aussi que le premier essai d'une grande idée échoue toujours. Malheureusement, étant donné que ces vérités ne se coulent pas aisément dans les moules du management, elles sont le plus souvent ignorées.

WYSIWYG

-------

/wiz'ee-wig/ /adj./ "What You See Is What You Get" "Ce que vous voyez est ce que vous obtenez." Décrit une interface de type "point and shoot" ("visez et tirez") où ce qui s'affiche à l'écran ressemble à ce qui est imprimé. Le contraire de celle qui fait appel à des commandes plus ou moins obscures qui affectent l'impression sur papier sans changer l'allure de l'écran. Le véritable WYSIWYG est un idéal rarement atteint. Variantes: WYSIAWYG (What You See Is *Almost* What You Get [ ce que vous voyez est *presque* ce que vous obtenez ]), WYSIMOLWYG (What You See Is More or Less What You Get [ ce que vous voyez est plus ou moins ce que vous obtenez ]) and WYSIAYG ("What You See Is *All* You Get" [ ce que vous voyez est *tout* ce que vous obtenez ]). Les variantes sont plus ou moins péjoratives et la dernière désigne des interfaces stupidifiées visant exclusivement les non-programmeurs.

YAFIYGI

-------

/yaf'ee-y*-gee/ /adj./ [calqué sur WYSIWYG] Désigne l'interface de type "ligne de commande". Le contraire de WYSIWYG. Signifie "You asked for it, you got it" (vous l'avez demandé et vous l'avez eu), parce que ce que vous avez demandé ne devient généralement apparent que quand c'est bien trop tard pour y changer quelque chose. Utilisé pour souligner la perversité ("les *vrais* programmeurs utilisent des outils YAFIYGI ...et sont ravis!") ou, plus rarement, un compromis ("Seul un outil YAFIYGI a suffisamment de flexibilité à cause de son interface programmable.").

flowchart

---------

/n./ [techspeak] (organigramme) Une forme archaïque de spécification visuelle du contrôle de l'exécution d'un code qui emploie des flèches et des bulles de formes diverses. Les hackers n'utilisent jamais les organigrammes, les trouvent extrêmement stupides, et les associent aux programmeurs COBOL, à ceux qui regrettent les cartes perforées, et à d'autres autres espèces inférieures. Cette attitude découle (si on peut dire) de la constatation que les organigrammes (du point de vue du hacker) ne sont pas plus faciles à lire que le code, sont moins précis, et tendent à prendre du retard par rapport au code (de manière à obscurcir le code, plutôt que de l'éclairer, ou à exiger un effort de maintenance qui n'améliore en rien le code).

user-friendly

-------------

/adj./ (convivial) Programmer-hostile (ironiquement et par double inversion du sens: hostile aux programmeurs). Utilisé par les hackers d'un ton critique pour désigner les systèmes qui guident la main de l'utilisateur si lourdement que tout travail y devient douloureux pour l'utilisateur plus expérimenté.

user-obsequious

---------------

/adj./ (convivial avec raffinements de cruauté). Un système qui est si encombré d'écrans d'aide, si inflexible et résolument simple d'esprit qu'il en devient presque inutilisable. "Concevez un système que n'importe quel imbécile peut utiliser et seul un imbécile l'utilisera."

3. Termes relatifs aux abus du réseau.

flame

-----

1. /vi./ Envoyer un email dans le but d'insulter ou de provoquer. 2. /vi./ Discourir sans cesse ou rageusement sur un sujet relativement inintéressant ou en adoptant une attitude dont le ridicule est patent. 3. /vt./ L'un des sens 1 ou 2, dirigé avec hostilité vers une personne ou un groupe de personnes. 4. /n./ Une occurence de flaming. Quand une discussion dégénère en controverse oiseuse, on peut déclarer aux participants "Now you're just flaming" ou "Stop all that flamage!" pour essayer de les calmer.

troll

-----

/v.,n./ [vient du groupe Usenet alt.folklore.urban] Poster un message sur le Usenet conçu pour attirer la flame ou des réponses prévisibles. Vient de la pêche où le terme signifie trainer un appât à travers un endroit prometteur. Un troll bien construit induit les nouveaux-venus et les flamers à se montrer plus démunis que d'habitude, tout en faisant savoir aux connaisseurs qu'il s'agit d'un troll délibéré. Si vous ne tombez pas dans le piège, vous pouvez en rire.

D'aucuns prétendent que le troll est une catégorie plus étroite que le flame bait (l'appât de flame), le troll étant caractérisé par la présence d'une assertion fausse sans être sujette à controverse.

spam

----

/vt.,vi.,n./ [vient de "Monty Python's Flying Circus"] 1. Provoquer le plantage d'un programme et saturant une mémoire-tampon de taille constante avec une quantité excessive de données à l'entrée. 2. Provoquer l'innondation d'un newsgroup par des messages sans rapport avec le sujet. Vous pouvez spammer un newsgroup avec rien de plus qu'un petit message bien (ou mal) conçu. Exemple: envoyer "Que pensez-vous de l'avortement?" au groupe soc.women. Ceci s'effectue le plus souvent par posting croisé. Exemple: un message posté à la fois à alt.rush-limbaugh et alt.politics.homosexuality va presque inéluctablement spammer les deux groupes. 3. Envoyer séparément un grand nombre de messages identiques ou presque identiques à une grand nombre de newsgroups Usenet. Vous êtes sûr de mettre presque tout le net en colère de cette façon.

Les sens 2 et 3 sont plus courants depuis que l'Internet s'est ouvert aux non-techies et le sens 3 est maintenant (1995) primaire pour les Usenetters. Ce sens se généralise même hors du domaine informatique.

4. Termes qui frappent par leur aspect folklorique.

bodysurf code

------------------

/n./ Un programme ou un segment de code écrit à la hâte sous l'effet d'une inspiration subite et qui ne bénéficie pas d'une conception raisonnée ou de réflexion profonde. Comme dans le sport du même nom, le résultat est bien souvent que le programmeur mange du sable.

wave a dead chicken

-------------------

/v./ (agiter un poulet mort) Exécuter un rituel qu'on croit futile autour d'un logiciel ou une machine en panne dans le seul but de convaincre d'autres qu'on a fait tout ce qu'on a pu. "Je vais agiter un poulet mort au-dessus du code source mais je crois vraiment qu'on a affaire à un bug dans l'OS"

snarf & barf

------------

/snarf'n-barf`/ /n./ (bouffer et vomir) L'action qui consiste à copier une région de texte pour la coller dans une autre (ou dans la même) afin d'éviter de saisir une ligne de commande.

bondage-and-discipline language

-------------------------------

/n./ Un langage (tel que Pascal, Ada, APL, ou Prolog) qui, bien qu'ostensiblement généraliste, est conçu de telle façon qu'il impose par la force la théorie de son auteur en ce qui concerne la façon "correcte" de programmer, en dépit du fait que la théorie en question est démontrablement insuffisante pour le hacking de systèmes ou même pour la programmation généraliste la plus simple qui soit. Abbréviation courante: "B&D'"; ainsi on peut parler de choses qui "sont de nature B&D".

point-and-drool interface

-------------------------

/n./ "pointer et baver". Parodie du terme "pointer et cliquer" qui décrit une interface à base de fenêtres, d'icônes et de souris, comme celle du Macintosh. L'implication, naturellement, est qu'une telle interface n'est destinée qu'aux idiots.

DAU

---

/dow/ [FidoNet allemand] /n./ Acronyme allemand pour: dümmster anzunehmender User (l'utilisateur le plus stupide imaginable). Calqué sur le jargon de l'industrie nucléaire: GAU (größter anzunehmender Unfall (l'accident nucléaire le plus grave qu'on puisse imaginer)).

[Note du compilateur: Il ne faut pas s'imaginer que les deux dernières définitions montrent que le hacker méprise à la fois la simplicité et l'utilisateur. L'interface simple est un résultat désirable mais très difficile à obtenir. "DAU" n'est pas une insulte. C'est plutôt la personification de la notion de "bétonnage" du programme en cours de développement, à savoir, le fait de prévoir, intercepter et traiter toutes les erreurs, même les moins probables. Les moins probables d'entre toutes ne pourraient en réalité être déclenchées que par un fou, d'où l'expression. Si le "DAU" est prévu, le programme peut passer de bon à excellent, autrement, il peut devenir fragile.]

[ Dernier complément d'information : le paragraphe concernant la personification des programmes est extrait de l'article d'introduction sur la construction du jargon.]

La personification

==================

Sémantiquement, une source riche de jargon est la tendance hackienne à personifier les machines et les logiciels. Ceci n'a rien de naïf: Le hacker ne personifie pas les choses par sentiment de complicité, ni parce qu'il entretient la croyance mystique que les choses auxquelles il travaille tous les jours sont "vivantes". Il est cependant courant d'entendre parler de la machine ou du logiciel comme s'il contenait des petits hommes en conversation, avec des intentions et des désirs. Ainsi on entend "Le gestionnaire de protocoles s'emmêle les pinceaux" ou que le programme "essaie" de faire quelque chose. On peut dire d'une routine que "son but dans la vie est X". On entend même des explications telles que "...et son pauvre petit cerveau ne pouvait comprendre X et il est mort". Il arrive que cette façon de modéliser les choses les rende plus faciles à comprendre, peut-être parce qu'il est instinctif et naturel de penser qu'une chose qui exhibe un répertoire complexe de comportements ressemble plus à une personne qu'à une chose.


Conclusion

Mon propos (entre autres) dans cette série d'articles est rapporter quelque savoir utile dans la fabrication d'objets informatiques tels que les pages web. Le traité de style semble évidemment pertinant pour la rédaction de textes. Mais la page web réclame aussi une part de programmation où la réussite est sans cesse menacée par les suppositions sans fondement, les compromis entre ce qu'on veut et ce qu'on peut et quelquefois les obstacles insurmontables. Le jargon file semble de prime abord véhiculer un humour décalé à partager entre spécialistes. Il amène aussi des informations précises, parfois drôles, mais nullement décalées par rapport à mon propos.


Liens

Arborescences monstrueuses

Clefs: 
discussion
jeu
langue
vocabulaire

Retour / Séminaire informatique / Documents et information / Extraits choisis traduits du Jargon File