Voy a decir algo polémico. En una carrera de videojuegos, no deberíamos enseñar a programar como se hacía antes, deberíamos enseñar vibecoding.
Antes de que alguien se enoje, aclaro algo importante: no estoy diciendo que los alumnos y alumnas de una carrera de videojuegos no tengan que aprender programación. Primero, porque no es exactamente lo que pienso. Y segundo, porque sería bastante contraproducente decirlo, porque gran parte de mi sueldo hoy tiene que ver justamente con la materia que doy: Fundamentos de la Programación I en una carrera de videojuegos. O sea, básicamente estaría diciendo que hay que sacar mi propio trabajo. Lo cual, además de parecer gracioso, sería bastante masoquista de mi parte. Pero no. Lo que estoy planteando es otra cosa.
Hace un tiempo, cuando mi padre estudiaba en la UBA —él es Analista de Sistemas—, llegó a estudiar con tarjetas perforadas. Para poder hacer un programa tenías que, literalmente, trabajar físicamente con esas tarjetas. Escribías tu código y perforabas la tarjeta. Después ese conjunto de tarjetas era la manera en la que introducías el programa en la computadora.
En algún momento la universidad tuvo que tomar una decisión. Aparecieron las computadoras personales, aparecieron las PCs y, supongo, alguien tuvo que decir: “Che, ahora hay PCs. ¿Tiene sentido que sigamos enseñando a programar utilizando tarjetas perforadas?” , y la respuesta, evidentemente, fue que no.
Hoy nadie entra a una carrera de Sistemas y aprende a programar perforando cartoncitos, porque cambió la herramienta. Me parece que estamos atravesando un momento parecido.
Lo reconozco: mi propio recorrido también fue bastante particular
Yo soy Licenciado en Artes Electrónicas. Cuando hice el curso de ingreso en el año 2014 tuve Matemática, y Comunicación Oral y Escrita.
Después, más adelante, ya en la carrera tuve Física, Electrónica I y II, Mecatrónica y, después, una materia que se llamaba Programación de Interfaces.
Mi carrera se podía hacer de una forma quizás un poco desordenada y yo no sé si cometí un error propiamente dicho, pero inmediatamente después de cursar Física fui a cursar Programación de Interfaces. En realidad yo ya sabía programar, porque desde chico había hecho algunas cosas; pero la cuestión es que empecé a programar con Arduino antes incluso de cursar Electrónica y antes de cursar Mecatrónica. Quizás eso estuvo mal. No lo sé. Por supuesto que quemé muchos leds en el proceso.
Lo cierto es que después seguí haciendo y a lo largo de mi carrera cursé muchas otras materias que tenían muchísimo que ver con programación, como una que se llamaba «Tecnología Hipermedial» y seguí entonces haciendo trabajos vinculados al arte electrónico y a la programación, y, finalmente mi trabajo final de grado fue KUDEWE, un audiojuego basado en un relato Mapuche que desarrollé en pandemia con la ayuda de mi tutora Andrea Varela, perteneciente a Programa AbRiGo. Ese proyecto me enseñó mucho, y fui aprendiendo en realidad mientras lo hacía, debido en gran parte a que lo tuve que programar desde cero yo solo, y nunca en mi vida hasta ese momento había utilizado Unity.
Después vino todo mi recorrido con la EVA y demás, y gracias a las repercusiones que tuve con KUDEWE hoy me encuentro del otro lado: dando clases y formando parte de un proyecto de investigación, entre otros roles que llevo adelante en nuestra emergente industria de videojuegos. Siempre que hablo demasiado de mi en un artículo recuerdo los comentarios de Gabriela Golder sobre mi trabajo cuando lo presenté en 2019, y quizás tenga razón en cuestionarme, pero justamente por eso quiero aclarar que solamente menciono a Kudewe para que sepan desde qué lugar es que opino, ya que me parece bien que conozcan mi pasado y que sepan, entonces, por qué motivo quizás opino lo que opino, intentando ser lo más transparente posible, para facilitarles de alguna comprender entonces desde dónde digo las cosas y que nadie se lleve ninguna sorpresa; asi como me enseñaron cuando cursé comunicación oral y escrita allá por 2014.
Entonces, aclarado mi recorrido previo que me llevó hasta el día de hoy, recapitulando y a modo de síntesis, en cuanto a lo que respecta a mi rol docente actualmente en septiembre de 2026, por un lado, doy clases de Fundamentos de la Programación I en UNPAZ y, por otro, doy la materia Sonido y Música para Videojuegos en UNSO. En ambos casos, en carreras de videojuegos; y es justamente por estar en esos dos lugares que me hace detengo a pensar bastante en esto.
¿Realmente necesitamos enseñar programación de la misma manera?
Cuando hacemos cursos intensivos de videojuegos, muchas veces utilizamos herramientas como GDevelop o Construct 3, y después, a nivel de desarrollo, ya en un ámbito más avanzado y profesional, utilizamos motores como Unity, Unreal Engine y/o Godot.
Ahora bien: los que sabemos programar sabemos perfectamente que cuando utilizamos Unity, Godot o Unreal no estamos programando todo desde cero. Estamos utilizando librerías. Estamos utilizando herramientas, sistemas y funcionalidades que ya fueron desarrolladas por otra gente. El motor ya hace una enorme cantidad de cosas por nosotros. Nosotros programamos sobre eso. Comprender esto es importante porque creo que muchas veces olvidamos que programar nunca significó necesariamente construir absolutamente todo desde cero.
Incluso un programador tradicional trabaja apoyándose en herramientas que otras personas hicieron antes. La diferencia, obviamente, es que para utilizar una librería tenés que saber programar, tenés que escribir código; pero también es cierto que estás apoyándote en algo que ya existe. Entonces me pregunto: ¿Qué pasa cuando esa capa de abstracción deja de ser una librería y empieza a ser una inteligencia artificial?
Desde el inicio de Chat GPT hasta las IAs agénticas: las primeras dos etapas
Hagamos un pequeño recorrido histórico, para tratar de comprender, al menos a mi entender, dónde nos encontramos actualmente. Primero apareció ChatGPT, y ChatGPT nos permitió hacer algo que antes no hacíamos de esa manera: pedirle algunas cosas muy concretas a una máquina utilizando lenguaje natural y recibir una respuesta inmediata.
No era solo para, como hacíamos antes, simplemente «googlear algo». Podíamos pedirle: “Haceme esta función», y nos devolvía código. Después podíamos decirle: “Esto no funciona.”, y nos respondía. Y así, nosotros íbamos iterando. Eso ya modificó muchísimo la forma en la que programamos.
Pero después apareció un paso más. Las famosas IA agénticas, y esto no es simplemente tener una especie de ChatGPT potenciado; porque un agente puede recibir una tarea y encargarse de resolverla. Ya no necesariamente estamos hablando de: “Hacé esto.”, “No funciona.”, “Arreglalo.”, “Ahora cambiale esto.” Estamos hablando de algo más parecido a: “Quiero que desarrolles esta funcionalidad.”, y delegarle una tarea entera: Que la IA analice el problema, escriba código, ejecute cosas, encuentre errores, vuelva a intentar, modifique archivos, pruebe nuevamente y continúe hasta llegar a una solución. Eso ya es otra cosa (Quienes utilizan herramientas como Visual Studio Code, GitHub Copilot y otras herramientas de desarrollo asistidas por IA probablemente entienden de qué estoy hablando).
¿Estamos entrando en una tercera etapa?
Primero tuvimos la conversación con la IA, después tuvimos los agentes, y ahora parecería que estamos entrando en una tercera etapa: las famosas AGI, o inteligencia artificial general.
Y sí, aparentemente esto nos acerca un poco a ese futuro distópico de Terminator que tantas veces imaginamos, pero, más allá de la ciencia ficción, hay algo que me parece bastante evidente: la inteligencia artificial llegó para quedarse.
Entonces genuinamente me pregunto: ¿Sigue teniendo sentido que enseñemos programación en una carrera de videojuegos exactamente de la misma manera en que la enseñábamos antes?
No estoy diciendo que dejemos de enseñar programación, estoy preguntando si tenemos que enseñar la misma programación. Si somos conservadores en este punto, entonces también tendríamos que ser consecuentes. Si para hacer videojuegos hay que aprender programación, ¿por qué no enseñar también electrónica? Los videojuegos, en principio, también utilizan hardware; y si tenemos que enseñar electrónica, entonces también deberíamos enseñar física, porque la electrónica tiene fundamentos físicos, y si tenemos que enseñar física, entonces deberíamos enseñar matemática, porque necesitamos matemática para entender física; y si vamos por ese camino, podríamos seguir indefinidamente. Pero no hacemos eso.
En una carrera de videojuegos no pretendemos formar físicos, no pretendemos formar técnicos electrónicos, no pretendemos formar matemáticos. Entonces, ¿por qué tenemos que pretender necesariamente formar programadores tradicionales?
Quizás el problema está en qué entendemos por «aprender programación»
Para mí, una persona que estudia videojuegos tiene que entender programación. Tiene que saber qué es una variable, tiene que entender una condición, tiene que entender un bucle, tiene que comprender qué es una función, tiene que entender qué es un objeto, tiene que poder leer código, tiene que poder detectar que algo está mal, tiene que entender qué está haciendo el programa que tiene delante, y, hoy en día, tiene que poder comunicarse con una herramienta de inteligencia artificial, y tiene que poder evaluar críticamente lo que esa inteligencia artificial le devuelve; pero quizás no necesariamente tiene que escribir absolutamente todo ese código de memoria y desde cero, porque eso ya no representa necesariamente la realidad profesional hacia la que estamos avanzando, y ahí es donde aparece el concepto de vibecoding. No como una excusa para no aprender, sino como una nueva manera de relacionarnos con el código.
El código puede convertirse en una herramienta más
Cuando utilizo Godot, no construyo un motor desde cero. Cuando utilizo Unity, no construyo Unity. Cuando utilizo una librería, no implemento desde cero todo lo que esa librería hace. Cuando utilizo un DAW, no programo desde cero el procesamiento digital de cada plugin. Cuando utilizo Arduino, tampoco estoy construyendo desde cero todo el sistema que hace posible que Arduino funcione. Trabajamos sobre capas de abstracción; y eso es justamente lo que hace posible que disciplinas enteras sean accesibles para personas que no necesitan conocer absolutamente todos los niveles inferiores del sistema.
Entonces quizás la inteligencia artificial sea simplemente una nueva capa de abstracción. Una capa de abstracción muchísimo más poderosa, sí, una que puede escribir código, una que puede modificar código, una que puede explicarnos código, una que puede encontrar errores, una que incluso puede construir sistemas completos; pero sigue siendo una herramienta. Y, si eso es así, quizás nuestra tarea como docentes no sea impedir que los estudiantes utilicen esa herramienta, quizás nuestra tarea sea enseñarles a utilizarla bien.
Una cosa es programar y otra cosa es saber qué programar
Este punto me parece fundamental. Un estudiante puede pedirle a una IA: “Haceme un sistema de inventario para mi videojuego.”, y la IA puede hacerlo, pero después alguien tiene que mirar ese código y preguntarse: ¿Esto realmente resuelve mi problema? ¿Está bien diseñado? ¿Es eficiente? ¿Es mantenible? ¿Entiendo qué está haciendo? ¿Tiene errores? ¿Está utilizando recursos innecesariamente? ¿Podría hacerse de otra manera? ¿La IA entendió lo que yo quería? Y para poder contestar esas preguntas, necesitamos conocimientos. Por eso no estoy proponiendo eliminar la programación. Estoy proponiendo discutir qué parte de la programación necesitamos enseñar.
Quizás tenemos que dejar de medir tanto cuánto código puede escribir una persona y empezar a medir cuánto puede comprender, dirigir, modificar y evaluar.
Las herramientas cambian
Esto es justamente lo que me lleva nuevamente a las tarjetas perforadas. Mi padre estudió Sistemas cuando todavía podía encontrarse con ese sistema. Hoy eso es historia; no porque las tarjetas perforadas fueran inútiles, sino porque dejaron de ser la herramienta adecuada para el contexto tecnológico existente, y, quizás, dentro de algunos años miremos nuestro modo actual de enseñar programación de la misma manera. Quizás alguien diga: “¿En serio hacían que los estudiantes escribieran manualmente todo ese código?», y alguien va a responder: “Sí. Era lo que había.”
Así como hoy nadie considera necesario enseñar programación con tarjetas perforadas, quizás mañana tampoco tenga sentido que la única manera legítima de aprender programación sea sentarse frente a un editor y escribir cientos o miles de líneas de código manualmente. No porque el código haya dejado de importar, sino porque la herramienta cambió; y vuelvo al principio porque, justamente, esta discusión me toca bastante de cerca.
Yo doy Fundamentos de la Programación I. Gran parte de mi sueldo tiene que ver con enseñar eso, así que, evidentemente, no estoy proponiendo eliminar mi propia materia. Lo que estoy proponiendo es que quizás tenemos que empezar a preguntarnos qué debería significar Fundamentos de la Programación I en 2026, porque una cosa es enseñar programación en un mundo en el que la computadora solamente ejecuta lo que vos escribís y otra muy distinta es enseñar programación en un mundo en el que podés decirle a una inteligencia artificial: “Construime esto.” y la computadora empieza a construirlo con vos.
También creo que es importante hacer una aclaración, porque hablar de inteligencia artificial en estos términos puede prestarse fácilmente a una interpretación equivocada. Yo no soy un defensor de utilizar IA para todo. Yo aprendí a programar sin inteligencia artificial, cuando hice KUDEWE, lo hice sin utilizar IA, y con ONOMATOPEYA, por ejemplo, realizamos toda nuestra serie animada Torkins sin utilizar ningún tipo de inteligencia artificial y hasta el día de hoy, viernes 4 septiembre de 2026, todo mi recorrido por el arte electrónico y mi producción artística en relación a la programación fue construida en general mucho antes de que estas herramientas formaran parte del día a día de nuestra sociedad contemporánea; y esto no lo aclaro porque me moleste que alguien utilice IA —todo lo contrario—, sino porque creo que hay una diferencia importante entre incorporar una herramienta a un proceso creativo y reducir un proceso creativo a la utilización de esa herramienta.
No quisiera que, a partir de lo que estoy planteando, se interprete retrospectivamente que todo lo que hice fue producido con inteligencia artificial. No fue así. Tampoco me parece justo que se utilice esa interpretación para quitarle valor al trabajo, al aprendizaje y a las decisiones que hay detrás de una producción artística. No quiero que nos volvamos Pappo discutiendo con DJ Deró.
Mi postura, entonces, no es “usemos IA para todo”. Es otra: si las herramientas cambiaron, tenemos que discutir qué conocimientos siguen siendo fundamentales y cómo deberíamos enseñar a trabajar con esas nuevas herramientas. Del mismo modo que una vez dejamos atrás las tarjetas perforadas, quizás ahora tengamos que revisar qué significa aprender a programar cuando una parte del código puede ser producida en colaboración con una inteligencia artificial.
Quizás el futuro de la programación no sea que dejemos de programar, quizás sea que dejemos de pensar que programar significa necesariamente escribir código línea por línea, y, quizás, en una carrera de videojuegos, el desafío no sea formar personas capaces de escribir más código que una inteligencia artificial, sino personas capaces de saber qué quieren construir, explicárselo a una inteligencia artificial, entender lo que ésta construyó, detectar cuándo está mal y decidir cómo seguir.
Si eso es vibecoding, entonces quizás haya llegado el momento de dejar de mirarlo como una trampa para vagos, y empezar a preguntarnos si, en realidad, no es simplemente la próxima tarjeta perforada.
