Tutoriales, vídeos, programas y recursos para sacar todo el provecho a tu ordenador.

jueves, 18 de mayo de 2023

Creando Webapps con ChatGPT

mayo 18, 2023 Publicado por Daniel Rodríguez , , , , No hay comentarios

ChatGPT está llamado a revolucionar el mundo. O para ser más precisos, sus hijos lo harán. Por ahora, la herramienta de OpenAI y los hijos bastardos creados por otras compañías no son lo suficientemente "inteligentes" como para reemplazar el factor humano de la mayoría de las tareas pero sí que puede servir para ahorrar mucho tiempo a los trabajadores. Y en uno de los campos donde supone una ventaja saber manejar ChatGPT es en el de la programación. Por ello, he decidido probarlo con distintos proyectos que tenía en la carpeta de Ideas, la cual no hacía más que aumentar pues no tengo tiempo de dedicarme a ellos.

Comencé por una de las más sencillas. ¿A quién no le ocurre que nunca sabe exactamente la cantidad de dinero total que tiene? Sí, una idea aproximada la tenemos todos los pobres, pero a mí me costaba mucho puesto que tengo dinero en el banco, en metálico, en Paypal, pendiente de pago de las ventas de merchandising, en criptomonedas, en ahorros guardados... poca cantidad que tampoco es que me bañe en monedas de oro, como el Tío Gilito, el problema se agrava a medida que voy gastando o recibo algún dinero. Al final, no se muy bien a cuánto asciende mi "riqueza" total. Por ello, pensé que sería una buena para aprender además algo de JavaScript, crear una microaplicación web para llevar un control de lo que tengo, los gastos e ingresos.

Como dije, no me apetecía ponerme a ello, así que le pedí a ChatGPT que la creara por mí. El prompt que usé fue el siguiente:

"¿Podrías crear en HTML una aplicación que lleve un registro de gastos e ingresos de dinero, en el que podamos introducir la cantidad de dinero, el tipo de transacción, un texto de comentario, que guarde la fecha y además lleve un control del dinero en total, y que los datos no se borren al cerrar la aplicación?"

Como era de esperar, me devolvió una app funcional pero distinta a la que tenía en mente. Los gastos tenía que diferenciarlos de los ingresos poniendo un "-" delante de la cantidad. Quería simplificarlo así que continué escribiéndole:

"¿Podrías hacer que el tipo de transacción fuera una lista desplegable y que al seleccionar ingreso, la cantidad introducida se sumara y si se eligiera gasto, se restara del total?"

En esta ocasión no terminó el código así que tuve que pedirle que lo continuara, cosa que hizo sin problemas. Claro que todavía quedaba por hacer, porque los datos que introducía, se perdían una vez cerraba el navegador. Resolvió la cuestión rápidamente. A la hora de probar la aplicación, me di cuenta de que no podía borrar fácilmente los datos que había introducido de prueba, así que, una vez más, pedí a la IA que modificara el código para añadir un botón de "reseteo". Además, no podía usar números decimales, pues los redondeaba. Tras comentárselo, al fin tuve una aplicación que más o menos se asemejaba a mis necesidades. Solo tuve que añadir algo de CSS para darle un buen aspecto y tenía mi aplicación en apenas diez minutos. 

Lecciones a extraer:

1. Puede que diez minutos parezcan mucho, pero si hubiera tenido que hacerlo "a mano", hubiera tardado más de un día, pues tengo que refrescar mis conocimientos de JavaScript.

2. A la hora de tratar, tanto con esta como con las demás, Inteligencias Artificiales, hay que ser lo más específico posible. Y creo que esto ocurrirá aun con las Inteligencias Artificiales generativas porque, al igual que ocurre cuando contratas a un equipo de programadores, ellos nunca serán capaces de saber lo que exactamente quieres a la primera. Muchas veces porque ni tú mismo lo sabes.

3. Probar el software escrito por las IA será necesario siempre. Dudo mucho que en sistemas críticos se deje al "criterio" de otro software la seguridad del mismo. Podrá servir de complemento, pero nunca sustituir el factor humano. Aunque, quien sabe, quizá en 20 años vemos por Holovisión la explosión del Challenger 3 en directo porque nadie comprobó el software de guía. 

4. Es posible que se produzca una brecha entre programadores "clásicos" y los que se apoyen en las IAs. No he probado otras pero por la experiencia que he tenido, creo que puede suponer un gran ahorro de tiempo, obviamente a nivel de componentes, clases o métodos. Por el punto 3, puede que se tardara más en revisar el código de un programa generado completamente por la IA de lo que se tardaría en programarlo desde cero. 

Podéis ver el código de la aplicación en el siguiente archivo.



0 comentarios:

Publicar un comentario