05/03/2014
Le Saint Dogme du Programmeur (1/3)
Il était une fois, au bon vieux temps (durant ce qu'on appelle l'âge d'or de l'informatique) il était facile de distinguer les HOMMES des JEUNOTS (la tradition les désigne aussi respectivement par les dénominations de VÉRITABLES et de VISAGES PÂLES). A cette époque, les VÉRITABLES étaient ceux qui connaissaient la programmation des ordinateurs, et les VISAGES PÂLES étaient ceux qui ne la connaissaient pas. Les VÉRITABLES préféraient des mots comme "DO 10 I=1,10" ou encore "ABEND". Ils ne parlaient d'ailleurs qu'en majuscules. Le reste du monde disait des choses du genre "Les ordinateurs sont trop compliqués pour moi" ou bien encore "Les ordinateurs ne me disent rien, ils sont trop impersonnels". Des recherches récentes ont d'ailleurs montré que les VÉRITABLES n'ont besoin de rien dire à personne, et qu'en plus ils n'ont pas peur d'être impersonnels.
Cependant, comme toujours, les choses évoluent. Nous sommes dans un monde où les braves mêmes peuvent disposer d'un ordinateur dans leur four à micro-ondes, où les gosses de 12 ans peuvent ridiculiser un VÉRITABLE aux ASTEROIDS ou au PacMan, et où n'importe qui peut acheter et même comprendre son propre ordinateur personnel. Les VÉRITABLES risquent fortement l'extinction, sous la concurrence des lycéens avec leurs Macintosh.
Il est donc clairement urgent de mettre en évidence les différences entre un lycéen joueur de PACMAN typique et un VÉRITABLE. En soulignant cette différence, nous montrons ainsi à des gosses un modèle à suivre, une aspiration de perfection, une figure paternelle. Cela contribuera à montrer aux employeurs de VÉRITABLES, pourquoi ce serait une erreur de remplacer ceux-ci par des lycéens joueurs de PACMAN (quelques en soient les économies de salaires réalisées).
Les langages de programmation
Le critère le plus simple pour repérer un VÉRITABLE dans la foule est son langage de programmation. Les VÉRITABLES utilisent le FORTRAN, les VISAGES-PÂLES utilisent le PASCAL. Niklaus Wirth, le concepteur de PASCAL participait à une conférence. On lui demanda comment il fallait prononcer son nom. Il répondit "Vous pouvez soit faire un appel par nom en prononçant 'Wiirt', ou faire un appel par valeurs, en prononçant 'Woort'". Visiblement, on peut détecter par cette réponse que Niklaus Wirth est un VISAGE PÂLE. Les VÉRITABLES, eux, ne connaissent qu'un seul mécanisme de passage de paramètres, le passage par adresse, qui est implémenté dans les compilateurs FORTRAN-G et -H des IBM/370. Les VÉRITABLES n'ont pas besoin de tous ces concepts abstraits pour effectuer leur boulot, ils se contentent d'une perfo, d'un compilo FORTRAN et d'un café.
- Un VÉRITABLE fait du traitement de listes en FORTRAN.
- Un VÉRITABLE fait des manipulations de chaînes de caractères en FORTRAN.
- Un VÉRITABLE fait de la comptabilité (pour autant qu'il en fait) en FORTRAN.
- Un VÉRITABLE fait des programmes d'intelligence artificielle en FORTRAN.
S'il ne peut le faire en FORTRAN, il le fait en Assembleur, s'il ne peut le faire en Assembleur, c'est que cela ne vaut vraiment pas la peine d'être programmé.
La programmation structurée
Ces derniers temps, les autorités académiques en informatiques sont tombées d'accord sur la manie de la programmation structurée. Elles prétendent que les programmes sont plus faciles à comprendre quand leurs auteurs pratiquent des techniques ou langages spéciaux de programmation.
Ces savants ne sont pas tous d'accord sur quels langages ou quelles techniques il faut utiliser, et leurs exemples en général sont faits de manière à tenir sur une page de publication scientifique, visiblement insuffisant pour convaincre qui que ce soit.
Quand j'étais sorti de l'école, je pensais être le meilleur programmeur au monde. Mon programme de morpion était imbattable, je programmais en 5 langages différents et j'étais cap d'aligner un programme de 1000 lignes qui marchait du premier coup (OUI !).
Mon premier boulot dans le monde VÉRITABLE fut de lire et de comprendre un programme de 200.000 instructions FORTRAN, puis de diviser par deux son temps d'exécution. Tout VÉRITABLE vous dira que la programmation structurée ne vous est pas d'un grand secours pour résoudre ce genre de problème. Il faut du TALENT.
Voici quelques opérations sur l'attitude des VÉRITABLES vis à vis de la programmation structurée.
- Un VÉRITABLE ne craint pas d'utiliser les GOTOs.
- Un VÉRITABLE peut écrire une boucle DO de cinq pages sans se mélanger les pinceaux.
- Un VÉRITABLE préfère les IF arithmétiques, ça prend moins de place mémoire.
- Un VÉRITABLE est capable d'écrire du code auto-modifiant si cela fait gagner 20 nanosecondes.
- Un VÉRITABLE n'a pas besoin de commentaires, il préfère se fier au code.
- Un VÉRITABLE n'a pas besoin de IF structurés, de REPEAT, de CASE ... OF, tout cela peut se simuler en FORTRAN, au besoin en faisant des ASSIGN, GOTO.
Les structures de données reçoivent aussi beaucoup de publicité ces temps-ci. Les types de données abstraits, les pointeurs, les listes et les chaînes de caractères sont devenus populaires pour certains milieux.
Wirth, le VISAGE PÂLE susnommé, a même écrit un bouquin prétendant que vous pouvez écrire des programmes partant de structures de données, au lieu de faire l'inverse.
Ainsi que le sait tout VÉRITABLE, la seule structure de données réellement utiles est le tableau. Les listes, les structures, les chaînes de caractères, les ensembles, tout ça sont des variétés de tableaux qui peuvent se programmer comme tels sans se compliquer la vie avec des distinguos subtils.
La pire des contraintes avec cette fantaisie de types de données est que vous êtes obligés de les déclarer, et vous savez bien qu'un VÉRITABLE langage de programmation doit reconnaître implicitement le type de données sur le premier des six caractères du nom de la variable.
14:30 Publié dans Actualité, Humour geek | Tags : humour, geek | Lien permanent | Commentaires (0) | | Facebook | | |
Les commentaires sont fermés.