
Envoyé par
I_believe_in_code
C'est bien beau de rêver qu'un générateur de code miracle sera capable de réaliser tout seul une application complète à partir des spécifications...
C'est juste oublier que tout n'est pas automatisable (par exemple comment un logiciel peut-il inventer un algorithme ?).
C'est juste oublier que ce qui est automatisable l'est souvent au prix d'une perte de souplesse et / ou de performance.
C'est juste oublier que le mélange code généré / code écrit à la main est une horreur à maintenir.
C'est juste oublier que le seul moyen pour que les spécifications soient assez précises pour être "traduites" directement en code, dans le cas général du moins, c'est qu'elles contiennent au moins autant d'infos que le code lui-même. Autrement dit le code est plus facile à écrire.
Donc là on a quelqu'un qui explique que comme on cherche de plus en plus à automatiser et à simplifier les choses (ce qui est vrai et qui n'est pas un mal en soi, le tout est de savoir ce que cela peut impliquer sur tel ou tel type de projet), on va automatiquement en arriver à la disparition (ou à la marginalisation) de la programmation.
Que ce soit réaliste (et peut-être même déja d'actualité) dans certains cas particuliers, pourquoi pas.
Dans le cas général c'est du délire.
On va bientôt en arriver aux systèmes experts pour écrire un hello world.
J'en ai personnellement un peu assez de toutes ces élucubrations. Quand elles viennent d'un journaliste, ok. Quand elles viennent d'un informaticien, on s'interroge quand même un peu, non ?
On a d'abord eu des feignasses qui nous ont expliqué qu'on peut être un bon programmeur même sans ne rien connaître au bas niveau. (Le bas niveau, tout repose dessus, donc même si vous ne touchez qu'aux hautes sphères, sans savoir ce qui se passe dessous, vous ferez des choix aberrants qui se sentiront dans les performances)
Après il y a eu la deuxième génération de feignasses : ceux qui nous ont expliqué que le paradigme objet était le seul paradigme possible, le seul moyen d'écrire des applications propres et maintenables. (génial ! Ca en fait des langages et des visions du monde qu'il n'est plus nécessaire de se fatiguer à maîtriser !)
Puis la troisième génération qui n'a jamais écrit une seule bibliothèque maison pour rendre ses applications meilleurs que celles de la concurrence. Tout existe déjà, il suffit d'assembler des monceaux de code écrits par d'autres plus talentueux et plus travailleurs que soi. (Jusqu'au jour où on ne trouve pas quelqu'un qui a déjà fait ce qu'on doit faire... il faut donc s'y remettre et, oh surprise, on ne sait plus faire !)
Après il y a eu ceux qui nous ont expliqué qu'on n'avait besoin de connaître qu'un seul langage et que les "design pattern" et les "frameworks" étaient la panacée. Bien sûr, eux non plus n'ont jamais rien créé à la main. En effet chaque génération de feignasses hérite des défauts de la génération précédente et ajoute en plus ses propres envies.
Les feignasses étant de pire en pire, il faudrait en effet que le métier soit de plus en plus facile. Mais les lois de la physique n'ont pas changé, la machine de Turing non plus, et les applications concevables par les humains sont toujours aussi éloignées de la physique et de Turing. Donc comment la programmation pourrait-elle devenir facile ?
Mais je ne pensais pas qu'on en arriverait là. Maintenant la nouvelle mode ça va être de prôner la quasi disparition de l'activité humaine d'écriture de code. Ca vous ennuie tant que ça de devoir programmer ? Si c'est trop dur pour vous, changez de métier.
Non, la programmation telle qu'on la connait depuis des décennies ne risque pas de disparaître. Tout au plus risque-t-elle de devenir une activité assez élitiste, réservée à ceux ayant encore le goûts de l'effort, de la réflexion, et n'ayant pas peur de se heurter à la naïveté de la masse qui croit que programmer une application est facile.
Tiens, je vais de ce pas écrire les spécifications d'un logiciel qui va éclater Photoshop sur son propre terrain... et puis je vais attendre qu'un générateur de code miracle sache traduire mes spécifications en un programme hyper performant. Bien sûr il va au passage devoir inventer une floppée de nouveaux algorithmes. Et puis, tiens, il va rédiger aussi quelques articles scientifiques qui expliqueront les nouvelles découvertes fondamentales qu'il a du faire avant de les appliquer pour arriver au résultat. Quand ce générateur miracle existera, je n'aurai plus qu'à le faire "compiler" mes specs. Je deviendrai alors riche et célèbre, et je demanderai pardon à genoux à cap_gregg pour ne pas avoir cru en sa clairvoyance.
Partager