Langages de programmation et balle de pistolet

La prolifération des langages de programmation modernes (qui semblent tous avoir piqué des idées les uns sur les autres) fait qu’il est parfois difficile de se souvenir quel langage vous être en train d’utiliser. Ce guide est conçut pour aider les programmeurs qui se trouvent dans un tel dilemme. »
C :
Vous vous tirez dans le pied. C++ :
Vous créez accidentellement une douzaine d’instances de vous-même et leur tirez tous dans le pied. Apporter une aide médicale est impossible car vous ne pouvez pas affirmer quelles sont les copies, chacune se montrant du doigt et disant « c’est moi, là-bas. »
FORTRAN :
Vous vous tirez dans chaque doigt de pied, itérativement, jusqu’à ce que vous n’ayez plus de doigts de pied, puis vous changez de pied et recommencez l’opération. Si vous n’avez plus de balles, vous continuez quand-même, car vous n’avez pas pensé à installer un gestionnaire d’exceptions.
Modula-2 :
Après avoir réalisé que vous ne pouviez rien faire en ce langage, vous vous tirez une balle dans la tête.
COBOL :
AVEC un REVOLVER COLT45 VISER PISTOLER à JAMBE.PIED, ALORS appuyer BRAS.MAIN.DOIGT sur REVOLVER.GACHETTE. ALORS retourner REVOLVER à HOLSTER. VERIFIER si CHAUSSURE.LACET doit être refait.
BASIC :
Tirez dans votre pied avec un pistolet à eau. Sur gros système, continuez tant que tout le corps n’est pas trempé.
FORTH :
Pied dans votre tirez.
APL :
Vous vous tirez dans le pied, puis vous passez tout le reste de la journée à vous demander comment le faire avec moins de caractères.
PASCAL :
Le compilateur ne vous laissera pas vous tirer dans le pied.
Concurrent Euclid :
Vous tirez dans le pied de quelqu’un d’autre…
Motif :
Vous passez des jours à écrire une description UIL de votre pied, la trajectoire, la balle, et du motif complexe du manche en ivoire du pistolet. Quand vous arrivez enfin à appuyer sur la gâchette, le revolver s’enraye…
Unix :
% ls foot.c foot.h foot.o ortiel.c orteil.o
% rm *.o
*.o No such file or directory
%
% ls
Xbase :
Vous tirer dans le pied, pas de problème. Si vous voulez vous tirer dans le pied, vous devez utiliser « Clipper ».
Paradox :
Non seulement vous pouvez vous tirer dans votre pied, mais les autres utilisateurs aussi.
Reveration :
Vous pourrez vous tirer dans le pied dès que vous aurez compris à quoi servent toutes ces balles.
Visual Basic :
Vous allez vous tirer dans le pied, mais vous allez tellement prendre votre pied à le faire que vous n’allez rien sentir.
Prolog :
Vous dites au programme que vous voulez vous faire tirer dans le pied. Le programme comprend comment le faire, mais la syntaxe ne permet pas de l’exprimer.
370 JCL :
Vous envoyez votre pied à MIS avec un document de 4000 pages expliquant comment vous voulez vous faire tirer dessus. Trois ans plus tard, votre pied revient, cuit à point.
(shell) SH :
Vous tirez en l’air, car vous n’avez pas défini le bon environnement ou la bonne syntaxe. Vous décidez alors de le faire en CSH.
(shell) CSH :
Vous prenez trois semaines pour confectionner votre programme, et lorsque vous le lancez, vous vous apercevez que vous avez oublié de tenir compte du nombre de balles. Vous abandonnez et décidez de recommencer en SH.
(shell) TCSH :
Voir CSH.
Assembleur 6800 :
Vous n’avez pas assez d’accumulateurs pour accéder en même temps à votre main et au pistolet.
Assembleur 68000 :
Le coup est partit trop tôt et vous avez pris la balle dans la tête.
Assembleur 8086 :
Vous ne pouvez pas tirer car le pistolet et les balles ne se trouvent pas dans le même segment.

Le guide du cyberplouc

