Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA

Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA 1i4f3z

por Edgar Otero

¿Qué significa "Vive Coding"? 285w4a

2p3f1f

Hace algún tiempo que se ha puesto de moda un término muy relacionado con el mundo de la inteligencia artificial. Me refiero a vibe coding, una tendencia que pretende mejorar la forma de crear aplicaciones. Pero, ¿qué es exactamente? ¿Cómo cambia los flujos de trabajo en la programación de aplicaciones? Y, sobre todo, ¿cuáles son sus ventajas y desventajas? Todo esto es lo que te quiero contar en el siguiente artículo.

Voy a empezar por lo más básico. ¿Qué es el vibe coding? Este término fue acuñado por Andrej Karpathy, una figura reconocida en el campo de la inteligencia artificial, quien fue director de IA en Tesla y es uno de los cofundadores de OpenAI. La idea de esta expresión es que el programador emplee herramientas de IA para escribir el código, en vez de hacerlo de forma manual.

Geeknetic Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA 1

El Vibe Coding sería equivalente a que un escritor transmitiera las ideas que tiene a un modelo de lenguaje a través de un chatbot, como ChatGPT, dejando que la IA sea la encargada de escribir el contenido del libro. De este modo, aunque las ideas originales son humanas, la parte más tediosa quedaría en manos de la inteligencia artificial. En este caso, sería el propio proceso de escritura.

El ejemplo anterior es adecuado porque programar supone, en esencia, escribir. Ahora bien, en vez de palabras y frases, lo que escribe un programador es código. El desarrollo de apps también supone “entender” idiomas, es decir, los lenguajes de programación. Los LLM, que son el motor que da vida a plataformas como ChatGPT, también han “estudiado” grandes cantidades de código, tal y como han hecho con los textos humanos. Esto les permite generar código en HTML, Python, C++ o cualquier otro lenguaje de programación conocido.

Por lo tanto, el vibe coding es un cambio de paradigma en el mundo del desarrollo de aplicaciones. La idea es delegar en la máquina la parte más dura de la programación, es decir, la escritura de código, y dejar al humano la cuestión de la creatividad. De todos modos, todo lo que te he explicado hasta ahora es pura teoría. En la práctica, al menos por ahora, las cosas no son tan simples.

¿Es el vibe coding el fin de los programadores? wm2j

No, ni de lejos. Aunque a muchos se les ha metido en la cabeza que los programadores van a desaparecer más pronto que tarde, la realidad es bastante más tozuda. ¿Por qué estoy tan convencido de esto?

Verás, yo no soy programador, pero hace poco pude probar una herramienta, Google Firebase Studio, que se encarga de generar aplicaciones a golpe de prompt. Aunque me sirvió para hacer cosas bastante llamativas, la experiencia me dejó algo claro: si no sabes programar, el vibe coding es inviable. ¿Por qué?

Geeknetic Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA 2

En realidad, hay varios motivos. Por ejemplo, aunque la IA agilice el proceso de creación de código, comete errores. Y si no eres programador, no serás capaz de detectarlos. Por lo tanto, a pesar de que la máquina sea eficaz escribiendo código, debe haber alguien detrás que disponga de los conocimientos necesarios para eliminar todos los errores.

Además, el código debe estar optimizado. Incluso cuando una aplicación es funcional, es indispensable que cuente con un código optimizado. Es como si alguien escribe un párrafo de 150 palabras para explicar un concepto y otra persona lo hace en 60, incluyendo todos los detalles. El último es un texto optimizado, mientras que el primero estará repleto de palabras innecesarias. La misma premisa puede aplicarse a la escritura de código.

Geeknetic Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA 3

Finalmente, a la IA se le suelen atragantar los cambios en el código. Aunque está mejorando bastante, a medida que le vas pidiendo modificaciones, la efectividad de los modelos baja bastante. Contar con un programador experimentado será indispensable para aplicar correcciones sobre el código base generado por inteligencia artificial.

