¡Saludos, desarrolladores! ¿Alguna vez has tenido un caso de «bloqueo del codificador» en el que necesitas un poco de ayuda o inspiración para escribir código? ¿O necesitas ayuda para comprender el código que heredó de otra persona? Bueno, ¡estás de suerte! Desde la generación de código repetitivo hasta la depuración o explicación del código existente, ChatGPT es una forma sencilla de ser un desarrollador de software más rápido y eficiente.

ChatGPT de OpenAI cae en la categoría de IA generativa , que es un tipo de inteligencia artificial que genera contenido nuevo o novedoso en función de los datos en los que ha sido entrenado. Eso significa que ChatGPT no solo puede escribir ensayos, chistes y poemas para ti; también puede ser una ayuda para el programador.

Entonces, profundicemos y veamos cómo puede usarlo para trabajar de manera más inteligente, no más difícil.

Tabla de contenido

  • ¿ChatGPT puede escribir código?
  • ¿Debería codificar con ChatGPT?
  • ¿Se puede confiar en la codificación de ChatGPT?
  • ¿Cómo ayuda ChatGPT a aumentar tus habilidades de codificación?
  • ¿De qué otra forma puedo usar ChatGPT como desarrollador?
  • Cómo usar ChatGPT como programador: Ejemplos de avisos de ChatGPT
  • ¿ChatGPT reemplazará a los programadores? ¿Puedo usar ChatGPT para hacer mi trabajo por mí?
  • Conclusión

¿ChatGPT puede escribir código?

Como modelo de lenguaje grande, ChatGPT tiene que ver con el texto. Y ese texto incluye, ¡por suerte para ti!, código. Tiene la capacidad de escribir fragmentos de código en lenguajes de programación populares como JavaScript, Python, C#, PHP y Java. O genere una entrada CSV de muestra para un problema de ciencia de datos. O cree scripts bash o plantillas de infraestructura como código en JSON o YAML. Y mucho más.

Veamos un ejemplo. Tal vez necesite algún código repetitivo para una página index.html simple que diga «Hola mundo». Usando una solicitud de lenguaje natural, puede liberar ChatGPT para resolver este problema.

ChatGPT no solo genera un código (que se puede copiar y pegar), sino que también explica qué está haciendo el código, lo que puede ser especialmente útil si eres nuevo en el idioma.

¿Necesitas diseñar esta página web usando algo de CSS? ¡Preguntemos!

Sé lo que estás pensando: “¿Puedo usar IA para escribir CSS? ¡SÍ! Si me dices que también puede escribir expresiones regulares, estoy totalmente convencido”. (Pista: ¡puede!)

¿Debería codificar con ChatGPT?

Entonces. El hecho de que pueda escribir código con ChatGPT, ¿significa que debería hacerlo ? Hay una variedad de opiniones al respecto. Por un lado, la gente argumenta que usar una herramienta de IA para escribir código te vuelve perezoso e incapaz de pensar por ti mismo. Por otro lado, la gente dice que aprovechar ChatGPT puede convertirte en un programador más rápido, liberando tu tiempo para concentrarte en las cosas más importantes como la arquitectura, las mejores prácticas y los requisitos comerciales.

Puedo ver ambos lados del argumento. Echemos un vistazo a algunos pros y contras.

Los profesionales

  • Es rápido y fácil generar código usando ChatGPT. Si fuera a StackOverflow o Google para encontrar un fragmento de código de todos modos, ¿por qué no acortar la cantidad de tiempo que lleva encontrarlo?
  • Por lo general, ChatGPT obtiene la sintaxis correcta, lo que podría ahorrarle tiempo en la búsqueda de errores en tiempo de compilación o tiempo de ejecución que los humanos podemos introducir si codificamos desde cero.
  • Al usar ChatGPT para la codificación, es posible que se le presenten algunas formas alternativas de hacer cosas en las que no habría pensado de otra manera.
  • ChatGPT hace que sea más rápido y fácil aprender nuevos idiomas y conceptos, con explicaciones y código, todo en la misma interfaz.

