Silvana Rolón
Cristian David Restrepo Marin
👍
Jesus Cuadro
Gracias
Cuando trabajas con variables en Kotlin, no solo necesitas entender tipos como enteros, strings o booleanos. Existe un concepto fundamental que puede hacer que tu aplicación funcione correctamente o se cierre de forma inesperada: el null safety. Comprender qué es null, de dónde viene y cómo Kotlin te protege frente a este problema es una habilidad esencial para cualquier persona que programe en este lenguaje.
¿Qué es null y por qué no tiene sentido en el mundo real?
Un booleano, por definición, solo debería tener dos valores posibles: true o false. Sin embargo, en lenguajes como Java, una variable puede contener un tercer estado: null, que representa la ausencia total de valor [0:40]. Esto genera lo que se conoce como el booleano de tres valores, algo que en la vida real simplemente no existe.
Piensa en un pasaporte: lo tienes o no lo tienes. No existe un estado intermedio donde "no hay nada que decir". Lo mismo ocurre con un mouse: funciona o no funciona, pero nunca "no existe" mientras lo estás usando. Sin embargo, en programación esto sí puede pasar cuando una variable apunta a una referencia nula, es decir, a un espacio de memoria donde no se ha asignado ningún valor [1:08].
¿Cuál es la diferencia entre cero y null?
Una analogía muy útil es la del papel de baño [2:02]:
Esta distinción es crucial porque muchos errores en software ocurren cuando el programa espera un valor concreto y recibe null en su lugar.
¿Quién creó null y por qué fue un error histórico?
La referencia nula fue creada en 1965 por Tony Hoare [2:20], un científico de la computación reconocido por algoritmos como el quick sort. En una conferencia en 2009, él mismo admitió que fue su "error de los mil millones de dólares". Según sus propias palabras, optó por la solución rápida y fácil al devolver null cuando no había un valor disponible, sin prever las consecuencias que esto tendría durante décadas en la industria del software [2:35].
Este dato pone en perspectiva lo importante que es pensar bien las decisiones de diseño en programación, incluso cuando la presión por entregar resultados es alta.
¿Cómo te protege Kotlin frente a los errores por null?
Kotlin incorpora el null safety como uno de sus valores fundamentales [3:12]. El compilador de Kotlin es capaz de detectar en tiempo de compilación cuándo una variable podría ser null y te obliga a manejar esa posibilidad de forma explícita. Esto significa que puedes declarar si una variable acepta valores nulos o no, lo que reduce drásticamente los errores en tiempo de ejecución.
¿Alguna vez una aplicación en tu teléfono se cerró de repente con el mensaje "la aplicación dejó de responder"? [3:30] En muchos casos, esto ocurre porque el programa esperaba recibir un valor, como un entero, y en su lugar recibió null. Al no estar preparado para ese escenario, se genera una excepción que detiene la ejecución del programa.
Con Kotlin, las herramientas que ofrece el lenguaje permiten:
Cuando se utiliza de forma correcta, el null safety de Kotlin transforma la manera en que escribes código, haciéndolo más seguro y predecible [3:55].
Si te ha parecido interesante este tema, comparte en los comentarios alguna experiencia que hayas tenido con errores relacionados con null en tus proyectos.
Silvana Rolón
Cristian David Restrepo Marin
👍
Jesus Cuadro
Gracias
FABRIZIO VITORINO MONJARAS
Excelente explicación en los anteriores cursos no había quedado claro que es el null y ahora todo perfecto.
Jeisson Santiago Cortes Ortiz
¿Se puede afirmar que cuando yo asigno null a una variable, esta no ocupa un espacio en memoria?
Cristhian Arce
No, en términos generales cuando haces la declaración de una variable y esta tiene un valor null, null indica una referencia de dicha variable a la nada. Por el hecho de haberse inicializado esta ya tiene asignado un determinado espacio en memoria.
Jeisson Santiago Cortes Ortiz
osea que con el hecho de estar inicializada: ejemplo, var a = null, esta ya esta ocupando un espacion en memoria?
Kevin Axel Hernández Santillán
null = nada listoooo
Carlos Eduardo Repillosa Del Valle
null = al peor dolor de cabeza en el mundo de la programacion ya que en la mayoria de los casos se ve en produccion no durante el desarrollo y es la causa principal de los quebraderos de cabeza cuando se busca el porque de la falla.
Abril Carrari
El origen de la referencia nula no tiene que ver con el concepto matemático de "conjunto vacío", básico del álgebra?
Kevin Parra Lopez
undefined le dice explicitamente que no existe ningun valor, null en cambio le dice "Perame tantico que en algun momento tendras algo"
Jesus Cuadro
La nada o el null
Existe un elemento llamado null que indica que el contenido de nuestra variable no existe, que esta apuntando a una referencia de memoria que no existe.
El origen del boolean de tres valores
Un booleano puede tener solo dos valores true o false. Pero un boolean nullable aquel que puede ser nulo, tiene tres, true, false o null.
Este animal para nada mitológico suele vivir en código escrito en Java, en la respuesta de servidores y en código con malas prácticas.
¿Cómo nos ayuda Kotlin?
Kotlin da herramientas para detectar cuando una variable es nula, agregando el tipo nullable. Con esto el compilador es capaz de advertirnos que parte puede fallar debido a una referencia nula.
Roberto Carlos Tapia de León
Pensando en la frase "Nadie tiene algo vacío" creo que hay gente que tiene el alma y/o el espíritu vacío en estos días.
Kevin Daniel Mora Gonzalez
Alguien sabe de que se trata el algoritmo famoso que nombra el profesor en el video llamado l Curt sot.
Yesid Alejandro Peláez Posada
Quicksort. Es un algoritmo que sirve para ordenar listas, vectores, arrays, etc, de manera rápida eficiente. Muchos lenguajes lo utilizan internamente para ordenamiento.
Christian Latorre
null vs nada, mas claro imposible 😊😊😊