Pour se reconnaître entre eux, les cyberploucs parlent le même langage émaillé des mots clés suivants :
– Internet
– Autoroutes de l’Information
– Surfer
– Multimédia
– CD-ROM
– Interactif
– Hypertexte
– Réalité virtuelle
– Révolutionnaire
Tous ces mots sont d’ailleurs hautement liés et impossibles à dissocier. L’ordre dans lequel on les dit n’a pas d’importance. Le tout et de les connaître ainsi que les faits indiscutables suivants:
1 ) Internet est révolutionnaire. Ça permet de tout faire et de communiquer avec tout le monde. C’est d’ailleurs vachement plus pratique de faire un e-mail à quelqu’un que d’aller lui dire deux bureaux plus loin. 2 ) Le must est de faire ses documents hypertexte. C’est hyperclasse et hypercompliqué (il faut télécharger Internet Assistant for Word, l’installer et utiliser Word ensuite. Tout un boulot). Seuls les documents hypertextes sont Multimédias et interactifs, autrement dit, dignes d’intérêt.
3 ) Le multimédia a révolutionné l’ordinateur. Avant ça, c’était l’âge de pierre et il a fallu attendre l’arrivée du CD-ROM pour avoir de l’image et du son. Tous les ordinateurs (PC, Mac, Amiga) non équipés d’un lecteur CD-ROM ne fonctionnent qu’en mode texte.
4 ) Il est normal qu’un ordinateur Multimédia coûte plus cher qu’un ordinateur normal. En effet, une carte sonore et un lecteur CD-ROM sont des technologies de pointe qui coûtent extrêmement cher.
5 ) Le mot Multimédia doit toujours être écrit avec une majuscule, tellement c’est révolutionnaire.
6 ) Le CD-ROM a permis l’arrivée de programmes interactifs (dixit Emmanuel Chain). Avant, les programmes, et par exemple les jeux, n’étaient pas interactifs. Quoi qu’on faisait, l’issue du jeu était toujours la même. C’est dire si on s’emmerdait.
7 ) Tout document, programme, etc… provenant d’un CD-ROM ou d’internet est Multimédia. D’ailleurs, seul ce qui provient de ces deux sources est Multimédia.
8 ) Seul le processeur Pentium(TM) est à même d’exploiter à fond un ordinateur Multimédia. En effet, c’est le seul processeur pouvant tenir tête aux quelques 100 ms de temps d’accès d’un CD-ROM ou au un débit impressionnant de 3 Ko/s d’un modem relié à Internet.
9 ) De même, Windows 95 est LE système d’exploitation Multimédia par excellence. C’est bien simple, c’est « l’événement majeur des 5 prochaines années », comme l’a si bien proclamé Windows Plus lors de sa sortie. Avec son interface graphique révolutionnaire et ses fonctions plug & play, Windows 95 est indispensable à tout cyberplouc.
10 ) La réalité virtuelle va bouleverser notre environnement. Bientôt, on n’aura plus besoin de se déplacer. Il suffira de se placer un casque VR sur la tête pour se balader n’importe où. On pourra même baiser grâce à la réalité virtuelle, et se taper Pamela Anderson en personne comme si on y était. Mieux qu’en vrai ! La réalité virtuelle est d’ailleurs présente en un bon nombre d’endroits. Tous les graphismes 3D sont de la réalité virtuelle, et seuls les ringards n’ont pas déjà acheté les casques à réalité virtuelle pour leur PC.

C’est bien – c’est mal – c’est pire

C’est bien : Vous rentrez à la maison pour faire un petit câlin à votre femme.
C’est mal : le facteur a eu la même idée.
C’est pire : il a amené des amis.

C’est bien : Vous rentrez à la maison pour faire un petit câlin.
C’est mal : votre femme rentre à la maison.
C’est pire : …elle est accompagnée d’un huissier de justice.

C’est bien : vous avez pris une semaine de vacances.

C’est mal : vous chopez la grippe le dimanche.
C’est pire : votre télé tombe en panne le même jour.

C’est bien : Vous avez gagné deux places pour une pièce de théâtre.
C’est mal : c’est du théâtre expérimental.
C’est pire : …en allemand.

C’est bien : vous allez voir un « live show » rue Saint-Denis.
C’est mal : c’est un chien qui est la vedette.
C’est pire : sa partenaire est votre fille.

C’est bien : Votre petit ami s’est enfin décidé à faire un peu d’exercice.
C’est mal : c’est pour pouvoir enfiler vos vêtements.
C’est pire : …et passer à la télé en tant qu’organisateur de la gay-pride.

C’est bien : Votre voiture « tombe en panne d’essence » un samedi soir alors que vous raccompagnez chez elle une jeune fille.
C’est mal : vous n’avez VRAIMENT plus d’essence.
C’est pire : …vous aviez fait un « doigt d’honneur » à un Hell’s Angels en sortant de boite, et il arrive avec ses copains.

C’est bien : Quelqu’un en face de chez vous fait son exercice matinal complètement nu.
C’est mal : c’est un voisin et non pas une voisine.
C’est pire : il doit bien peser 150 kilos.

