“Littéraires”, le code est fait pour vous!

Le 18 juin 2011

if filière == 'L' && options.include?('grec ancien') && lecture['Proust'] == 'facile' apprendre['coder'] = 'pas si dur' end

Billet initialement publié sur le Datablog.

Traduction du chapô écrit en (pseudo) Ruby : « Si toi aussi tu as eu haut la main un bac L option grec ancien, si toi aussi tu as décortiqué Proust en licence (demi) finger in the nose, alors toi aussi mets-toi à la programmation. »

Voilà six mois, il me semblait encore que le code me serait à jamais inaccessible car j’étais une « littéraire » pure et dure. C’est en fait l’inverse : si vous êtes un bon littéraire, vous pouvez tout à fait vous lancer dans le bain.
Provocation non étayée ? Non, j’ai lu et digéré une bonne partie d’un livre sur le HTML et le CSS en trois week-ends et j’attaque SQL, et pour l’heure ça passe. Il n’est pas du tout nécessaire d’avoir un super cerveau combinant les qualités du littéraire et celles du scientifique. C’est ce que je m’imaginais de ces journalistes américains se mettant à des codes au nom barbare. Le site de Morgane Tual me faisait baver d’envie : c’est elle qui l’a fait et il est bô ! Et elle est plus jeune que moi ! Elle semble humaine ! Et que dire de Larry Wall qui a créé Perl pour ses propres besoins ?

En réalité, il y a juste une énorme méprise sur la définition du littéraire, réduit à des clichés erronés qui du coup réfrènent des ardeurs. Le littéraire, c’est un rêveur, un sensible, quelqu’un de pas très rigoureux ni rationnel. Je ne sais pas pourquoi j’emploie le masculin, le littéraire, c’est une fille forcément. Nan mais LOL. La logique et la rigueur ne sont pas un dans un seul camp, ce sont des qualités que l’on applique à des champs de compétence différents.

Et comme tout ceci est un peu théorique, passons à des exemples qui vous déverrouilleront ce préjugé. Un bon littéraire, c’est quoi en fait ?

C’est une personne qui est capable d’écrire en quatre heures une analyse décortiquant un texte ou traitant une question de philosophie. Traduction : c’est une personne qui a des capacités de raisonnement abstrait poussées.

C’est une personne qui est capable de faire une version grecque ou allemande. Traduction : c’est une personne qui maitrise un langage (grammaire, syntaxe, conjugaison) d’une telle complexité qu’elle dégoûte les élèves avant même qu’ils s’y lancent. Pour ceux qui n’ont pas fait de grec ancien, sachez qu’une erreur de cas et le nom qui occupait la fonction COD occupe la fonction COI. Donc, le sens de la phrase est changé. Et il en va de même pour les verbes.

C’est une personne qui a planché sur la rhétorique, appliquée entre autres à l’argumentation. L’argumentation, vous savez, cet enchaînement implacable qui vous permettra de convaincre votre interlocuteur ou au contraire de démonter la fallacité de sa pensée (exercice chaudement recommandé sur l’invité politique de la matinale). D’ailleurs, c’est ce que je suis en train de faire, là, pour la faire brève, c’est un syllogisme : pour pouvoir coder, il faut être rigoureux. Or le littéraire est en fait rigoureux. Donc le littéraire peut coder. CQFD :)

J’irais bien faire un p’tit tour du côté de la syntaxe de chez Proust

C’est une personne qui est capable de décortiquer la structure d’une phrase de Proust. Allez pour le plaisir, voici le décorticage d’une phrase extraite de Combray. Vu que j’ai oublié mes leçons, c’est mon prof de lettres classiques de papa qui l’a fait. Je lui dédie d’ailleurs ce billet, lui qui <span id=”privatejoke”>lit Homère à livre ouveeeeeert en VO</span>, va donc recevoir le PHP pour les n00bs lors de la prochaine fête des pères et le dévorer.

« Que (tournure latine “quod” si, élégance rhétorique) // s (si sous sa forme élidée, conjonction de condition, introduit une subordonnée de condition) ‘il s’assoupit dans une position encore plus déplacée et divergente, par exemple après dîner (compléments circonstanciel de temps) assis (participe passé apposé au sujet “il”) dans un fauteuil (complément de lieu), alors le bouleversement sera complet dans les mondes désorbités (proposition principale 1), le fauteuil magique le fera voyager à toute vitesse dans le temps (proposition principale 2 juxtaposée) et (coordination) dans l’espace, et au moment d’ouvrir les paupières (complément de temps), il se croira couché quelques mois plus tôt dans une autre contrée. (proposition principale 3) »

