¿Por qué los errores relacionados con null se llaman 'errores de un millón'?
sobes.tech AI
Respuesta de la IA
Los errores relacionados con null se llaman "errores de mil millones de dólares" (y no de un millón), porque han causado enormes pérdidas financieras y problemas en el software durante décadas. El creador del concepto de null (originalmente NIL) en el lenguaje ALGOL, Tony Hoare, posteriormente reconoció que fue su "error de mil millones de dólares", ya que en ese momento no pudo prever los problemas de seguridad futuros.
Los problemas surgen debido a:
- Indeterminación:
nullpuede significar diferentes cosas en diferentes contextos (ausencia de valor, error, caso no manejado), lo que dificulta la comprensión del código. - Problemas de seguridad: Intentar realizar una operación sobre un valor
null(por ejemplo, llamar a un método o acceder a una propiedad) conduce a una excepción (generalmenteNullPointerException), lo que puede causar fallos en la aplicación. - Necesidad de comprobaciones: Los desarrolladores deben agregar constantemente comprobaciones de
nullantes de usar variables, lo que aumenta la cantidad y complejidad del código.
En Flutter y Dart, con la introducción de null safety, este problema se ha vuelto mucho menos relevante, ya que los tipos por defecto no pueden ser null sin una indicación explícita (String?, int?, etc.), lo que permite al compilador detectar errores potenciales antes de la ejecución.
// Antes de la introducción de null safety
String name = null; // Esto era posible
// Con null safety
// String name = null; // Error en tiempo de compilación
String? nullableName = null; // Permitido, pero explícito