Los contras

  • Si bien la inteligencia artificial ha recorrido un largo camino y ChatGPT es francamente alucinante, no es 100% correcto en todo momento. Comete errores como nosotros. Y a veces tiene mucha confianza cuando comete esos errores. Por lo tanto, aún debes verificarlo, probarlo y depurarlo, tal como lo has hecho en el pasado.
  • ChatGPT carece del contexto general de lo que está creando y por qué. Claro, puede proporcionarte un fragmento de código o incluso un archivo de código completo. Pero no entenderá las convenciones o las mejores prácticas para tu proyecto. No sabe cómo ese código interactuará con otro código. No comprende los requisitos de rendimiento, seguridad, privacidad, accesibilidad, etc. Nuevamente, como ser humano, eres el responsable final del código que se envía.

¿Es confiable la codificación de ChatGPT?

Veamos qué tiene que decir ChatGPT sobre su propia confiabilidad.

¡Incluso ChatGPT es consciente de sus propias limitaciones! Así como no confiarías en la funcionalidad de autocorrección de tu teléfono para enviar un mensaje de texto importante, no deberías confiar en ChatGPT para escribir un código perfecto.

Toma la codificación segura, por ejemplo. Recuerda que ChatGPT funciona “aprendiendo” un gran conjunto de datos existentes. En el caso de la versión 3 de ChatGPT, se entrenó con datos hasta fines de 2021. Debido a que el panorama de la seguridad cibernética cambia constantemente y todos los días aparecen nuevas vulnerabilidades, ChatGPT no tendrá la inteligencia más reciente para informar el código que escribe.

ChatGPT no tiene conocimiento de tus requisitos específicos de autenticación, confidencialidad, componentes de terceros, análisis de vulnerabilidades, etc. Podría proporcionarte un código repetitivo con un marcador de posición para las credenciales codificadas. Si no sabe que deben almacenarse en una variable de entorno o en un servicio de administración de secretos, esto es un gran riesgo de seguridad para tu aplicación.

En última instancia, si bien ChatGPT es bueno para escribir fragmentos de código y aplicaciones simples, los desarrolladores humanos tienen el trabajo fundamental de unir las piezas y aplicar las mejores prácticas.

¿Cómo ayuda ChatGPT a aumentar tus habilidades de codificación?

Cuando necesitas aprender un nuevo lenguaje de programación o función, ¿qué haces hoy? Puedes buscar tutoriales, ver cursos, intentar escribir y ejecutar código para ver qué hace. Es probable que esto implique saltar a varios recursos diferentes, lo que puede llevar mucho tiempo. ¿Y cuántas veces encuentras errores al intentar ejecutar el código que encontraste en internet?

ChatGPT puede reducir la cantidad de tiempo que lleva hacer todo esto. Agrega efectivamente información de las muchas fuentes en las que se entrenó y te las presenta en una sola interfaz. También explica lo que hace el código y, a veces, incluso le brinda formas alternativas de hacer las cosas. Es como tener un tutor en tiempo real contigo mientras escribes y lees el código.

Otra gran ventaja de aprender a través de ChatGPT es el hecho de que utiliza el procesamiento de lenguaje natural para la entrada y salida. Es decir, solo haces preguntas en un lenguaje sencillo, como si le estuvieras preguntando a un tutor o a un amigo. No es necesario que conozcas los términos técnicos exactos o la sintaxis para hacer la pregunta.

También puedes refinar y desarrollar tu conversación con el tiempo. Si no entendiste bien un concepto que explicaba, puedes preguntar algo como: «¿Puedes explicar eso de una manera más simple?» O, «¿Puedes explicar eso para un niño de 5 años?» Ser capaz de adaptar las respuestas a tu nivel actual de comprensión es un beneficio bastante notable.

¿De qué otra forma puedo usar ChatGPT como desarrollador?

Hasta ahora, nos hemos centrado en usar ChatGPT para escribir código, pero hay otras formas en las que puede hacerlo más rápido en tu trabajo. Por ejemplo, puede explicarte el código, ayudarte a refactorizar, escribir casos de prueba e incluso corregir errores.

Digamos que encontraste algún código en StackOverflow, pero no entiendes muy bien lo que hace. Pidámosle ayuda a ChatGPT.

¡Y voilá! Una explicación que nos puede ayudar a entender mejor el código.

¿Qué tal obtener ayuda para refactorizar y limpiar nuestro código?

Y veamos un ejemplo más de cómo obtener ayuda con las pruebas unitarias. Le pediremos a ChatGPT que genere pruebas unitarias para la clase Person mencionada anteriormente.

Como puedes ver, hay muchas formas de usar ChatGPT para acelerar las tareas diarias. Como siempre, querrás validar el resultado que le brinda, pero como punto de partida, esto es bastante difícil de superar.

