Ca, pour ce qui est de la déconnade, on ne peut pas dire que je sois le dernier. Tenez, pas plus tard qu'il y a trois semaines, j'ai décidé de me mettre au C. Il pleuvait dehors, j'avais la flemme de passer l'aspirateur et il n'y avait rien à la télé, du coup je me suis dit "Tiens, et si c'était le bon moment pour se mettre au C?". Et je m'y suis mis. Une histoire circonstances, en somme. En tout cas, ça m'a suffisamment intéressé pour ne pas lâcher le morceau et être toujours dedans aujourd'hui. Et alors là, évidemment, en dehors des quelques geeks de service (salut, toi), personne n'a vraiment compris de quoi je cause. Haha. Béotiens que vous êtes. Qu'il me soit donc permis d'éclairer les ténèbres insondables de votre inculture par la grâce de la vigoureuse incandescence de mon exhaustive connaissance du monde.

Le C, mes bons amis, c'est un langage de programmation. C'est ce qui au final permet de faire en sorte que l'ordinateur exécute ce qui lui est demandé, de la simple addition de deux entiers au calcul en temps réel des graphismes de votre jeu vidéo en 3D, en passant par l'affichage de votre site pornographique favori. C'est dire si C est utile. Et j'ai décidé d'essayer de comprendre comment ça marche. En fait, parmi mes proches, je passe pour être "celui qui s'y connaît en informatique", parce que je suis capable de choses aussi fantastiques que changer un disque dur, installer Linux ou envoyer un e-mail (oui, le seuil du fantastique peut varier en fonction de l'interlocuteur). Sauf que dans le fond, pour reprendre les mots d'un footballeur brésilien naguère célèbre, tout ce que je sais, c'est que je ne sais rien.

Bien sûr, n'étant pas tout à fait démuni face à un ordinateur récalcitrant, l'affirmation est un peu excessive. Mais enfin, j'aspire à mieux. Pour expliquer mon envie d'apprendre le C, je dis qu'en informatique je n'y connais finalement pas grand-chose. Ce qui se traduit en général par un écarquillement d'yeux de bon calibre chez mes amis/collègues qui ont tous au minimum entendu parler de mes aptitudes en matière de bidouille et au mieux ont pu en bénéficier pour récupérer des photos numériques qu'on croyait perdues à jamais ou encore se faire installer un système Linux tout entier. Du coup, à force, j'ai trouvé une analogie assez parlante pour me faire comprendre. En fait, si on compare avec une voiture, aujourd'hui je suis capable de changer un pot d'échappement. En soi, ce n'est pas si mal, tout le monde ne sait pas le faire, mais ce n'est pas si compliqué, c'est juste remplacer une pièce défectueuse par la même pièce à l'identique, mais toute neuve. Ce que je voudrais apprendre, c'est comment se conçoit et se fabrique un pot d'échappement pour, le jour où j'en aurai envie, concevoir et fabriquer un pot d'échappement moi-même, tout seul avec mes petits bras musclés. Oui, oui, j'en suis content de mon analogie, merci.

En tout cas, ça y est, je m'y suis mis. Et on ne peut pas dire que ça soit de la tarte. C'est-à-dire que je m'étais imaginé que la programmation serait à base d'opérations de base finalement assez simples, mais qui agencées entre elles de façon suffisamment complexe et logique permettraient d'arriver au résultat escompté. En gros, j'avais bon, sauf que j'étais très loin, mais alors vraiment très très loin, d'imaginer le degré de complexité que pouvait atteindre l'agencement des fameuses opérations de base finalement assez simples. Purée, ce merdier. Si vous me passez l'expression. Ah ouais, nan, franchement, Même pour écrire un pauvre programme tout pourri, genre calculatrice moche et pas pratique, il faut s'armer d'une logique au minimum infaillible, et de la capacité de concentration qui va avec. Je crois bien que je n'avais pas autant sollicité cette région de mon cerveau depuis les intégrales en terminale. C'est dire si j'en avais perdu l'habitude.

