Inteligencia artificialProgramación con IA

Programar con IA sin saber programar: cómo empezar con un proyecto pequeño

Pedirle a una IA que escriba código es fácil. Lo difícil es saber si lo que devuelve hace lo que querías y qué hacer cuando no funciona. Por eso el mejor punto de partida no es una aplicación ambiciosa, sino un proyecto pequeño, local y fácil de comprobar.

Una lista de tareas encaja bien: tiene pocas piezas, resultados visibles y errores que se entienden a simple vista. No vas a salir de aquí convertido en programador, pero sí con un método para aprender mientras construyes algo que funciona.

Define una lista de tareas pequeña

Antes de pedir nada, escribe en una frase lo que quieres. Por ejemplo: «Una página web que funcione en mi navegador, donde pueda añadir tareas, marcarlas como hechas y borrarlas, y que no pierda la lista al recargar».

Eso es todo. Sin cuentas de usuario, sin servidor, sin sincronizar con el móvil. Para probarla, usa datos ficticios como «Revisar inventario LED» o «Llamar a Marta».

Cuanto más concreto sea el encargo, menos margen tiene la IA para inventarse funciones que no pediste. Anota también lo que dejas fuera: etiquetas, fechas límite, compartir la lista. Todo eso es para la versión 2. Resistir el «ya que estamos, añadimos…» es la primera habilidad técnica del proyecto.

Infografía editorial horizontal sobre una pequeña aplicación ficticia de lista de tareas. Cinco tarjetas conectadas mediante flechas claras muestran el flujo entre INTERFAZ, DATOS, ACCIONES, PERSISTENCIA y PRUEBAS, con ejemplos didácticos de una tarea.

Divide el proyecto en cinco piezas

Pedir «hazme una app de tareas» y recibir trescientas líneas juntas es la mejor forma de no entender nada. Es más útil dividir el trabajo en cinco partes y pedirlas una a una:

  • Interfaz: lo que ves. Un campo de texto, un botón y una lista, con HTML para la estructura y CSS para el aspecto.
  • Datos: cómo se representa cada tarea. Lo habitual es un array (una lista ordenada) de objetos, cada uno con un identificador, un texto y un estado de hecha o pendiente.
  • Acciones: añadir, completar y borrar.
  • Persistencia: guardar la lista y recuperarla al volver a abrir la página.
  • Pruebas: una lista de comprobaciones para verificar que todo se comporta como esperas.

Con esta división, cuando algo falle sabrás por dónde empezar a mirar. Si se borra la tarea equivocada, el problema está en las acciones, no en el CSS.

Pide explicaciones función a función

Cada vez que la IA te entregue un trozo de código, no pases al siguiente sin entenderlo. Pide algo como: «Explícame esta función línea a línea, con un ejemplo usando la tarea «Llamar a Marta». Dime qué recibe, qué devuelve y qué pasa si el texto está vacío».

Si la explicación te suena a otro idioma, pide otra más sencilla. Y recuerda que una IA también puede explicar con total seguridad algo incorrecto. Contrasta lo que dice con lo que ves en pantalla y en la consola del navegador.

Para que te hagas una idea, así podrían ser dos piezas pequeñas: la que guarda y carga la lista, y la que añade una tarea rechazando textos vacíos.

const CLAVE = "tareas-ledsoleo";

function cargarTareas() {
  try {
    const texto = localStorage.getItem(CLAVE);
    return texto ? JSON.parse(texto) : [];
  } catch (error) {
    console.error("No se pudieron cargar las tareas:", error);
    return [];
  }
}

function guardarTareas(tareas) {
  localStorage.setItem(CLAVE, JSON.stringify(tareas));
}

function agregarTarea(tareas, texto) {
  const limpio = texto.trim();
  if (limpio === "") {
    return tareas;
  }
  return [...tareas, { id: Date.now(), texto: limpio, hecha: false }];
}

Un buen ejercicio es pedirle a la IA que te explique por qué agregarTarea devuelve una lista nueva en lugar de modificar la anterior, y qué ocurre si texto contiene solo espacios.

Qué es (y qué no es) localStorage

localStorage es un almacenamiento que ofrece el navegador. Guarda datos en tu propio dispositivo, separados por origen (la combinación de protocolo, dominio y puerto de la página). Lo que guarda una página no lo puede leer otra de un origen distinto.

