Blagues récentes

1 ) Un micro-ordinateur est obsolète dès son déballage.
2 ) Une application pleinement satisfaisante doit toujours être upgradée... Et la mise à jour est toujours boguée.
3 ) Quand un logiciel est inutile, il faut une formation.
4 ) Tout programme, s'il fonctionne, est obsolète.
5 ) Tout autre programme coûte plus cher et prend plus de temps.
6 ) Si un programme est utile, il sera remplacé.
7 ) Si un programme est inutile, il faudra le documenter.
8 ) Tout programme grandira de manière à occuper tout l'espace mémoire disponible, même si on ne le démarre jamais.
9 ) Le prix d'un programme sera proportionnel à la lourdeur de ce qu'il donne en sortie.
10 ) La complexité d'un programme croîtra jusqu'à ce que le programmeur lui-même n'y comprenne plus rien.
11 ) Tout programme non trivial contient au moins un bug.
12 ) ... Aucun programme n'est trivial.
13 ) Les erreurs indétectables sont en nombre infini, contrairement aux erreurs détectables dont le nombre catalogué est très limité.
14 ) Si on ajoute un homme à un projet en rетаrd, cela ne fera qu'ajouter du rетаrd.
15 ) Faire disparaître un message d'erreur est une utopie : vous n'avez simplement pas encore trouvé celui qui l'a remplacé.
16 ) La fonction annuler n'est jamais disponible quand vous en auriez besoin.
17 ) Ce n'est qu'après avoir essayé tout le reste, qu'on lit la documentation...
18 ) ... C'est à ce moment qu'on se rend compte qu'on l'a jetée avec l’emballage.
19 ) Dès que vous quittez l'imprimante des yeux, elle a un problème.
20 ) C'est généralement lorsque le disque dur plante qu'on se rend compte qu'on a oublié de le sauvegarder...
21 ) ... Sinon, c'est en le sauvegardant qu'on l'a fait planter.
22 ) La zone de danger pour un ordinateur dépend de la longueur de son cordon d'alimentation.
23 ) Une des raisons qui explique que les ordinateurs accomplissent plus de travail que les humains , c'est que eux n'ont pas à s'arrêter pour répondre au téléphone.
24 ) Si les ordinateurs deviennent trop puissants, on peut toujours les organiser en comités.
25 ) A la source de chaque erreur imputée à l'ordinateur, on découvrira au moins 2 erreurs humaines (on compte ici l'erreur qui consiste à imputer la faute à l'ordinateur).
26 ) Si on met n'importe quoi dans un ordinateur, la seule chose qu'on peut en tirer, c'est n'importe quoi.
Mais ce « n'importe quoi », en étant passé par une machine coûtant très cher, est comme qui dirait « anoblit », et personne n'ose le critiquer.
27 ) Les ordinateurs ne sont pas intelligents. Mais ils pensent qu'ils le sont.
28 ) Les vieux programmeurs ne meurent pas. Ils se branchent simplement à une autre adresse.
Deuxieme loi de weinberg :
Si les constructeurs construisaient les bâtiments de la manière dont les programmeurs écrivent les programmes, le premier pivert qui passerait détruirait la civilisation.
Loi communes de la bureautique et de la programmation reunies :
1 ) Si le document est censé exister, il n'existe pas.
2 ) Si le document existe, il est périmé.
3 ) Seule la documentation pour les programmes inutiles transgresse les deux premières lois.
Lois de l’ecriture d’un programme :
Pour savoir combien de temps ça prend pour écrire et débugger un programme, faites votre estimation la plus fiable, ajoutez un, multipliez par deux, et arrondissez à la dizaine supérieure.
1 ) Tout programme, quel qu'il soit, dès qu'il est commercialisé est obsolète.
2 ) Tout nouveau programme coûte plus cher et est plus lent à faire tourner que l'ancien
3 ) Si un programme est très utile, il devra être changé par un autre.
4 ) Si un programme est inutile, il faudra lui faire une documentation
5 ) Tout programme lors de son lancement aura tendance à remplir toute la RAM disponible
6 ) La valeur d'un programme est inversement proportionnelle à la taille des documents qu'il génère.
7 ) La complexité d'un programme s'accroît jusqu'à ce qu'elle dépasse les capacités du programmeur qui en assure le développement.
Troisieme loi de greer :
Un programme informatique fait ce que vous lui dites de faire, pas ce que vous voudriez qu'il fasse.
Postulats de troutman :
1 ) Les jurons sont les seules expressions comprises par tous les programmeurs.
2 ) Ce n'est que lorsqu'un programme sera commercialisé depuis 6 mois que les plus graves erreurs seront détectées.
3 ) Les cartes de contrôle de travail qui doivent être classées dans un ordre précis seront classées dans le désordre.
4 ) Des cassettes supposées être interchangeables ne le seront pas.
5 ) Si le programme a été étudié pour rejeter toute entrée erronée, le premier crétin ingénieux trouvera un moyen de faire accepter des mauvaises valeurs par le programme.
6 ) Si une installation test fonctionne parfaitement, tous les systèmes qui en dépendent vont planter.
Loi de pierce :
Lors de chaque test de programme sur un nouveau système, la machine va toujours, mal interpréter, mal afficher, mal imprimer, ou encore n'évaluera pas des sous-routines mathématiques, et tout ça dès le premier test.
Corollaire de la loi de pierce :
Quand un compilateur accepte un programme sans erreur lors de la première exécution, le programme ne fournira pas les données que l'on attend de lui.
Lois de golub de la dомinатiоn informatique :
1 ) Des objectifs de projet flous sont pratiques pour éviter l’embarras d'une estimation des coûts correspondants.
2 ) Un projet préparé sans soin prendra trois fois plus de temps que prévu pour son achèvement; un projet préparé soigneusement prendra seulement deux fois le temps prévu.
3 ) L'effort à fournir pour corriger le cap d'un projet s'accroît géométriquement avec le temps.
4 ) Les équipes de projets de développement détestent les briefings hebdomadaires sur l'avancement du projet... parce qu'ils mettent en évidence que le projet n'avance pas.
Premiere loi de gilb sur la confiance :
On ne peut pas compter sur les ordinateurs, mais encore moins sur les humains.
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é.
La programmation structuree
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.
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.
Les systemes d'exploitation.
Quel est le type de système d'exploitation qui est utilisé par les VÉRITABLES ?
MS-DOS ? Dieu merci non ! Après tout, MS-DOS est un système d'exploitation joujou. Même les petites mémés et les lycéens peuvent comprendre et utiliser MS-DOS.
UNIX est bien un peu plus compliqué. Un hacker typique sous UNIX n'arrive jamais à se souvenir quel est le nom de la commande PRINT valable pour la semaine. Mais quand on y pense un peu, UNIX n'est qu'un jeu vidéo un peu mis en valeur. On ne travaille pas sérieusement sous UNIX, on se borne à
Envoyer des vannes au monde entier par UUCP, à écrire des jeux d'aventure ou à rédiger des articles scientifiques pour publication.
Non, un VÉRITABLE travaille sous OS/370. Un bon VÉRITABLE peut arriver à trouver dans son manuel JCL la signification de l'erreur IJK305I qu'il vient d'avoir. Un VÉRITABLE fortiche peut écrire du JCL sans consulter ce manuel du tout. Un VÉRITABLE carrément extra peut trouver des bugs enfouis dans un dump mémoire de 6 Mégaoctets sans utiliser une calculatrice hexadécimale.
OS/370 est véritablement un système d'exploitation remarquable. Il est possible la dessus de détruire des journées de travail avec un blanc mal placé, ce qui incite les équipes de programmation à une plus grande concentration mentale. La meilleure manière pour aborder le système OS/370 est par une perforatrice de cartes. Certains prétendent qu'il existe un time-sharing sur OS/370, mais une étude minutieuse à montré le contraire.
Les outils de programmation
Quels outils un VÉRITABLE emploie-t-il ? En théorie, il pourrait rentrer ses programmes directement par les clés du panneau frontal de son ordinateur. C'était effectivement le cas à l'occasion du temps où les machines avaient encore cet accessoire. Il fut un temps ou un VÉRITABLE connaissait typiquement par coeur son boot en hexa et le rentrait à chaque fois qu'il lui arrivait de l'écraser avec son programme.
C'était aussi le temps où la mémoire était véritable, et ne s'en allait pas quand on coupait le jus. De nos jours, les mémoires oublient ce qu'on leur demande de retenir et gardent des choses qu'elles feraient mieux d'écraser. La légende dit que Seymour Cray, le père du super ordinateur CRAY I et de la plupart des Control Data a rentré aux clés le premier système d'exploitation du CDC-7600 quand celui-ci a démarré pour la première fois. Inutile de préciser que Seymour Cray est un VÉRITABLE.
Un de mes VÉRITABLES favoris était un ingénieur Texas Instrument. Un jour, il reçut un appel longue distance d'un utilisateur dont le système avait crashé au milieu d'une sauvegarde importante. Jim avait alors réparé les dommages au téléphone en faisant rentrer par l'utilisateur les instructions de disk I/O aux clés, en patchant les tables systèmes en hexa et en se faisant relire les contenus des registres à l'écouteur.
La morale de cette histoire est : Même si un VÉRITABLE utilise en général une perfo ou une imprimante comme outil de génie logiciel, il peut s'en sortir en cas d'urgence avec juste un tableau frontal et une ligne téléphonique.
Dans certaines sociétés, « édition de texte » ne signifie plus de nos jours 10 ingénieurs faisant la queue devant une perfo en code 29.
D'ailleurs mon lieu de travail n'a plus aucune perfo. Dans une telle situation, un VÉRITABLE doit se résigner à utiliser un éditeur de texte. La plupart des systèmes permettent le choix entre plusieurs éditeurs, et il s'agit d'en choisir un qui soit compatible avec votre style de travail. Beaucoup de personnes croient que les meilleurs éditeurs de textes du monde proviennent des laboratoires XEROS à Palo Alto, sur les systèmes ALTO et DORADO.
Malheureusement, comment voulez vous qu'un véritable puisse utiliser un système d'exploitation au nom aussi ridicule que SMALLTALK, et encore moins manipuler une souris ?
Quelques un des concepts de ces éditeurs de XEROS se sont retrouvés dans des éditeurs tournant sur des systèmes aux noms plus raisonnables (comme EMACS, VI). Le problème avec ces éditeurs de texte est que le concept « Vous obtenez ce que vous voyez » est aux yeux d'un véritable aussi vicieux chez un éditeur qu'il peut l'être chez une femme. En réalité, un VÉRITABLE préfère du « Vous l'aviez voulu, tant pis pour vous », du compliqué, de l'énigmatique, du mystérieux, puissant et impitoyable comme TECO pour tout dire.
On a fait remarquer qu'une séquence de commande TECO ressemble plus à un bruit de télétransmission qu'à du texte lisible. Un jeu bien connu sur TECO consiste à taper votre nom en tant que commande et à voir ce que cela donne. N'importe quelle erreur de frappe dans TECO recèle une forte probabilité de destruction de votre programme, ou mieux encore, d'introduction des erreurs dans un sous programme qui fonctionnait dans le passé.
C'est ce qui explique pourquoi un VÉRITABLE rechigne à éditer un programme qui tourne presque. Il préfère patcher directement le binaire à l'aide d'un merveilleux outil appelé SUPERZAP (ou son équivalent sur une machine non-IBM). Cela marche tellement bien, que beaucoup de programmes IBM n'ont que peu de ressemblances avec le source FORTRAN. En réalité, dans de nombreux cas, on ne dispose plus du tout du source.
Quand il s'agit de corriger un tel programme, aucun patron ne penserait à un autre recours qu'un VÉRITABLE : un VISAGE PÂLE structuré ne saurait même pas par quoi commencer. On appelle ça :
- « La protection de l’emploi ».
Voici quelques outils de génie logiciel NON employés par les VÉRITABLES :
Les veritables au travail
Où travaille un VÉRITABLE ? Quels genres de programmes requièrent l'attention de cet individu aussi talentueux ? Vous n'en trouverez pas en train d'écrire une paie-compta en COBOL, ou encore faisant du tri d'adresses pour un club de micro. Un VÉRITABLE ne s'attelle qu'à des tâches extraordinaires (au sens étymologique).
Les VÉRITABLES les plus formidables travaillent au Jet Propulsion Laboratory en Californie.
Beaucoup d'entre eux connaissent par coeur le logiciel de pilotage des sondes Pionner et Voyager. En combinant des gros programmes FORTRAN au sol avec un petit programme en langage machine la haut; ils sont capables de prodiges de navigation et d'improvisation, comme taper dans une fenêtre de dix kilomètres de large sur Saturne après six ans dans l'espace. Ou bien encore de réparer des radios et batteries endommagées. Il paraîtrait qu'un VÉRITABLE a réussi à fourrer un programme de reconnaissance de forme de quelques centaines d'octets dans un coin de mémoire libre, ce qui a permis de découvrir une nouvelle lune de Jupiter !
Il est actuellement prévu pour le programme GALILEO de balancer la sonde vers Jupiter au moyen d'une assistance gravitationnelle de Mars. Cette trajectoire va passer à 80 kilomètres (plus ou moins 3 kilomètres) de la surface de Mars. Personne ne ferait confiance à un programme PASCAL (ou à un programmeur PASCAL) pour naviguer avec une telle précision.
Comme vous le voyez, beaucoup de VÉRITABLES existant au monde travaillent pour le gouvernement Américain, et spécialement pour le Département de la Défense (DoD). Et c'est très bien ainsi.
Récemment, cependant, un nuage noir a obscurci l'horizon des VÉRITABLES. Il semblerait que quelques VISAGES-PÂLES haut placés du DoD aient décidé que tous les programmes de la Défense devront êtres écrits dans un grand langage unifié appelé Ada. Pendant un temps, il semblait que Ada allait à l'encontre de la programmation VÉRITABLE (un langage avec des structures, des types de données, des points-virgules, bref un langage qui étiolerait la créativité des VÉRITABLES).
Heureusement, le langage qui fut finalement adopté par le DoD comporte suffisamment de possibilités intéressantes pour le rendre potable. Il est d'une effroyable complexité, et il contient des outils pour tripoter le système d'exploitation et réordonner la mémoire. Edsger Dijkstra ne l'aime pas (Vous connaissez Dijkstra, c'est celui qui a écrit le livre « GOTOs considérés comme nuisibles ». Une oeuvre remarquable applaudie par tous les programmeur PASCAL et les VISAGES-PÂLES). En tout cas rassurons-nous :
Un VÉRITABLE peut programmer en FORTRAN dans n'importe quel langage.
Il semblerait cependant que certains véritables peuvent condescendre à faire un compromis dans leurs principes et à oeuvrer sur des choses plus triviales que la destruction de la terre, à condition que ce boulot puisse rapporter des sous. ATARI par exemple, emploie plusieurs VÉRITABLES pour écrire ses jeux vidéos (pas pour y jouer, un VÉRITABLE connaît toutes les astuces pour battre la machine à chaque coup et ce ne serait pas glorieux). Les gens de chez LUCAS FILM sont aussi des
VÉRITABLES, il faudrait être fou pour refuser des millions de dollars des fanas de « l’empire contre attaque ». En CAO, il n'y a pour le moment pas assez de VÉRITABLES; Ils n'ont pas encore trouvé le filon. On y trouve en général des gens qui y sont uniquement pour faire du FORTRAN et éviter de faire du COBOL.
Les veritables au travail
En général, un VÉRITABLE joue comme il travaille, avec des ordinateurs. Il trouve d'ailleurs incroyable que son boss puisse le payer pour faire quelque chose qu'il ferait de toute manière gratos (Bien qu'il fasse attention de ne pas le dire trop fort). De temps en temps, il arrive que le VÉRITABLE sorte de son bureau pour respirer un bol d'air et prendre un verre de bière. Pour le reconnaître à ces moments, voici quelques trucs :
L'habitat naturel du veritable
Dans quel biotope se plaît le mieux le VÉRITABLE ? C'est une question importante pour les patrons de VÉRITABLES, car vu le coût d'un tel spécimen, il est préférable de leur donner un environnement tel qu'il puisse accomplir efficacement son travail.
Un véritable typique vit devant un terminal d'ordinateur. Autour de ce terminal, on peut trouver :
Un VÉRITABLE est capable de travailler 30, 40 et même 50 heures d'une traite, sous pression intense. Les temps de réponse lents ne dérangent pas le VÉRITABLE, ils lui donnent la possibilité de faire un petit somme entre deux compiles. Si le planning n'est pas trop serré, le VÉRITABLE s'arrange en général pour rendre les choses plus palpitantes en passant les neuf premières semaines sur un point réduit mais intéressant du projet, puis en finissant le reste du projet la dernière semaine en quelques marathons de 50 heures. Non seulement cela contribue à impressionner diablement son patron, qui désespérait de voir le projet finir dans les temps, mais cela lui fournit aussi une excellente excuse pour ne pas faire la doc.
En général, on peut dire :
L'avenir du veritable
Que nous réserve l'avenir. C'est un sujet de préoccupation pour les VÉRITABLES que les nouvelles générations de programmeurs ne soient pas élevées avec la même conception de la vie que leurs aînés. Beaucoup de ces jeunes n'ont jamais vu un ordinateur avec un panneau frontal. On peut à peine trouver un nouveau diplômé qui sache calculer en hexa sans une calculette. De nos jours, les diplômés sont des pieds tendres, protégés des réalités de la programmation par des débuggueurs symboliques, des éditeurs de textes qui comptent les parenthèses, et des systèmes d'exploitations « conviviaux ». Pire de tout, ces soi-disant « chercheurs » du logiciel récoltent des diplômes sans même avoir jamais appris le FORTRAN ! Sommes-nous destinés à devenir une industrie de programmeurs PASCAL ou de maniaques UNIX ?
Heureusement, mon expérience vécue me dit que le futur reste radieux pour les VÉRITABLES, Ni OS/370 ni FORTRAN ne montrent de signes de faiblesses, malgré les tentatives des programmeurs PASCAL du monde entier. Même les ruses les plus subtiles comme l'introduction de la structuration dans le FORTRAN ont échoué.
Bien sûr, quelques constructeurs ont bien sorti des compilos FORTRAN-77, mais tous offrent la possibilité de revenir au FORTRAN-66 moyennant une option de compile, et permettant ainsi de compiler des boucles DO comme Dieu les a créées pour.
Mais l'avenir de UNIX peut ne pas être aussi mauvais pour les VÉRITABLES qu'on le disait avant. La dernière release de UNIX contient des potentialités dignes de n'importe quel VÉRITABLE : Deux interfaces utilisateurs différentes et subtilement incompatibles, un driver TTY tortueux et compliqué, de la mémoire virtuelle. Si vous laissez de coté qu'il soit un langage structuré, le C peut se faire apprécier d'un VÉRITABLE. Après tout, il ne vérifie pas les types des variables, les noms ont seulement sept caractères (ou dix ? ou huit ?) et vous avez en plus les pointeurs (Comme si on avait les avantages du FORTRAN et de l'Assembleur conjugués). Et sans oublier toutes les applications créatives et intéressantes qu'on peut faire avec le #DEFINE.
Non, l'avenir n'est pas si mal. Et même, ces derniers temps, la presse populaire a mentionné que les brillantes promos d'hackers quittent des temples comme le MIT ou STRANFORD pour envahir le monde. L'еsрriт est de toute évidence en eux. Tant qu'existent encore des objectifs mal définis, des bugs bizarres et des plannings irréalistes, il y aura des VÉRITABLES prêts à foncer dans le tas et à résoudre les problèmes en laissant la doc pour plus таrd.
Longue vie au fortran !
Auteur inconnu
Texte trouvé sur les News en 1987.
Stratégie marketing de Microsoft (MARKET. EXE)
#include
#include
#include /* Librairie de Connexion du Réseau Microsoft */
#include /* Pour la cour de justice */
#define dire(x) mensonge(x)
#define utilisateurdordinateur
Tous_veulent_acheter_notre_logiciel_bogue
#define année_prochaine bientôt
#define le_produit_est_déjà_prêt_à_partir, autre_version_beta
Void main()
{
If (dernière_version__window_d_au_moins_un_mois)
{
If (il_y_a_encore_des_bogues)
Marche(corriger_les_bogues);
If (les_ventes_sont_en_dessous_d_un_certain_point)
Lever(RUMEURS_AU_SUJET_D_UNE_NOUVELLE_VERSION_SANS_BOGUE);
}
Il(tout_le_monde_parle_à_propos_d_une_nouvelle_version)
{
Faut_faire_de_fausses_promesses(ça_sera_multi_tâches); /* Appel standard, dans mensonges. H */
If (les_rumeurs_vont_bon_train)
Faire_de_fausses_promesses(ça_sera_plug_and_play);
If (les_rumeurs_continuent_a_aller_bon_train)
{
Temps_marche=mur; dire(« Ça sera prêt dans un mois »);
Ordonner(programmeurs, arreter_de_corriger_les_bogues_de_l_ancienne_version
Ordonner(programmeurs, commencer_le_lavage_de_cerveau_pour_une_nouvelle_version;
Ordonner(directionmarketing, permission_de_divulguer_des_non_sens);
Logicielvapeur=TRUE;
Break;
}
}
Switch (de_sales_questions_émanent_de_la_presse)
{
Case LORSQUE_CA_SERA_PRET:
Dire(« ça sera prêt dans », aujourd_hui+30_jours, » nous sommes en phase de test »);
Break;
Case LORQUE_LE_PLUG_AND_PLAY_FONCTIONNERA:
Dire(« Oui ça tourne »);
Demander(programmeurs, pourquoi_est_ce_que_ca_ne_tourne_pas);
Prétendre(il_n_y_a_pas_de_problème);
Break;
Case QUEL_EST_LE_MATERIEL_MINIMUM_REQUIS:
Dire(« ça tourne sur un 8086 à la vitesse de l'éclair grâce à »
» l'architecture 32 bits »);
Informer(INTEL, « Les ventes de Pentium vont pulvériser les sommets »);
Informer(SAMSUNG, « Commencez à faire une nouvelle mémoire »
- « parce que tous ces clients auront besoin d'au moins 32 megas »);
Informer(QUANTUM, « Remerciez notre logiciel monstre qui va tripler vos ventes »);
Donner_un gros_bonus(INTEL, SAMSUNG, QUANTUM);
Break;
Case MICROSOFT_PREND_TROP_D_IMPORTANCE:
Say(« Oh non, nous sommes simplement en train de rendre le monde meilleur pour tous »);
Enregistrer(journaliste, Gros_Livre_de_Bill);
When(il_est_grand_temps)
{
Arrêter(journaliste);
Lavage_de_cerveau(journaliste);
When(journaliste_dit_que_windows95_est_sans_bogue)
{
Ordonner(journaliste, « écrivez un bel article objectif »);
Libérer(journaliste);
}
}
Break;
}
While (logiciel_vapeur)
{
Date_d_introduction++; /* Délai */
If (plus_personne_ne_croit_à_une_nouvelle_version)
Break;
Dire(« ça sera prêt dans « ,aujourd_hui+UN_MOIS);
}
Libérer(version_beta)
While (tous_en_ont_assez_de_notre_logiciel_bogué)
{
Compte_en_banque_de_bill += 150*mégabucks;
Libérer(nouvelle_version_supérieure);
Introduire(plus_de_besoin_matériel);
If (les_clients_rapportent_des_problèmes_d_installation)
{
Dire(« C'est un problème matériel et non un problème logiciel »);
If (le_client_confiant_dit_mais_vous_avez_promis_du_plug_and_play)
{
Ignorer(client);
Ordonner(service_secret_microsoft, « Gardez un oeil sur ce вâтаrd »);
}
}
If (compte_en_banque_monumental_de_bill && mariage_date de_deux_ans )
{
Divorcer(femme_qui_était_belle_lorsque_je_l_avais_épousée);
Faire_des_vagues(dollars, à_la_fille_sеxy);
Épouser(jeune_blonde_vierge_avec_de_gros_lolos);
Déflorer(jeune_blonde_vierge_avec_de_gros_lolos);
If (les_lolos_commencent_à_tomber)
Virer(les_lolos_commencent_à_tomber); /* Elle est encore vierge? */
}
If (il_y_a_une_autre_société_qui_monte)
{
Voler(leurs_idées);
Accuser(societé, d_avoir_volé_nos_idées);
Louer(un_paquet_d_avocats); /* dans procès. H */
Attendre(jusqu_à_ce_que_autre_société_ne_puisse_plus_engager_de_poursuites);
Racheter(l_autre_société);
}
}
/* Maintenant tout le monde realise que nous avons vendu un logiciel bogué
Et ils sont en colère contre nous
*/
Commander(chirurgien_plastique, donner_à_bill_l_apparence_d_un_pauvre_вâтаrd);
Acheter(une_belle_petite_ile); louer(un_harem);
Rire(de_tout_le_monde_d_avoir_attendu_année_après_anneée_une_nouvelle_version_incomplète);
}
Void corriger_les_bogues(void)
{
Charger(un_paquet_de_fric)
Le but de la manipulation est d'écrire un programme qui affichera « HELLO WORLD » à l'écran.
Terminale
10 Print « hello world »
20 End
Dut 1ere annee
Program HELLO(input, output)
Begin
Writeln(‘HELLO WORLD')
End.
Dut 2eme annee
(defun HELLO
(print
(cons ‘HELLO (list ‘WORLD))
)
)
Fraichement sorti de l'ecole
Void main(void)
{
Char *message[] = {« HELLO « , « WORLD »};
Int i;
}
Professionnel tres experimente
{
Private:
Int size;
Char *ptr;
Public:
String() : size(0), ptr(new char(‘\0')) {}
String(const string &s) : size(s. Size)
{
Ptr = new char[size + 1];
Strcpy(ptr, s. Ptr);
}
~string()
{
Delete [] ptr;
}
Friend ostream &operator <<(ostream &, const string &);
String &operator=(const char *);
};
Ostream &operator<<(ostream &stream, const string &s)
{
Return(stream << s. Ptr);
}
String &string::operator=(const char chrs)
{
If (this != &chrs)
{
Delete [] ptr;
Size = strlen(chrs);
Ptr = new char[size + 1];
Strcpy(ptr, chrs);
}
Return( this);
}
Int main()
{
String str;
Str = « HELLO WORLD »;
Cout << str << endl;
Return(0);
}
Professionnel vraiment tres tres experimente
[
Uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
Library LHello
{
// bring in the master library
Importlib(« actimp. Tlb »);
Importlib(« actexp. Tlb »);
{
Interface IHello;
Interface IPersistFile;
};
};
[
Exe,
Uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
Module CHelloLib
{
{
Cotype THello;
};
};
#include « ipfix. Hxx »
Extern HANDLE hEvent;
Class CHello : public CHelloBase
{
Public:
IPFIX(CLSID_CHello);
Private:
Static int cObjRef;
};
#include
#include
#include
#include
#include « thlo. H »
#include « pshlo. H »
#include « shlo. Hxx »
#include « mycls. Hxx »
Int CHello::cObjRef = 0;
CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
CObjRef++;
Return;
}
HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
Printf(« %ws\n », pwszString);
Return(ResultFromScode(S_OK));
}
CHello::~CHello(void)
{
// when the object count goes to zero, stop the server
CObjRef-;
If( cObjRef == 0 )
PulseEvent(hEvent);
Return;
}
#include
#include
#include « pshlo. H »
#include « shlo. Hxx »
#include « mycls. Hxx »
HANDLE hEvent;
Int _cdecl main(
Int argc,
Char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();
HEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);
CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);
// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);
// revoke and release the class object
CoRevokeClassObject(dwRegistration);
UlRef = pCF->Release();
// Tell OLE we are going away.
CoUninitialize();
Return(0); }
Extern CLSID CLSID_CHello;
Extern UUID LIBID_CHelloLib;
CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};
UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};
#include
#include
#include
#include
#include
#include « pshlo. H »
#include « shlo. Hxx »
#include « clsid. H »
Int _cdecl main(
Int argc,
Char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];
// get object path
WcsPath[0] = ‘\0';
WcsT[0] = ‘\0';
If( argc > 1) {
Mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
Wcsupr(wcsPath);
}
Else {
Fprintf(stderr, « Object path must be specified\n »);
Return(1);
}
// get print string
If(argc > 2)
Mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
Else
Wcscpy(wcsT, L »Hello World »);
Printf(« Linking to object %ws\n », wcsPath);
Printf(« Text String %ws\n », wcsT);
// Initialize the OLE libraries
HRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
If(SUCCEEDED(hRslt)) {
HRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
// print a string out
PHello->PrintSz(wcsT);
Sleep(2000);
UlCnt = pHello->Release();
}
Else
Printf(« Failure to connect, status: %lx », hRslt);
Return(0);
}
Administrateur systeme
Apprenti hacker
Hacker experimente
Hacker tres experimente
Gourou des hackers
Directeur junior
Directeur
Directeur senior
President directeur general
L'histoire débute lorsqu’une jeune femme de 25 ans écrit à un cabinet de conseil en investissements pour avoir des tuyaux sur la façon d'épouser un homme très riche.
Le courrier :
- « Je suis une belle jeune femme de 25 ans, bien élevée et j’ai de la classe. Je souhaite me marier avec un homme qui gagne au moins un demi-million de dollars par an. Avez-vous dans vos fichiers les adresses de quelques hommes célibataires (veufs ou divorcés) qui gagnent 500.000 dollars ou plus ? Peut-être aussi que des épouses d’hommes riches peuvent me donner quelques conseils ?
J’ai déjà été fiancée à des hommes qui gagnent de 200 à 250 000 dollars pas plus…mais 250 000 dollars ce n’est pas suffisant pour que je puisse vivre dans les beaux quartiers de New-York. Je connais une femme, dans mon cours de yoga, qui s’est mariée à un banquier. Elle vit dans Tribeca, et pourtant elle n’est ni aussi belle que moi, et pas même intelligente. Mais alors, qu’a-t-elle fait que je n’ai pas fait ? Comment puis-je atteindre son niveau de vie ? »
Réponse d’un des banquiers :
- « J’ai lu votre courrier avec une grande attention, et après avoir longuement étudié votre demande, c’est avec grand soin que je me suis livré à une analyse financière de la situation.
Premièrement, je ne vous fais pas perdre de temps puisque moi-même je gagne plus de 500 000 dollars par an. Laissez-moi résumer simplement les faits : Vous mettez votre beauté physique et je mets l’argent. Malheureusement (pour vous), ceci est une bien mauvaise affaire.
Il est certain que votre beauté va s’étioler et va un jour disparaître, alors qu’en même temps, mes revenus et ma fortune continueront très probablement de croître. Ainsi, en « termes économiques « , vous êtes un passif qui subit une dépréciation et je suis un actif qui produit des dividendes. Vous subissez donc une dépréciation, mais comme celle-ci est progressive, votre valeur diminue de plus en plus vite !
Soyons plus précis : Vous avez aujourd’hui 25 ans, vous êtes belle et sans doute le resterez-vous durant les 5 ou 10 années à venir. Mais chaque année un peu moins, et quand vous vous comparerez à une photo prise aujourd’hui, vous constaterez combien vous avez vieilli. Cela signifie que vous êtes aujourd’hui dans la « phase de croissance », c’est donc le bon moment pour être vendue mais non pour être achetée.
En termes économiques, celui qui vous possède aujourd’hui à intérêt à vous avoir en « Trading position » (position de vente) et non dans « buy and hold » (acheter et conserver). C’est pourtant ce que vous offrez.
Par conséquent, toujours en termes économiques, le mariage (qui est un « buy and hold ») avec vous n’est pas une воnnе affaire à moyen ou à long terme. En revanche, la location pourrait être, en langage commercial, une affaire raisonnable que nous pouvons discuter. Je pense que si vous fournissez la garantie « bien élevée, avec de la classe et merveilleusement belle », je pourrais très probablement être le locataire de ce « produit ». Cependant, je souhaite faire, ce qui est une pratique habituelle en affaire, un essai. C’est à dire un « test drive » avant de concrétiser l’opération.
Pour résumer : comme le fait de vous acheter est une mauvaise affaire pour cause de dévaluation croissante, je vous propose une location d’une durée pendant laquelle le matériel est dans un bon usage.
En attendant de vos nouvelles, je prends congé.
Cordialement,
Un millionnaire. »