D'ordinaire, en matière de philosophie face à l'effort, je m'en tiens plutôt aux préceptes de H. J. Simpson, notamment à l'un de ses plus célèbres proverbes chinois; "Quand une chose est trop dure à faire, c'est parce que ça vaut pas la peine d'être fait". Et bien là, va savoir pourquoi, pour une fois, j'ai décidé de m'accrocher. Ce n'est sans doute pas par hasard. Ca me prend à un moment où trop de choses dans ma vie me paraissent avoir un goût d'inachevé. Etudes interrompues trop tôt,vie sentimentale en mode hibernation, perspectives de carrière au point mort, absence de projets à long, moyen ou même court terme... Pour dire à quel point le brouillard est épais, je n'ai même pas d'agenda! Pas d'agenda, ça signifie pas de rendez-vous. Je n'ai même pas de rendez-vous avec moi-même. Quand tu n'as nulle part où te rendre, c'est facile de perdre ton chemin.

L'optimisme politiquement correct réglementaire interdisant l'usage du "il est trop tard pour...", je m'abstiendrai de vous l'infliger. Toutefois, je ne pense pas faire preuve d'un défaitisme excessif en supposant que la probabilité que je devienne un des kings du top ten mondial de la programmation informatique est plutôt faible. De toutes façons je ne dessine plus le plan du chemin à venir, j'en suis ressorti déçu plus souvent qu'à mon tour. Désormais, je m'efforce plutôt de poser des balises. Oublier le chemin qu'il faudrait tracer à l'avance, et me contenter de  garder la mémoire de celui parcouru. A défaut de savoir où je vais, avancer. Et plus tard pouvoir me retourner et me dire qu'au moins j'aurai fait ça. En finir avec cette question à la con: "Putain mais qu'est-ce j'ai foutu ces trois dernières années?". Parce qu'entre  nous, refaire mon appartement ça fait un peu léger en matière de balises...

En plus le créneau est déjà saturé. Entre Valérie et Philippe, impossible de se faire une place au soleil pour expliquer à la ménagère fascinée que la tendance du moment c'est la peinture au chiffon. Je le sais, parce que dans mon bureau c'est la technique que j'ai utilisée, et que mes invités ne tarissent pas d'éloges sur le rendu que j'ai pu obtenir. En toute modestie, je dois bien le reconnaître, c'est vrai que ça chie la classe. Au départ, je penchais plutôt pour une finition laquée, mais vu l'état déplorable des murs que cachait le papier peint, et après moult tentatives infructueuses de lisser les murs en question, j'ai fini par opter pour une solution qui se voulait plus cache-misère qu'autre chose à l'origine. Et en fin de compte ça claque sa race un truc de ouf'! Comme quoi, sur un malentendu on n'est jamais à l'abri d'une coïncidence heureuse. Les chercheurs spécialisés en pathologies cardiaques de chez Pfizer pourront vous le confirmer.

Toujours est-il que, depuis peu, j'ai donc un vrai bureau, et plus un cagibi bordélique avec, planqué dans un coin, un vague bureau à trois sous. Oui, parce que non content de rénover la pièce avec un résultat digne de faire l'objet d'un reportage dans Question Maison, j'ai également investi dans de bon gros meubles en bois massif pour ranger mes affaires de monsieur qui a un vrai bureau. Du coup je prends beaucoup plus de plaisir à y passer du temps. A vrai dire, ce qui est aujourd'hui mon bureau a longtemps été un genre de pièce de la honte, ou de pièce fantôme: celle dont la porte restait toujours close et que je m'efforçais de faire oublier à mes hôtes. A présent ce serait plutôt le contraire, je me délecte des regards ébahis de ces mêmes hôtes quand je la leur fait découvrir, tout en conservant en dehors ce petit zeste de suffisance blasée qui distingue le vrai bon gros crâneur professionnel du frimeur amateur de base. Un peu plus haut j'évoquais de vagues raison métaphysico-philosophico-psychologiques pour expliquer ma récente passion pour le C, mais en fin de compte, le fait de disposer d'un véritable espace de travail n'est sans doute pas pour rien dans le fait que je veuille bien y consacrer du temps...