Por el contrario, todo esto no significa que el vibe coding no ayude a los programadores a ser más eficientes o sea idóneo para algunos proyectos de baja complejidad. Pero, así como el que genera una ilustración con ChatGPT no es ilustrador, el que crea una aplicación con una herramienta de vibe coding no puede ser considerado programador.

Ventajas y desventajas del vibe coding 1zj5m

El vibe coding puede convertirse en una técnica aliada para los programadores, especialmente a la hora de ahorrar tiempo y ser más eficientes. Con todo, presenta ventajas y desventajas que debes conocer.

Lo bueno del vibe coding 2h165i

  • Acerca la programación a todo el mundo. El vibe coding es una forma de aprender a programar o de ejecutar proyectos sencillos sin tener conocimientos de programación.
  • Mejora en la eficiencia. Los modelos no dejan de mejorar y cada vez son más efectivos. De hecho, cuando hacen las cosas bien, ahorran mucho tiempo a los programadores.
  • Creación de prototipos. Otra ventaja notable es que permite prototipar proyectos en menos tiempo. En este caso, no se requiere un código demasiado optimizado ni libre de errores, sino una aplicación que ayude a comprender cuál será el resultado final.
  • Más espacio para la creatividad. Los desarrolladores tienen más tiempo para centrarse en tareas creativas y no tanto en el trabajo más duro o mecánico: la escritura del código.

Geeknetic Vibe Coding: Ventajas y Desventajas de Programar Aplicaciones con la ayuda de la IA 4

Lo malo del vibe coding z4318

  • La calidad puede verse afectada. La IA no siempre es capaz de generar resultados de alta calidad. Ahí es donde la mano experta del programador adquiere su valor. De hecho, insisto en esto: aunque una aplicación funcione, no significa que esté bien optimizada.
  • Problemas para escalar y mantener la app. Generalmente, la IA genera resultados aceptables al principio. No obstante, a la hora de aplicar cambios o añadir nuevas funcionalidades, la intervención humana se vuelve bastante necesaria. El problema es que, si el código generado por la IA carece de una estructura adecuada, es complejo de entender o no está bien documentado, realizar cambios, añadir nuevas funcionalidades o escalar la aplicación para soportar más s o datos puede volverse un problema.
  • Tiempo invertido en depurar el código. Este es un problema habitual cuando se usa la IA, ya sea para escribir o para generar código. Lo normal es que el tiempo invertido en corregir errores y revisar el código aumente considerablemente. De hecho, rastrear la causa de un error en un bloque de código generado por IA, sin una comprensión profunda de su lógica interna, puede ser una tarea ardua y consumir mucho tiempo.
  • Dependencia del modelo. La calidad de los resultados dependerá del modelo utilizado. Si este fue entrenado con prácticas de programación obsoletas o erráticas, reflejará los mismos problemas en los resultados.

El vibe coding es un reflejo de los cambios que está por venir 615l4

A pesar de las enormes desventajas que presentan los modelos de lenguaje, se han vuelto herramientas muy útiles en muchos campos. Es verdad que el vibe coding tiene desventajas relevantes, pero es una técnica que, con el enfoque correcto, puede ahorrar mucho tiempo a los programadores. Es solo uno de los cambios de paradigma que propone la llegada de la IA en el ecosistema digital que conocíamos hasta ahora.

Fin del Artículo. ¡Cuéntanos algo en los Comentarios!

Temas Relacionados: Inteligencia Artificial
Redactor del Artículo: Edgar Otero

Edgar Otero 3r3d6

Soy técnico en sistemas informáticos, empecé a experimentar un Pentium II, aunque lo mío siempre ha sido el software. Desde que actualicé de Windows 95 a Windows 98 no he dejado de instalar sistemas. Tuve mi época Linuxera y fui de los que pidió el CD gratuito de Canonical. Actualmente uso macOS para trabajar y tengo un portátil con Windows 11 en el que también he instalado Chrome OS Flex. En definitiva, experimentar, probar y presionar botones.