Et que se passe-t-il dans le crâne d’un gamin à qui l’on demande de retrouver tous les phrases exclamatives ? Ben une requête SQL, bien sûr :

SELECT phrase FROM texte WHERE ponctuation finale = ‘!’

Et quand on me demande s’il faut accorder le participe passé dans cette phrase : « les fichiers que la Cnil a critiqué(?) » ? Je vérifie qu’elle valide bien le mini-script suivant :

Si COD avant verbe alors accord du participe passé.

Bon dans la réalité, c’est souvent un peu plus compliqué, car le sens des phrases voire le contexte sont souvent primordiaux pour analyser mais il y a bien un côté mécanique.

Le but de ma démonstration, c’est de décomplexer les littéraires en mettant en avant leur rigueur qui n’a rien à envier à celle des scientifiques. Scientifiques qui au passage, ne crachent pas sur l’intuition pour progresser dans leurs recherches. Comme le codeur, il doit bâtir des architectures complexes pour développer son raisonnement ; comme le codeur, il doit maîtriser un langage et, excusez-moi mais la syntaxe et le vocabulaire de Ruby, c’est d’une pauvreté comparé à l’allemand :p.

Ce qui me manquait jusqu’à présent, c’était la motivation pour effectuer ce nouvel apprentissage. J’ai aimé apprendre le subjonctif 2 à la voix passive en allemand, jongler avec les déclinaison et gober des kilos de vocabulaire parce qu’il y avait la satisfaction d’échanger avec une personne étrangère dans une langue correcte.

J’espère avoir la joie de pouvoir, dans les mois qui viennent, développer, une application sur les accidents nucléaires en France, accompagné par nos amis codeurs. Cela voudra dire que je suis allée au bout de SQL mais aussi de Ruby ou PHP.

Chiche ? Bah, ça ne coûte rien d’essayer, le temps est pourri le week-end en ce moment :) Je ferai un carnet de bord de cette expédition d’une littéraire au pays du code. N’hésitez pas à partager votre expérience en commentaire sur le sujet !

NB : oui oui, html et css, c’est pas du code au sens pur du terme, mais on n’avait que ce livre sous la main.

NB 2 : je pars avantagée dans la course : j’ai un geek à 1 mètre de moi qui au moindre piaillement d’incompréhension, me refait les explications. cc @Bourdieu