En condiciones normales, los datos persisten entre sesiones: cierras el navegador, lo abres otro día y siguen ahí. Funciona con claves y valores de texto. Por eso en el ejemplo la lista se convierte a texto con JSON.stringify al guardar y se reconstruye con JSON.parse al cargar.

Conviene tener claro lo que no es. No es una base de datos segura, porque cualquiera con acceso a ese navegador puede ver o modificar su contenido. No es una copia de respaldo, porque si se borran los datos del navegador, desaparece la lista. Y no sirve para sincronizar entre varias personas ni entre dispositivos: cada navegador tiene la suya.

Por eso aparece el bloque try...catch en el código: el almacenamiento puede fallar o estar bloqueado, y es mejor que la página lo gestione con calma en lugar de romperse.

Prueba antes de fiarte

Que el código se ejecute sin errores no significa que haga lo que quieres. Haz una lista de comprobaciones y repítela cada vez que cambies algo:

  1. Añadir «Revisar inventario LED». Debe aparecer en la lista.
  2. Añadir «Llamar a Marta». Deben convivir las dos.
  3. Completar una de ellas. Debe verse marcada, y solo esa.
  4. Borrar una. Debe desaparecer la correcta.
  5. Recargar la página. La lista debe seguir como la dejaste.
  6. Enviar una entrada vacía, o solo con espacios. No debe crear ninguna tarea.
Infografía horizontal de una lista de tareas ficticia con un ciclo de comprobación formado por los pasos AÑADIR, COMPLETAR, BORRAR, RECARGAR y ENTRADA VACÍA, con una lupa y resultados esperados.

Recargar es el momento de la verdad: es cuando una lista que parecía perfecta descubre que tenía memoria de pez. Si algo falla, abre la consola del navegador, copia el mensaje de error completo y pásaselo a la IA junto con el fragmento de código implicado. Cuanto más exacto sea lo que le cuentas, mejor será la ayuda que recibes.

Conocimientos básicos que te harán la vida más fácil

No hace falta dominar un lenguaje para empezar, pero unas pocas ideas marcan la diferencia entre copiar y pegar a ciegas y entender lo que haces:

  • Variables: nombres que guardan valores, como el texto de una tarea.
  • Condiciones: decisiones del tipo «si el texto está vacío, no hagas nada».
  • Funciones: bloques de código con un nombre que hacen una tarea concreta.
  • Arrays y objetos: una lista de elementos y una ficha con campos, que juntos forman tu lista de tareas.
  • HTML, CSS y JavaScript: estructura, aspecto y comportamiento de una página.
  • La consola del navegador: donde aparecen los mensajes y los errores.
  • Leer errores: un mensaje en rojo no es un insulto, es una pista con mala educación. Suele indicar el archivo, la línea y la causa aproximada.

Estos conceptos se aprenden por el camino. Cada vez que la IA use uno que no conoces, pregunta qué es y pídele un ejemplo mínimo.

Límites realistas

Un proyecto así sirve para aprender y para uso personal. No es una base para cualquier cosa. Si el objetivo cambia, el nivel de exigencia también:

  • Usuarios reales: en cuanto otras personas dependan de tu herramienta, necesitas soporte, mantenimiento y compatibilidad con distintos dispositivos.
  • Datos sensibles: contraseñas, datos de clientes o información médica no deben guardarse en localStorage ni gestionarse sin conocimientos de seguridad.
  • Pagos: manejar dinero implica requisitos técnicos y legales que exigen profesionales.
  • Autenticación: gestionar cuentas e identidades es un área donde un error pequeño tiene consecuencias grandes.
  • Producción: poner algo en marcha para el público requiere pruebas, copias de seguridad, vigilancia y responsabilidad.

Una IA puede ayudarte a entender y avanzar más deprisa, pero no sustituye a aprender lo básico ni a la revisión de alguien con experiencia cuando hay riesgo real. Cualquiera puede empezar; no cualquiera puede construir cualquier cosa sin aprender por el camino.

Tarjeta horizontal del Señor Idea, conservando su identidad visual aprobada, junto a una lista de tareas local, una libreta y una lupa. Incluye la intervención completa: «—¿Copiar y pegar? —Primero entiende y prueba.»

Un último consejo

Termina la lista de tareas, úsala unos días y, cuando la entiendas, añade una sola mejora cada vez: por ejemplo, un contador de tareas pendientes. Prueba, comprende y avanza. Aprender a programar con ayuda de una IA tiene menos de magia y más de método, y el método se entrena con proyectos pequeños.

Para ampliar información

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles. Puedes consultar nuestra Política de Cookies