De variables globales tu n'useras point
La raison en est simple : les variables globales sont extrêmement difficiles à gérer dans le contexte d'un programme complexe. Intrinsèquement, leur utilisation n'est pas thread-safe puisqu'elle sont partagées par l'ensemble des modules composants le programme ; cette caractéristique signifie aussi que les changements de valeur d'une variable globale sont difficile à suivre dans le cadre d'un programme multi-thread ou même, simplement, dans le cadre d'un programme réagissant aux évenements utilisateurs (c'est à dire dont l'éxécution n'est pas linéaire comme c'est le cas pour un programme en mode console). Pire, selon le langages utilisés, l'ordre de construction des variables globales peut ne pas être garanti, ce qui suppose qu'une variable globale ne peut pas forcément faire référence à une autre.