Contenido del curso
Configuración del entorno
Hola mundo Kotlin
- 8

Estructura y Funcionalidad de Archivos en un Proyecto Kotlin
03:20 min - 9

Variables en Kotlin: Lectura, Escritura y Constantes
06:30 min - 10

Tipos de Variables y Operaciones en Kotlin
12:31 min - 11

Tipos de Datos y Objetos en Kotlin: Ventajas y Funcionalidades
03:40 min - 12

Operadores y Funciones en Kotlin: Uso y Extensión
01:27 min - 13

Programación Funcional en Kotlin: Paradigmas y Variables Inmutables
02:54 min - 14

Estructuras de Control: Uso de IF en Kotlin
11:55 min - 15

Estructura de Control "When" en Kotlin: Uso y Ejemplos Prácticos
14:20 min
Conceptos básicos de Kotlin
- 16

Bucle while y do-while en Kotlin: Condicionales y Ejecución
06:23 min - 17

Ciclo For y Funciones de Extensión en Kotlin
13:10 min - 18

Null Safety en Kotlin: Evita Errores por Referencias Nulas
Viendo ahora - 19

Gestión de Tipos Nulables en Kotlin y Buenas Prácticas
06:17 min - 20

Manejo de Excepciones en Kotlin: Try-Catch y Lanzamiento de Errores
10:29 min - 21

Uso del Operador Elvis en Kotlin para Nulables
02:36 min
Collections en Kotlin
Libera el potencial de las funciones
- 26

Creación de funciones propias en Kotlin
03:30 min - 27

Creación de Funciones en Kotlin: Uppercase y Lowercase Aleatorios
11:23 min - 28

Parámetros Nombrados y por Defecto en Funciones de Programación
05:06 min - 29

Creación y Uso de Lambdas en Kotlin
08:50 min - 30

Funciones de Alto Orden y Lambdas en Kotlin
07:33 min
Scope functions
- 31

Uso de la función let en Kotlin para variables nulas
03:28 min - 32

Uso de la función "with" en Kotlin para manejar propiedades
02:10 min - 33

Uso de la Función Run para Operaciones en Listas en Kotlin
02:53 min - 34

Uso de la función apply para manejar tipos anulables en Kotlin
04:28 min - 35

Uso de la Función Also en Kotlin para Encadenamiento de Operaciones
02:18 min
Proyecto: Bola 8 mágica
Null Safety en Kotlin: Evita Errores por Referencias Nulas
Resumen
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]:
- Cero es tener el rollo vacío, sin hojas. El objeto existe, pero su cantidad es cero.
- Null es que ni siquiera haya rollo. No hay nada en absoluto.
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:
- Declarar explícitamente si una variable puede contener null.
- Recibir advertencias del compilador antes de ejecutar el código.
- Reducir significativamente los fallos inesperados en las aplicaciones.
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.