Retour à la conversation
Arbre

Le Temps des Rêves

(On m'appelle ? ^^)

Personnellement, même si j'aimerais beaucoup faire autre chose avec la musique que l'écouter, je n'ai jamais pratiqué d'autre art que l'écriture. Mais puisqu'on en parle, la programmation ne sera jamais un art. Les puristes en feraient des crises cardiaques.

Le code qui fait fonctionner cette plateforme n'est pas sujet à interprétation, et sa rédaction obéit à des règles beaucoup plus strictes que celles qui régissent les langues qui nous permettent d'écrire nos poèmes, nos nouvelles et nos romans. Donc en plus de ne pas pouvoir évoluer en fonction de celui (en l'occurrence soit l'ordinateur, soit un autre développeur) qui le lit, le code n'autorise aucune erreur, aucune approximation, aucune originalité dans sa rédaction.

C'est en tous les cas vrai pour le code qui fait fonctionner la plateforme. Car (et poulix le sait bien... ^^) le code qui permet à tout ceci de s'afficher correctement est lui soumis à l'interprétation... du navigateur Web, et autorise l'erreur. Résultat : la plateforme s'affiche différemment en fonction du navigateur (cela dépend en fait de ce qu'on appelle le "moteur de rendu HTML"Clin d'oeil, et s'il y a erreur dans le code c'est l'affichage qui est détraqué, pas le fonctionnement de la plateforme.

J'ai fini pour les explications techniques. Pour ce qui est de l'acte lui-même, le fait même de coder, je l'ai dit, il s'agit d'adapter une idée aux contraintes du langage de programmation. Et la principale différence se trouve dans le fait que même le plus génial des développeurs ne peut pas coder spontanément, au sens propre du terme : il faut structurer, re-structurer, respecter scrupuleusement la logique établie par le langage de programmation. L'originalité n'est pas permise, ou elle ne l'est que dans certaines circonstances précises qui sont trop techniques pour que j'en parle là. Lorsque je code, j'ai toujours avec moi un bloc-notes, un stylo, mais aussi un tableau blanc et des marqueurs. En ce moment, alors que je code la nouvelle version de cette plateforme, je reprends point par point les procédures que j'ai établies pour cette version que vous utilisez : je les améliore, je les raccourcis, mais je suis obligé de le faire en gardant en tête les règles du langage de programmation.

L'idée est presque toujours à la base. Pourquoi presque toujours ? Parce que parfois, c'est le langage de programmation et les possibilités qu'il offre qui font naître l'idée. Immédiatement après l'idée vient la procédure qui permet de réaliser cette idée, dans les grandes lignes. Ces grandes lignes n'étant pas suffisantes, il faut les poser (pour moi, sur le papier ou sur mon tableau) et les schématiser ; puis préciser le schéma, encore et encore, pour arriver à quelque chose qui soit techniquement "codable". Viens le temps de la rédaction du code, puis de son test, puis de sa correction éventuelle. Et puis, viens la phase de l'optimisation : regarder le code et se dire "Comment est-ce que je peux l'améliorer, et dans quelle mesure cette amélioration sera-t-elle utile ?" Car ce qui différencie l'acte de reprise d'un bout de code de celui de la reprise d'un paragraphe ou d'un chapitre d'un roman (par exemple hein ^^), c'est que l'amélioration du code n'a de sens que si elle est utile, alors que cette notion d'utilité n'existe pas dans l'écriture.

Ceci dit, et c'est plus vrai pour moi encore depuis que je me suis lancé dans la programmation de la nouvelle version, pour moi un site Internet bien codé est toujours plus agréable à utiliser, même si l'utilisateur lambda ne se rend pas compte. La perfection en informatique n'existe pas. Mais je reste persuadé que ce qui fait la qualité d'un site Internet, quelque soit sa complexité, réside dans le code qui l'anime, et pas dans son aspect graphique, même si souvent, les deux vont ensemble. C'est là à mon sens que réside une des plus grandes différences entre la programmation et l'écriture : un roman peut être mal écrit ; pourvu qu'il transmette à celui qui le lit les émotions que l'auteur a voulu véhiculer.