En fait, il y a un peu moins de deux ans, je me suis acheté un ordinateur portable. Ma vieille tour fidèle, remisée dans un coin de la pièce de la honte est soudain devenue beaucoup moins attirante que mon petit douze pouces tout mignon mais si puissant. Et il faut bien le dire, ce n'est pas la même chose. Le desktop, c'est sérieux, quand on se pose devant, ce n'est pas pour du rire. Alors qu'avec le laptop, ça devient casual day tous les jours. Et vas-y que je vautre dans le canapé pour tchatter sur méméssène, que je glandouille devant bienbienbien ou (feu) kopikol sur la table du salon, que je fais mes courses sur mamazon au lit pour tuer le temps en attendant le sommeil, enfin bref, du grand n'importe quoi, et surtout le règne sans partage de l'improductivité. C'est bien simple, quand vraiment il fallait que je me mette au boulot, genre pour me la péter webmaster, je ne pouvais pas le faire sur le portable, je revenais, ni honteux ni confus, vers mon antique tour et passais outre le fait de devoir bosser au milieu d'un invraisemblable capharnaüm.

Aujourd'hui le bordel a pratiquement disparu, mon bureau est assez spacieux pour que j'ai des difficultés à le saturer de désordre, j'ai offert un bel écran tout plat et tout neuf à ma tour avec les bonnes enceintes qui vont bien, j'ai une belle vue sur les remparts, bref, c'est carrément le pied de passer du temps ici. Du coup le portable, qui en passant vieillit de plus en plus mal, est devenu beaucoup moins envoûtant que par le passé. Retour à la tour studieuse. Mais dans un cadre sympa. Donc ça le fait. Même quand c'est pour apprendre à créer des programmes de trente lignes de long à peine capables de faire une soustraction en mode console. Oui, parce que c'est à peu près là que j'en suis en C.

Le C, en réalité, c'est un langage plutôt ancien. Genre plus vieux que moi. Et pourtant, il est à la base de choses aussi fondamentales que le noyau Linux, ou même, accroche-toi à ton slip, le noyau Windows. Au temps de sa conception, toutes ces histoires de souris, de fenêtres et autres éléments d'interface qui aujourd'hui nous paraissent indispensables n'existaient pas. C'était le bon vieux temps de la ligne de commande en console, caractères blancs ou verts sur fond noir, point barre, on n'était pas là pour rigoler. Depuis cette époque bien des choses ont changé pour l'utilisateur final, mais tout au fond, la base reste la même.Et moi, c'est ça que je veux comprendre. La base. Ce sur quoi tout repose. Donc pour le moment je crée des programmes particulièrement austères, sans images, sans fenêtres, tout en mode console, qui donnent ce genre de truc:

En quelle année êtes vous né(e)?
1976
En quelle année sommes nous?
2008
Ah, très bien, vous allez donc fêter vos 32 ans cette année!

Fin du programme.

Wouhou.

Remarquez qu'au stade où j'en suis on peut très bien arriver à ça:

En quelle année êtes vous né(e)?
76
En quelle année sommes nous?
2008
Ah, très bien, vous allez donc fêter vos 1932 ans cette année!

Pas mal, hein? Heureusement, je continue de progresser et ne désespère pas de réussir à programmer une fonction qui permette d'éviter ce genre de résultat fantaisiste. Au total ça devrait me faire un petit programme d'une cinquantaine de lignes. C'est ça, la magie du C. Enfin pour l'instant ça va, ça m'amuse. D'ailleurs ça m'amuse tellement qu'avant de sombrer dans un coma bien mérité après une nuit de taf, je vais me faire quelques petits exercices, histoire de bien me flinguer les neurones en guise de prélude à la sieste.

Là-dessus, je vous laisse, il faut que je révise mon chapitre sur les tableaux de pointeurs, je crois que j'ai enfin compris en quoi ça consiste: en, fait, ce sont des tableaux qui contiennent des pointeurs qui pointent vers d'autres tableaux qui eux contiennent des variables, ce qui permet, dans les faits de créer des tableaux à deux dimensions avec la possibilité d'avoir des tailles de tableaux pointés différentes, puisque l'initialisation se fait tableau pointé par tableau pointé, et pas de manière globale. A moins que ça ne soit l'inverse. Ou carrément autre chose. J'vais peut-être me relire le chapitre avant d'attaquer les exercices en fait...


P.S.: LBA est de retour et c'est tout de même une bête de sacrée bonne nouvelle!