Sobes.tech
Junior

Pourquoi les erreurs liées à null sont-elles appelées 'erreurs d'un million' ?

sobes.tech IA

Réponse de l'IA

Les erreurs liées à null sont appelées "erreurs d'un milliard de dollars" (et non d'un million), car elles ont causé d'énormes pertes financières et des problèmes dans les logiciels pendant des décennies. Le créateur du concept de null (initialement NIL) dans le langage ALGOL, Tony Hoare, a reconnu plus tard que c'était son "erreur d'un milliard de dollars", car il n'avait pas prévu à l'époque les futurs problèmes de sécurité.

Les problèmes surviennent en raison de:

  • Indétermination: null peut signifier différentes choses dans différents contextes (absence de valeur, erreur, cas non géré), ce qui complique la compréhension du code.
  • Problèmes de sécurité: Tenter d'effectuer une opération sur une valeur null (par exemple, appeler une méthode ou accéder à une propriété) entraîne une exception (généralement NullPointerException), ce qui peut provoquer des défaillances de l'application.
  • Nécessité de vérifications: Les développeurs doivent constamment ajouter des vérifications de null avant d'utiliser des variables, ce qui augmente la quantité et la complexité du code.

Avec Flutter et Dart, avec l'introduction de la sécurité null, ce problème est devenu beaucoup moins pertinent, car les types par défaut ne peuvent pas être null sans indication explicite (String?, int?, etc.), ce qui permet au compilateur de détecter les erreurs potentielles avant l'exécution.

// Avant l'introduction de la sécurité null
String name = null; // C'était possible

// Avec la sécurité null
// String name = null; // Erreur à la compilation
String? nullableName = null; // Permis, mais explicite