Mira este breve video para conocer formas adicionales de usar ChatGPT como desarrollador.

Cómo usar ChatGPT como programador: Ejemplos de avisos de ChatGPT

A medida que las herramientas de IA se vuelven cada vez más frecuentes en nuestras vidas, la forma de obtener una «ventaja» es saber cómo usarlas de manera efectiva. Para ChatGPT específicamente, eso significa que deberá poder escribir indicaciones efectivas para obtener las respuestas que desea y rápidamente. Aquí hay algunas plantillas que puede usar.

Para escribir código nuevo

Prompt template: Actuar como [función técnica] . Escribe [una descripción de lo que quieres escribir, usando tantos detalles como puedas.]

Ejemplo: actuar como desarrollador front-end. Escribe código para validar un formulario de contacto que incluya nombre, dirección de correo electrónico y mensaje. La dirección de correo electrónico es obligatoria y debe tener el formato de un correo electrónico válido. Si el formulario se envía correctamente, muestra un mensaje de éxito.

Para escribir código nuevo para un conjunto de tecnologías específicas

Prompt template: Actuar como [función técnica] . El conjunto de tecnologías es [describa las diferentes tecnologías que está utilizando] . Escribe [una descripción de las cosas que está construyendo] .

Ejemplo: Actuar como desarrollador full-stack. El conjunto de tecnologías es AWS Lambda, DynamoDB, API Gateway y HTML. Escribe una función Lambda para calcular la suma de dos números ingresados ​​por el usuario y guárdelos en DynamoDB. Escribe un archivo HTML con cuadros de entrada para dos números. Cuando el usuario haga clic en enviar, pase los dos números a API Gateway.

Para depurar código existente

Prompt template: Recibo el siguiente error en mi código [pegue el error] . ¿Cómo puedo arreglarlo?

Ejemplo: Recibo el siguiente error en mi código: Módulo no encontrado: Error: No se puede resolver ‘./app’. ¿Cómo puedo arreglarlo?

Para evaluar diferentes tecnologías.

Prompt template: Actuar como [función técnica] . Describe dos tecnologías diferentes para [realizar alguna tarea] . Dame pros y contras, junto con ejemplos.

Ejemplo: Actuar como analista de datos. Describa dos tecnologías diferentes para hacer análisis de datos exploratorios. Dame pros y contras, junto con ejemplos.

¿ChatGPT reemplazará a los programadores? ¿Puedo usar ChatGPT para hacer mi trabajo por mí?

ChatGPT es muy impresionante y lanzó la «revolución de la IA» a toda marcha, con nuevas herramientas y características que aparecen todos los días. Y debido a que está aprendiendo continuamente a través de los comentarios de los usuarios y nuevos datos, seguirá mejorando cada vez más. Lo que plantea la pregunta: ¿ChatGPT me quitará el trabajo?

Como programador, recuerda que tu trabajo principal es traducir los requisitos comerciales en código. Eso requiere mucho análisis, creatividad, pensamiento crítico, sopesar diferentes opciones, arquitectura, optimización, etc. Los humanos son mucho mejores en esas habilidades que los robots, y no creo que ChatGPT amenace eso.

Además, como hemos visto en los ejemplos anteriores, debes comprender cómo funciona una tecnología para hacer las preguntas correctas y validar las respuestas que le brinda ChatGPT. En otras palabras, debes ser un desarrollador experto para usar ChatGPT de manera efectiva para cosas relacionadas con el desarrollador. Pero dejes que haga el trabajo tedioso que probablemente tengas que buscar de todos modos.

En resumen, creo que ChatGPT se usará para acelerar el trabajo, al igual que IntelliSense, análisis de código estático, autocompletado, verificación de errores en tiempo de compilación, pruebas automatizadas, IDE y otras herramientas para desarrolladores durante años. Es otra herramienta en el kit de herramientas para convertirte en un programador mejor y más rápido.

Conclusión

¡Y eso es todo! Con suerte, ya tienes una buena idea de cómo ChatGPT puede ayudarte a mejorar tus habilidades de desarrollo de software día a día. Ya seas un desarrollador experimentado que quiere escribir menos código, o un novato que quiere aprender un nuevo lenguaje de programación, ChatGPT es una herramienta poderosa para hacerlo realidad. Es como tener un compañero experto programando a tu lado.

Loading