Cuando alguien empieza a programar, casi siempre encuentra primero dos conceptos: las variables y los tipos de datos. Parecen simples, pero son la base sobre la que se construye todo lo demás: condicionales, bucles, funciones, bases de datos y aplicaciones completas. Entenderlos bien desde el principio evita muchos errores y acelera el aprendizaje, ya sea que elijas Python, Java, C, JavaScript u otro lenguaje.
Qué es una variable
Una variable es un espacio con nombre en la memoria del ordenador donde se guarda un valor. Piensa en una caja con una etiqueta: la etiqueta es el nombre de la variable y lo que hay dentro es el valor. Ese valor puede cambiar mientras el programa se ejecuta, y de ahí viene el nombre “variable”.
Por ejemplo, en Python podrías escribir:
edad = 25
nombre = "Lucía"
edad = edad + 1
En las dos primeras líneas se crean las variables edad y nombre con un valor inicial. En la tercera, el valor de edad se actualiza y pasa a ser 26. Fíjate en que el signo igual no significa “es igual a” como en matemáticas, sino “asigna este valor a esta variable”.
Cómo elegir buenos nombres
Los nombres de las variables deben describir qué guardan. precio_total es mucho más claro que x o pt. Cada lenguaje tiene sus propias reglas, pero hay algunas comunes:
- No pueden empezar por un número.
- No deben contener espacios; se usan guiones bajos (
nombre_cliente) o mayúsculas internas (nombreCliente). - No pueden coincidir con palabras reservadas del lenguaje, como
ifofor. - Distinguen entre mayúsculas y minúsculas en la mayoría de los lenguajes:
Edadyedadserían variables distintas.
Qué es un tipo de dato
El tipo de dato indica qué clase de información guarda una variable y qué operaciones se pueden hacer con ella. No se trata igual un número que un texto: puedes sumar dos números, pero sumar dos nombres significa concatenarlos. El tipo también determina cuánta memoria se usa y cómo se representa el valor internamente.
| Tipo | Qué guarda | Ejemplo |
|---|---|---|
| Entero | Números sin decimales | 10, -3, 2024 |
| Decimal (real) | Números con parte fraccionaria | 3.14, -0.5 |
| Cadena de texto | Secuencias de caracteres | “hola”, “Madrid” |
| Booleano | Verdadero o falso | true, false |
| Lista o arreglo | Colección ordenada de valores | [1, 2, 3] |
| Carácter | Un solo símbolo (en algunos lenguajes) | ‘a’ |
Tipado estático y dinámico
Los lenguajes manejan los tipos de dos maneras. En el tipado estático, como en Java o C, debes declarar el tipo al crear la variable, y no puede cambiar después:
int edad = 25;
double precio = 19.99;
String nombre = "Lucía";
En el tipado dinámico, como en Python o JavaScript, no hace falta declarar el tipo: el lenguaje lo deduce del valor, y una misma variable puede cambiar de tipo durante la ejecución. Esto da flexibilidad, pero también más posibilidades de errores difíciles de detectar. Ninguno de los dos enfoques es mejor en todos los casos; dependen del proyecto y del equipo.
Conversión entre tipos
A veces necesitas convertir un valor de un tipo a otro, algo conocido como casting o conversión. Un caso típico es cuando un usuario escribe un número en un formulario: el programa lo recibe como texto y hay que convertirlo antes de hacer cálculos. En Python, por ejemplo, int("42") devuelve el número 42. Si intentas convertir algo que no tiene sentido, como int("hola"), el programa lanzará un error.
También hay conversiones automáticas, llamadas implícitas, donde el lenguaje cambia el tipo por ti. Por ejemplo, al sumar un entero y un decimal, el resultado suele ser decimal. Conviene conocer estas reglas, porque en algunos lenguajes pueden producir resultados sorprendentes.
Constantes y ámbito
Una constante es como una variable cuyo valor no debe cambiar, por ejemplo el valor de IVA de un cálculo o el número pi. Algunos lenguajes ofrecen palabras clave para marcarlas, como const o final; en otros se usa una convención de nombres, como escribirlas en mayúsculas.
El ámbito (scope) define dónde se puede usar una variable. Una variable creada dentro de una función normalmente solo existe dentro de ella, y deja de existir cuando la función termina. Una variable global está disponible en todo el programa, pero abusar de ellas dificulta el mantenimiento, ya que cualquier parte del código puede modificarlas.
Errores frecuentes de principiantes
- Usar una variable antes de asignarle un valor.
- Confundir el texto “5” con el número 5, y obtener “55” al sumar en lugar de 10.
- Dividir enteros y no esperar un resultado decimal, algo que cambia según el lenguaje.
- Escribir mal el nombre de una variable, especialmente por diferencias de mayúsculas.
- Reutilizar el mismo nombre para cosas distintas dentro del mismo bloque de código.
Una buena práctica para practicar es escribir pequeños programas que pidan datos al usuario, los guarden en variables y muestren resultados: una calculadora de propinas, un conversor de temperatura o un programa que calcule el promedio de notas. Imprimir el valor y el tipo de cada variable ayuda a ver qué ocurre en cada paso.
Conclusión
Las variables almacenan información y los tipos de datos determinan cómo se interpreta y qué se puede hacer con ella. Dominar estos dos conceptos te da una base sólida para aprender cualquier lenguaje. Si quieres seguir avanzando, puedes explorar los cursos de programación de Cursa, que te guían desde los primeros pasos con variables hasta proyectos completos en Python, Java, C y más.

