C’est bien : votre fils se fait un peu d’argent de poche.
C’est mal : il travaille de nuit.
C’est pire : …en tournant des films pornos.

C’est bien : votre oncle vous a laissé une valise pleine de billets en mourant.
C’est mal : ce sont des faux billets.
C’est pire : …les dettes sont réelles, elles.

La maison intelligente ™

28 NOVEMBRE :
Nous avons enfin emménagé dans ma nouvelle maison. Enfin, nous vivons dans la maison la plus intelligente du quartier. Tout est en réseau. La télé par câble est connectée au téléphone, qui est connecté à l’ordinateur, qui est connecté au réseau électrique, à l’électroménager et au système d’alarme. Tout est piloté depuis une télécommande universelle avec l’interface la plus intuitive que j’aie jamais vue. La programmation est un jeu d’enfants. Je me sens totalement branché. 30 NOVEMBRE :
Très cool. J’ai programmé le magnétoscope depuis mon travail, mis en marche le thermostat et allumé les lumières depuis le téléphone de la voiture, ajusté la température du four pour la pizza. Quand j’arrive, tout est prêt, aux petits oignons. Peut-être devrais-je me faire implanter la télécommande directement dans mon corps.
3 DECEMBRE :
Hier, la cuisine a PLANTÉ. Horrible. Au moment où j’ouvrais la porte du frigo, l’ampoule a claqué. Tout de suite après, tout s’est arrêté – les lumières, le micro-ondes, la cafetière – tout.
J’ai soigneusement tout débranché et rebranché. Rien. J’ai appellé la compagnie du câble – mais pas depuis le téléphone de la cuisine.
Ils m’ont renvoyé vers l’installeur, qui m’a affirmé que c’était un problème de logiciel. La compagnie qui s’occupe du logiciel a lancé un télétest via la processeur de la maison. Leur expert affirme que c’est un problem dû à l’installeur. Je m’en fous, je veux ma cuisine !
D’autres coups de téléphone suivent, et d’autres diagnostics. Il s’avère que le problème vient d’une « gestion d’erreur non implémentée », à savoir que le réseau n’a jamais vu une panne d’ampoule du réfrigérateur lorsque la porte de ce réfrigérateur est ouverte.
Le programme de logique floue en a donc déduit qu’il y avait eu une surtension, et a éteint toute la cuisine. Mais comme le process de gestion des capteurs avait confirmé l’absence de pic de tension, le gestionnaire de cuisine a perdu les pédales et n’a pas pu exécuter un redémarrage standard. Le gars de l’installation me jure que c’était la première fois que cela arrivait. Rebooter la cuisine a pris plus d’une heure.
7 DECEMBRE :
Les policiers sont pas contents. La maison n’arrête pas de les appeler à l’aide. On a fini par trouver que quand la télé ou la chaîne HiFi diffusent à plus de 25 décibels, cela crée des micro-vibrations qui sont amplifiées quand elles atteignent la fenêtre. Quand ces vibrations se mélangent avec des courants d’air, les capteurs de l’alarme sont activés, et l’ordinateur de la police conclut à une tentative d’effraction.
Un autre problème est apparu : quand le sous-sol est en mode autotest, la télécommande n’accepte pas de changer de chaîne sur la télé. Cela veut dire qu’il faut que je me lève du canapé pour aller changer de chaîne à la main. Les gars du logiciel me disent que ce sera corrigé dans la version 2.1 de SmartHouse. Mais elle n’est pas encore prête.
12 DECEMBRE :
C’est un cauchemar. Il y a un virus dans la maison. Mon ordinateur l’a découvert alors qu’il attaquait par le réseau public.
Je suis revenu à la maison et le salon était un vrai sauna, les fenêtres de la chambre étaient couvertes de glace, le frigo était en mode « décongélation », la machine à laver avait inondé le sous-sol, la porte du garage n’arrêtait pas de s’ouvrir et de se fermer et la télé était verrouillée sur TéléAchat.
Partout dans la maison les lumières clignotaient comme des stroboscopes avant d’exploser. Il y avait du verre brisé partout. Bien sûr, la centrale d’alarme n’avait rien vu. Il y avait un message clignotant sur l’écran de l’ordinateur :
« BIENVENUE à Tornadomestique !!! C’EST MAINTENANT QU’ON VA RIRE… »
(En toute modestie, il n’y a pas de virus qui vaille Tornadomestique…)
18 DECEMBRE :
Ils pensent avoir terminé la désinfection digitale de la maison, mais elle est dans un état épouvantable. Les tuyaux ont éclaté et nous ne sommes pas sûrs qu’ils aient eu la partie du virus qui attaque les toilettes. Toutefois, les Exorcistes (comme aiment à se surnommer les membres du Commando d’Intervention Rapide de l’installeur) sont sûrs que le pire est passé.
« Tornadomestique est plutôt méchant », me dit un des membres du commando, « mais vous avez eu de la chance de ne pas être attaqué par Poltergeist. Celui là est VRAIMENT méchant ».
19 DECEMBRE :
Apparemment, notre maison n’est pas assurée contre les virus.
« Le feu et les glissements de terrain, oui », me dit l’expert de l’assurance, « mais pas les virus ». Mon contrat avec les gens de SmartHouse stipule clairement que les garanties sont nulles et non avenues si un appareil ou un ordinateur de la maison est connecté, de quelque manière que ce soit, sur un réseau non homologué.
Tout le monde est vraiment, vraiment, désolé, mais ils ne peuvent pas prévoir tout virus présent ou à venir. Nous appelons notre avocat. Il rit, il est très excité.
21 DECEMBRE :
Je reçois un appel d’un vendeur de SmartHouse. Il nous propose gratuitement, c’est une offre promotionnelle de Noël, d’être bêta-testeurs de la mise à jour 2.1 de SmartHouse. Il dit que je pourrai rencontrer les programmeurs en personne. « J’en serai ravi », lui réponds-je…
Extrait du magazine CITYFOOD de Vancouver, numéro de décembre 1996