Laisser un commentaire

  • mangouste06 le 18 juin 2011 - 17:22 Signaler un abus - Permalink

    HTML et CSS servent à la création d’un arbre de noël. HTML, pour l’arbre. CSS pour la décoration de noël.

    L’arbre dans ce cas s’appelle DOM.

    Ce n’est pas de l’algorithmie.

    Par ailleurs, votre argumentaire se rapproche de mon idée qu’un programme est une œuvre d’art.

    G.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • c++ le 18 juin 2011 - 18:46 Signaler un abus - Permalink

    Prochaine étape : tentez un vrai langage de programmation et surtout penchez vous sur l’algorithmique.

    Et ensuite, refaites un article pour nous dire si c’est toujours aussi simple.

    Après la programmation n’est pas une affaire de sciences mais plutôt de logique.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • imbolcus le 18 juin 2011 - 19:14 Signaler un abus - Permalink

    Il ne faut pas oublier que tout programme informatique est soumis au droit d’auteur :)
    Un programme informatique est une œuvre purement intellectuelle au même titre qu’un roman ou un tableau !

    Les informaticiens (et les développeurs en particulier) ont bien plus a voir avec des littéraires que des mathématiciens ou des physiciens…

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Clochix le 18 juin 2011 - 20:26 Signaler un abus - Permalink

    Si la motivation pour apprendre une langue est “d’échanger avec une personne étrangère dans une langue correcte”, elle sera la même pour les langages informatiques: échanger correctement avec un objet. C’est moins visible aujourd’hui avec le Web, mais du temps où j’ai commencé à découvrir la programmation, au début des années 80, on communiquait vraiment avec le PC, on cherchait à le comprendre et à apprendre son langage pour lui faire faire des choses. Et il répondait, souvent par des messages d’erreur, parfois en faisant le tour qu’on lui demandait. Le LOGO enseigné aux enfants dans ces années là était une bonne idée: il permettait de piloter une tortue, donc de communiquer avec un robot. Apprendre l’informatique et l’électronique, pour moi, c’est ça: apprendre à dialoguer avec ces machines de plus en plus présentes dans notre environnement.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Jasonides le 18 juin 2011 - 22:21 Signaler un abus - Permalink

    Que voulez-vous dire par “faire un site”? Morgane Tual n’a pas fait son site, elle a déployé un WordPress, ce qui n’a rien à voir avec de la programmation. Quant aux idées reçues sur le littéraire versus le matheux, je me demande ce qu’en penseraient des personnages comme Jacques Roubaud, ou l’Oulipo en général. Car pour ce concerne de “décomplexion” du littéraire, ils se posent là. L’idée de la formalisation des langages ordinaires est une très vieille affaire (début XXe siècle).

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Michel le 19 juin 2011 - 1:14 Signaler un abus - Permalink

    “Un bon littéraire, c’est quoi en fait ? C’est une personne qui est capable d’écrire en quatre heures une analyse décortiquant un texte ou traitant une question de philosophie.”

    J’ose espérer que vous plaisantez…

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Pak le 19 juin 2011 - 10:43 Signaler un abus - Permalink

    Très léger, comme article, pour du littéraire. Le HTML et le CSS sont un peu les “J’aime lire” du développement, si on devait faire une comparaison.

    On pourra comparer à du Proust quand vous développerez en C++ en utilisant toutes ses subtilités, et encore! Le lien est flou.

    Quand à la définition du littéraire, elle me laisse perplexe, mais c’est sans doute parce que je suis plus orienté littérature de l’imaginaire…

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Schacka le 19 juin 2011 - 13:13 Signaler un abus - Permalink

    Le littéraire, c’est celui qui donne ou extrait du sens
    dans un document écrit, le reste, cad le support, la présentation… etc, c’est de la technique fonctionnelle
    ou formelle qui servent le signifiant et rien d’autre. Substituer la forme au fond est le danger qui menace tout
    bloggeur, privilégier une plateforme type Wordpress ou autre vous libèrera des contraintes accessoires afin se mieux vous concentrer sur le travail rédactionnel .

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Mathieu le 19 juin 2011 - 18:09 Signaler un abus - Permalink

    Pour rester dans les termes littéraires, on appelle déclaratif les langages comme le CSS ou le HTML (on l’on décrit le quoi) et impératifs les langages comme PHP, Python ou Ruby ou l’on décrit le comment. Et ce n’est pas parce que les langages déclaratifs ne sont pas Turing complet qu’ils sont impurs.

    Un des pièges de la programmation serait de prêter une quelconque attention aux propos arrogant et moralisateurs qui vous diront que ces langages n’appartiennent pas réellement au monde de la programmation.
    Pour les comprendre, il faut savoir que des langages comme le C++ ou le Java torturent l’esprit et qu’un contact prolongé avec ceux ci ne peux rester sans conséquences.

    Pour débuter la programmation impérative, je conseille toujours Python, qui est aussi puissant que simple a appréhender (et qui a aujourd’hui, beaucoup plus d’avenir que PHP). Un très bon ouvrage est disponible sur le Web “Learn python the hard way” par Zed Shaw, ou aussi “Apprendre a programmer avec Python” de Gérard Swinnen (pas sûr que ce dernier soit disponible gratuitement).

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Archiloque le 19 juin 2011 - 18:25 Signaler un abus - Permalink

    @Mathieu: html5 + css est turing complete http://lambda-the-ultimate.org/node/4222

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Sabine Blanc le 19 juin 2011 - 18:34 Signaler un abus - Permalink

    @Mathieu :

    “Un des pièges de la programmation serait de prêter une quelconque attention aux propos arrogant et moralisateurs qui vous diront que ces langages n’appartiennent pas réellement au monde de la programmation.”

    Merci d’avoir écrit ce que je marmonnais tout bas :) On retrouve les mêmes hiérarchies dans le journalisme : le SR est un “sous” journaliste, les journalistes d’investigation la crème de la crème. Information ou informatique, toutes les spécialisation sont nécessaires.
    J’aime lire, c’est de la lecture, pas très compliquée, certes, mais n’empêche. Tom-Tom et Nana, c’était chouette…

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • fanny le 19 juin 2011 - 20:22 Signaler un abus - Permalink

    La distinction scientifique vs littéraire, ça survit pas au bac.

    Enfin si dans la tête des gens qui fréquentent des facs de sciences, mais soyez surpris, les geeks ils ne sont pas là où vous les attendez.
    Le nombre d’historiens, qui sont webmasters le week end, les anthropologues créateurs de jeux vidéos, les psychologues qui ne sont plus derrière un divan mais derrière un écran pour vous améliorer votre perception du web.
    Je ne parle même des géographes qui sont des experts en conception de cartes 3D.

    Je suis une linguiste 2.0. Je maîtrise 3 langages de script, programmation objet et compagnie.
    Et je crois que j’aime autant les langages “artificiels” que les langues. Un programme bien écrit, c’est comme un beau poème, on voit la précision et les rouages sans voir le cambouis.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Noam le 20 juin 2011 - 0:16 Signaler un abus - Permalink

    par la Bouteille ! Je kiff !

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • naholyr le 20 juin 2011 - 8:44 Signaler un abus - Permalink

    Attention tout de même à ne pas tout mettre dans le même sac… Ici vous discriminez positivement par la compétence, mais du coup ça ne s’applique concrètement qu’à ceux qui ont choisi la filière par goût, alors même que tout leur était ouvert, pas à ceux qui ont fait un choix par défaut, or ils représentent la grande majorité…
    Mon prof de philo nous disait souvent que pour lui les meilleurs élèves étaient les S, parce qu’ils avaient cette capacité d’analyse, de decortication, et surtout de démonstration toute mathématique qui réussit si bien aux dissertations philosophiques. Certes. Mais hélas c’est sans compter qu’une majorité des S est aussi là parce qu’elle ne sait pas aligner 3 mots sans faute, n’a aucune idée de ce qu’est un champ lexical, et a autant de vocabulaire qu’un tweet.

    Or il en est de même en face: combien de L y sont parce qu’ils ne sont pas foutus de faire un produit en croix ou de démontrer qu’un triangle est rectangle? Je souhaite bien du courage à ceux là pour faire “du code”, autant que je souhaite du courage à mes anciens camarades de classe qui jouaient à Tetris au lieu de s’approprier le mythe de la caverne, pour écrire un livre.

    D’ailleurs en parlant de livre, je crois qu’il y aussi dans votre réflexion un raccourci: il y a je pense le même lien entre “littéraire” et écrivain qu’entre “codeur” et développeur.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Nathan le 20 juin 2011 - 10:36 Signaler un abus - Permalink

    Je pense pouvoir me définir comme litteraire (“quelqu’un pour qui les textes ont une influence sur son être”, dixit mon professeur de philo), et j’ai pu entrer dans une école d’informatique avec des arguments semblables.
    Après un bac L, hypokhâgne et khâgne, je construis des “cathédrales de code” pour mon plus grand bonheur et avec un certain succès. Bien sûr, lorsque des problèmes purement mathématiques se présentent, je suis loin d’être le meilleur.
    Et c’est une bonne chose. Tout groupe composé de personnes par trop semblables finit par produire un contenu insipide.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • Maarx le 23 juin 2011 - 22:01 Signaler un abus - Permalink

    Si ça peut te rassurer, le site de Morgane Tual est un Wordpress et elle n’a du coder que le thème (html/css). :)

    Au passage je dis crotte à tous ceux qui enlèvent le “propulsé par Wordpress”.

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • preeventualist le 28 mars 2012 - 15:57 Signaler un abus - Permalink

    Mais franchement pourquoi diable aurions-nous besoin de coder un algorithme ?
    Nous ne sommes pas des mathématiciens, simplement des artisans qui faisons des choses avec des trucs.
    Tsss … Corporatistes !

    Pour ceux qui en sont toujours à Cobol ou les curieux je conseille la lecture du bouquin fondateur
    de la communauté Ruby : http://mislav.uniqpath.com/poignant-guide/book/chapter-1.html

    et par la même occasion d’aller faire un tour chez les éditeurs d’avant-garde : http://pragprog.com/

    La quasi totalité des outils qui sont nécessaire existent déjà, notre travail c’est d’assembler tout ça en quelque chose de cohérent et pour ça suffit de réfléchir.

    Au fait j’enfonce le clou puisque que la perche est tendue : http://media.pragprog.com/titles/hwcuc/intro.pdf

    Entendu parler de Cucumber les gars ?

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
  • grincheux le 25 octobre 2012 - 20:47 Signaler un abus - Permalink

    D’abord je salue l’initiative, tout le monde peut à son niveau se mettre à la programmation.

    Par contre je trouve un peu dommage de vous discréditer:
    ” pour pouvoir coder, il faut être rigoureux. Or le littéraire est en fait rigoureux. Donc le littéraire peut coder. CQFD”

    Avec “pour pouvoir coder, il SUFFIT d’être rigoureux” le raisonnement était valable. Vous n’avez démontré là que votre propre manque de logique.

    Bonne continuation, mais évitez de développer du logiciel pour centrale nucléaire quand même ;)

    • Vous aimez
    • Vous n'aimez pas
    • 0
    Lui répondre
4 pings

Derniers articles publiés