Diverses lois de l’informatique
Il est impossible de différencier la magie de la technologie de pointe.
Note du webmestre : vous pourrez alors appeler la fée Tuxette qui pourra peut-être vous aider...
Quand rien ne marche, il est recommandé de lire le mode d’emploi.
Cela marche mieux lorsqu’on a branché la machine.
Si plusieurs choses risquent de foirer, foirera celle suceptible de causer les plus grands ravages.
– Tout système qui dépend de la fiabilité de l’homme n’est pas fiable. Les hommes sont moins fiables que les ordinateurs. A l’origine de chaque erreur attribuée à l’ordinateur, on trouve au moins deux erreurs humaines, dont celle qui consiste à accuser d’office l’ordinateur.
– Il existe une quantité infinie d’erreurs imprévisibles, alors que l’ensemble des erreurs prévisibles est fini.
– Les investissements pour augmenter la fiabilité d’un système existant augmenteront jusqu’à dépasser le coût probable des erreurs.
– La différence entre un utilisateur imbécile et un criminel attaquant un système informatique réside dans le fait que l’action de l’imbécile est imprévisible et en général a des conséquences plus graves.
– Lorsqu’il tourne, n’importe quel programme est déjà obsolescent.
– N’importe quel projet coûte plus cher et dure plus longtemps que prévu.
– A l’intérieur de chaque grand logiciel, il existe un petit logiciel qu’il vaudrait mieux faire disparaître.
– N’importe quel programme croît jusqu’à occuper la totalité de la capacité mémoire.
– La complexité de tout programme croît jusqu’à excéder les capacités du programmeur chargé de le maintenir.
– Si un programme est utile, on le changera.
– Si un programme est inutile, on en améliorera la documentation.
– La réputation d’un programme est proportionnelle au poids de ses sorties imprimées.
– Si l’on faisait en sorte que les analystes et les programmeurs puissent écrire en français, on s’apercevrait que la plupart ne savent pas écrire le français.
Lorsqu’un projet logiciel a pris du retard, mobiliser de la main d’oeuvre supplémentaire ne fait qu’augmenter ce retard.
On n’a jamais le temps de bien faire les choses, on a toujours le temps de les refaire.
– Un micro-ordinateur est obsolète dès son déballage
– Une application pleinement satisfaisante doit toujours être upgradée... Et la mise à jour est toujours boguée.
– Quand un logiciel est inutile, il faut une formation.
– Si un programme est inutile, il faudra le documenter.
– Tout programme, s’il fonctionne, est obsolète.
– Tout autre programme coûte plus cher et prend plus de temps.
– Si un programme est utile, il sera remplacé.
– Tout programme grandira de manière à occuper tout l’espace mémoire disponible, même si on ne le démarre jamais.
– Tout programme non trivial contient au moins un bug.
– Les erreurs indétectables sont en nombre infini, contrairement aux erreurs détectables dont le nombre catalogué est très limité.
– Faire disparaître un message d’erreur est une utopie : vous n’avez simplement pas encore trouvé celui qui l’a remplacé.
– La fonction annuler n’est jamais disponible quand vous en auriez besoin.
– Ce n’est qu’après avoir essayé tout le reste, qu’on lit la documentation... C’est à ce moment qu’on se rend compte qu’on l’a jetée avec l’emballage.
– Tout programme non trivial contient au moins un bug... Aucun programme n’est trivial.
– Dès que vous quittez l’imprimante des yeux, elle a un problème.
– C’est généralement lorsque le disque dur plante qu’on se rend compte qu’on a oublié de le sauvegarder ... Sinon, c’est en le sauvegardant qu’on l’a fait planter.
– Si les constructeurs construisaient les bâtiments de la manière dont les programmeurs écrivent les programmes, le premier pic vert qui passerait détruirait la civilisation.
– Si le document est censé exister, il n’existe pas.
– Si le document existe, il est périmé.
– Seule la documentation pour les programmes inutiles transgresse les deux premières lois.
– 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.
– Tout programme, quel qu’il soit, dès qu’il est commercialisé est obsolète.
– Tout nouveau programme coûte plus cher et est plus lent à faire tourner que l’ancien.
– Si un programme est très utile, il devra être changé par un autre
– Si un programme est inutile, il faudra lui faire une documentation
– Tout programme lors de son lancement aura tendance à remplir toute la RAM disponible
Un programme informatique fait ce que vous lui dites de faire, pas ce que vous voudriez qu’il fasse.
– Les jurons sont les seules expressions comprises par tous les programmeurs.
– Ce n’est que lorsqu’un programme sera commercialisé depuis 6 mois que les plus graves erreurs seront détectées.
– Les cartes de contrôle de travail qui doivent être classées dans un ordre précis seront classées dans le désordre.
– Des cassettes supposées être interchangeables ne le seront pas.
– 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.
– Si une installation test fonctionne parfaitement, tous les systèmes qui en dépendent vont planter.
– La zone de danger pour un ordinateur dépend de la longueur de son cordon d’alimentation.
– 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.
– Si les ordinateurs deviennent trop puissants, on peut toujours les organiser en comités.
– 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.
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.
– Des objectifs de projet flous sont pratiques pour éviter l’embarras d’une estimation des coûts correspondants.
– 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.
– L’effort à fournir pour corriger le cap d’un projet s’accroît géométriquement avec le temps.
– 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.
– On ne peut pas compter sur les ordinateurs, mais encore moins sur les humains.
– Les ordinateurs ne sont pas intelligents. Mais ils pensent qu’ils le sont.
– Les vieux programmeurs ne meurent pas. Ils se branchent simplement à une autre adresse.
© 1999-2023 Pascal DELROT