La genèse d’un programme pour une entreprise

La genèse :
Au commencement était l’Appel d’Offres et l’Appel d’Offres était sans forme ni structure et l’obscurité s’étendait sur la face du Client, et la face du Client se détournait de la Compagnie.

Aussi la Compagnie dit :
« Qu’il y ait une proposition »
Et alors il y eut une proposition, et le Client vit que cela était bon, et la face du Client se tourna à nouveau vers les Travaux de la Compagnie.
Alors la Compagnie rassembla toutes les espèces de créatures, et de ce rassemblement naquit l’Équipe Projet et l’on dit que cela était bon. De l’Équipe Projet naquirent les Ingénieurs et les Programmeurs et plusieurs autres formes de vie. Et l’un fut choisi dans cette multitude, qui fut élevé au dessus de tous les autres et qui fut appelé « Chef de Projet ». Et il eut a conduire l’Équipe Projet par le chemin de la productivité pour le bien de la Compagnie.
Et il advint que la pensée du Chef de Projet fut troublée par l’Appel d’offres et il crut alors que toutes choses étaient possibles, bien qu’il n’existât point, alors, de spécifications.
Donc le Chef de Projet ordonna que tous les Programmeurs soient rassemblés en un même lieu et il parla a leur chef, qui fut appelé « Chef Programmeur » : « Qu’il y ait un Planning, par lequel je connaîtrai la Date de Livraison, et je te ferai responsable pour l’accomplissement de ce planning ». Alors le Chef Programmeur vit au devant de ses collaborateurs et leur demanda : « Comment ceci se fera-t-il ? ».
Et ses adjoints se séparèrent, chacun a sa table, et ils estimèrent, comme était leur coutume. Et il advint que chaque Programmeur apporta une estimation et après beaucoup de soupirs et de grincements de dents, toutes les estimations furent harmonisées et résumées en un monument qui fut appelé Plan de Réalisation. Et le Chef Programmeur amena le Chef de Projet au Plan de Réalisation, disant : « Regardez l’accomplissement prendra de nombreux mois ». Mais le Chef de Projet ne fut pas satisfait et dit : « Je t’avais élevé des profondeurs et donné tant de feuilles de codage et malgré cela tu n’as pas compris l’Appel d’Offres ; ton Plan de réalisation est trop long ».
Alors le Chef de Projet paya des consultants, autorisa beaucoup d’heures supplémentaires et supprima toutes les vacances.
Puis il parla au Chef Programmeur : « Regarde, vois tout ce que j’ai fait ; la date de Livraison sera dans une année ».
Et le Chef Programmeur mit ses collaborateurs à analyser et à coder et il y eut de nombreuses réunions et beaucoup d’heures d’ordinateur furent utilisées à ce travail, bien qu’il n’y eut encore aucune Spécification.
Et il advint que le Chef de Projet examina les analyses et vit que cela était trop ambitieux et il sut qu’ils ne pourraient l’accomplir pour la Date de Livraison. Alors le Chef de Projet ordonna au Chef Programmeur de séparer l’étude en deux parts. II appela l’une « Fonctions Indispensables » et il appela l’autre « Options » – et le Client dut accepter.
Et le Chef de Projet ordonna : « Que les Sociétés de Logiciel envoient leurs Représentants et qu’il y ait un Système de Gestion de Bases de Données » et il en fut ainsi.
Les représentants présentèrent toutes sortes de brochures qui annonçaient des choses nombreuses et merveilleuses – chacun en accord avec sa propre organisation de fichier. Et il advint qu’un Système de Gestion de Bases de Données fut choisi et le Chef Programmeur dit que cela était bon et que plus de programmeurs étaient nécessaires si tout devait être accompli pour la Date de Livraison.
Donc l’Équipe de Projet fut augmentée presque sans limites. Le Chef de Projet, surveillant cela de loin, dit : « Qu’il y ait une Organisation » et il y eut une Organisation.
Et l’Équipe de Projet fut divisée en nombreux groupes qui ne se parlaient pas l’un à l’autre et il fût dit que, peut-être, cela était bon. Le Chef Programmeur appela certains « Programmeurs Confirmés » et il appela les autres « Programmeurs débutants » et il donna pouvoir aux premiers sur les seconds.
Et les Programmeurs Confirmés virent que cela était bon tandis que les Programmeurs Débutants virent cela autrement.
Et le Chef Programmeur exhortait ses collaborateurs à des efforts encore plus grands car la Date de Livraison était proche et le souffle du Chef de Projet pesait sur sa nuque.
Les Programmeurs Confirmés et les Programmeurs Débutants s’effrayèrent à la fois. Ils luttèrent de toutes leurs forces pour satisfaire le Chef Programmeur avec beaucoup d’heures supplémentaires et de nombreux commentaires, et chacun coda et dessina des organigrammes, chacun à sa propre mode. Le Chef de Projet, voyant cela, ne l’aima pas et ordonna « Qu’il y ait des Standards » et il y eut des Standards mais les Programmeurs ne les aimèrent pas et la productivité chuta. Quand il apprit ceci le Chef Programmeur prit peur d’être rejeté de sa haute fonction et ainsi il ordonnât : « Qu’il ait des États d’Avancement » et il y eut des États d’Avancement.
Le Chef Programmeur regarda les États d’Avancement et il vit que la Date de Livraison ne serait pas tenue. Aussi, au dixième mois, le Chef Programmeur se dressa, brossa son costume, rasa sa barbe et vint devant le Chef de Projet, se prosternant, et accusant, et appelant la malédiction sur toutes les espèces de créatures qui vendaient du matériel et du logiciel. Et le Chef Programmeur demanda une prolongation.
Ce qui provoqua la colère du Chef Projet et amena des doutes sur la légitimité des ancêtres du Chef Programmeur, jusqu’à la troisième et la quatrième génération incluses, et l’on battit sa coulpe et il y eut beaucoup de cheveux arrachés – principalement du Chef Programmeur. Et le Chef de Projet ordonna au Chef Programmeur de mettre en oeuvre tout le personnel des Sociétés de Service et tous les consultants. Mais le Chef Programmeur refusa de dire que tous étaient nécessaires car il n’y avait, pas encore, de spécifications.
Et il advint qu’une prolongation fut obtenue et le Chef programmeur revint vers ses collaborateurs apportant ces nouvelles et la joie et l’entrain revinrent parmi les terminaux et la machine à café s’épuisa.
Au vingtième mois, le Chef Programmeur dit : « Que les modules soient intégrés, chacun avec les autres, afin que les Test Système puissent commencer ». Et il en fût fait ainsi et de grandes difficultés apparurent et de nombreuses heures supplémentaires furent dépensées à chercher pourquoi les modules ne voulaient pas s’intégrer, car il n’y avait pas de documentation et, pas encore, de spécifications.
Puis, au vingt-quatrième mois, le Chef Programmeur alla vers le Chef de Projet et lui dit « Regardez, j’apporte de grands espoirs de grandes joies pour nous et pour le Client, car en ce jour le Système a fonctionné ». Et soudain, il y eut autour d’eux une foule, une multitude de commerçants acclamant le Chef Programmeur et chantant : « Gloire à la Compagnie , au Chef de Projet et au Chef programmeur et s’il vous plaît pouvez-vous faire cette petite modification ? ».
Et le Chef Programmeur se dressa et leur parla en ces termes : « Nous ne nous y risquerons pas car il n’y a pas de documentation et, pas encore, de spécifications »
D’après un texte anglais paru dans « SDL NEWSLETTER » n°2.