13 TIPS ✨ para incrementar tu PRODUCTIVIDAD como programador ChatGPT (Free)
Sin duda alguna ChatGPT está revolucionando el mundo, desde ya se ha convertido en nuestro asistente virtual por excelencia. Podemos usarlo para muchísimas cosas, como lo vimos en la serie de videos y blog posts de: ¡Aprende a sacar lo mejor de ChatGPT! 🤖💬.
Y aunque pueda surgir la inquietud de que ChatGPT pueda suplantar nuestras habilidades, a mi punto de vista es mejor centrarnos en como podemos aprovechar al máximo esta poderosa herramienta, potenciando y multiplicando nuestra productividad.
Así que en este blog post, queridos Omesitos, vamos a ver algunos tips para programadores o desarrolladores de software, que tal vez ya estés usando o tal vez haya alguno nuevo que puedas aplicar. ¡Así que vamos a por ello!.
Lenguajes de programación que maneja ChatGPT
Antes de empezar, si quieres tener una idea de los lenguajes de programación a los que puedes pedir asistencia a ChatGPT, no dudes en preguntárselo.
Prompt: Dime cuáles son los lenguajes de programación de los que me podrías dar asistencia con el código.
Tenemos una lista de lenguajes de programación, entre los cuales está nuestro poderosísimo Python, pero también encontramos Java, C++ o Ruby.
TIP 1: Roadmap de aprendizaje
Si eres nuevo en algún tema, o quieres profundizar en él, puedes pedirle a ChatGPT una guía de aprendizaje que te oriente sobre los temas que debes aprender.
Prompt: Como principiante en seguridad informática, busco un roadmap experto que me guíe a través de los aspectos fundamentales y avanzados. ¿Puedes proporcionarme una estructura detallada con los pasos esenciales y recursos recomendados para mi viaje de aprendizaje?
Y obtendremos una guía de los temas que debemos aprender y/o profundizar.
Además, si queremos aprender un nuevo lenguaje de programación podríamos solicitarle lo siguiente:
Prompt: ¿Puedes proporcionarme una guía práctica y bien estructurada para aprender C++ desde cero? Estoy buscando recursos, ejercicios y consejos para dominar este lenguaje de programación.
TIP 2: Como usar servicios, sistemas o programas
Si te han solicitado usar algún servicio nuevo para ti, puedes pedirle a ChatGPT que te oriente en como acceder a él, en como configurarlo, entre otros.
Prompt: Necesito crear una instancia EC2 en AWS con el sistema operativo Ubuntu. ¿Podrías proporcionarme una guía detallada de los pasos que debo seguir para lograrlo?
TIP 3: Pídele que desarrolle un programa
Si necesitas resolver algún problema mediante un programa, puedes pedírselo directamente a ChatGPT. Y aunque puede que el programa que desarrolle tenga errores, lo cierto es que te ayudará mucho a estructurar el programa final.
A tomar en cuenta: ChatGPT en su versión gratuita no puede ejecutar código, pero sí que puede ayudar a crearlo.
Prompt: Desarrolla un programa en Python capaz de verificar si una cadena ingresada corresponde a un formato de correo electrónico válido. Asegúrate de abordar diferentes casos para garantizar una detección precisa.
Como podemos ver, lo obtenemos, pero además ChatGPT se ha encargado de comentar el código para darnos a conocer qué se está realizando en determinadas líneas de código.
TIP 4: Ayuda en Testing
Si bien ChatGPT en su versión free no puede ejecutar programas, nos puede ayudar con las pruebas. Tomemos el programa del prompt anterior y pidámosle lo siguiente:
Prompt: Proporciona diferentes escenarios de prueba y casos límite que me permitan validar el correcto funcionamiento del programa.
Y nos otorga distintas opciones para probar el desempeño del programa. Esto es muy útil, puesto que nos ayuda a evaluar el programa con ejemplos difíciles, de casos que tal vez no hayamos tomado en cuenta. Es más, gracias a ello podremos no solo probar el programa, sino también mejorarlo en caso de que sea necesario.
TIP 5: Varios programas para resolver un problema
Pedir diferentes programas para un mismo problema puede ser una excelente manera de aprender más sobre programación, mejorar tus habilidades de resolución de problemas y optimización de código.
Prompt: Necesito crear un programa en Python que reproduzca la serie: 2, 4, 7, 10, 14, 18, 23, 28. ¿Puedes proporcionarme varias alternativas de implementación, junto con explicaciones sobre la lógica detrás de cada enfoque?
Y en este caso nos ha dado algunas alternativas. Podemos probarlas, entenderlas, y elegir la que mejor se adapte al problema a solucionar. Es decir, puede que todas las alternativas resuelvan el problema, lo importante está en evaluar su desempeño, como el tiempo de ejecución, o coste computacional.
TIP 6: Optimizar el código
Optimizar el código puede ser de gran relevancia para tener: eficiencia en tiempo de ejecución, en el uso de recursos, experiencia de usuario, escalabilidad, mantenimiento, etc. Este es otro punto en el que ChatGPT nos puede ayudar.
Por cierto, recuerda que ChatGPT no es perfecto y puede cometer errores, pero puede orientarnos a construir, en este caso, un mejor código.
Prompt: Tengo el siguiente programa en Python, por favor optimízalo por mí:
def ordenar(a, b, c): for i in range(3): # Bucles innecesarios para reducir la eficiencia for j in range(3): for k in range(3): if a <= b <= c: pass elif a <= c <= b: a, b, c = a, c, b elif b <= a <= c: a, b, c = b, a, c elif b <= c <= a: a, b, c = b, c, a elif c <= a <= b: a, b, c = c, a, b elif c <= b <= a: a, b, c = c, b, a return a, b, c # Valores de ejemplo valor1 = int(input("Ingrese el primer valor: ")) valor2 = int(input("Ingrese el segundo valor: ")) valor3 = int(input("Ingrese el tercer valor: ")) resultado = ordenar(valor1, valor2, valor3) print("Valores ordenados de manera ineficiente:", resultado)
En el prompt podemos ver un programa en donde se usan muchas estructuras de repetición for, así como condicionales como if y elif. El resultado que obtenemos por parte de ChatGPT es el siguiente:
Entonces ChatGPT se ha encargado de analizar el código y optimizarlo. Y además nos ha proporcionado una descripción del procedimiento que ha realizado. Sin embargo, no olvides hacer pruebas sobre él.
TIP 7: Solucionando errores
Al momento de crear algún programa, estamos propensos a que este tenga bugs. Estos son errores o defectos en el código que provocan un comportamiento no deseado o incorrecto en un programa. Entonces podemos pedirle que nos ayude a entender el problema y como solucionarlo.
Prompt: Tengo el siguiente programa:
def suma(a, b):
return a + b + c
suma(10, 2)
Y obtengo el siguiente error: NameError: name ‘c’ is not defined
Qué puedo hacer para resolverlo?
En esta ocasión nos ha dado algunas alternativas de como podemos arreglar el problema que le habíamos presentado. En este caso el error era bastante sencillo de resolver, ya que el problema estaba en la falta del parámetro c en la función suma. Sin embargo, en otros casos más complejos, en el que no podamos entregarle el código o solo especifiquemos el error, ChatGPT de igual manera nos informará sobre las posibles causas y pasos para solucionarlo (aunque recuerda que siempre es importante darle más información).
TIP 8: Explicación de un programa
Supongamos que te encuentras con un programa que necesitas utilizar, sin embargo, estás luchando un poco con entender la lógica de programación. Entonces, ¿por qué no pedirle a ChaGPT que nos lo explique?.
Prompt: Por favor, explícame que hace el siguiente programa:
import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('/path_to_image/image.jpg',0) # Show the image cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
Y según esta respuesta, nos va explicando paso a paso cada línea del código, desde la importación de packages hasta la visualización. Y al final incluso nos da un resumen del programa.
TIP 9: Documentación
También puede ayudarnos a estructurar la documentación del programa. Por ejemplo, tomemos el mismo código de la sección anterior y le pedimos:
Prompt: Convierte el código del programa en una función y añade su docstring.
Entonces obtenemos el código transformado a función, pero además este posee su descripción, parámetros que necesita y lo que este devuelve.
Docstring: Son comentarios que nos ayudan a documentar un segmento de código en específico.
TIP 10: Traducir a otros lenguajes de programación
Podemos aprovechar la familiaridad de ChatGPT con diferentes lenguajes de programación para traducir programas. Esto puede ser útil para evaluar un código entre distintos lenguajes de programación y optimizarlos o simplemente para aprender.
Prompt: Ayúdame a traducir el siguiente código de Python a c++ y a java:
def invertir_texto(texto): texto_invertido = texto[::-1] return texto_invertido # Ejemplo de uso texto_original = "Hola, mundo!" texto_invertido = invertir_texto(texto_original) print("Texto original:", texto_original) print("Texto invertido:", texto_invertido)
Y tendríamos la misma funcionalidad del programa pero ahora en otros lenguajes de programación. En este caso C++ y java. Y como decía, tomemos en cuenta que ChatGPT puede cometer errores, por ello es importante hacer pruebas sobre los programas que genere.
TIP 11: Consejos sobre qué herramienta o software usar
Si tenemos dudas sobre que herramientas usar para resolver algún problema mediante programación, podemos pedirle su consejo.
Prompt: Quiero crear un programa en Python para reproducir sonido. ¿Puedes darme opciones de librerías que podría usar para ello?
Prompt: De todas ellas cuales me recomendarías usar y por qué?
Entonces le hemos pedido opciones, nos las ha dado pero además nos ha ofrecido información de cada una de ellas. Al final nos entrega una breve conclusión de todas ellas.
Cabe destarcar que tal y como lo vimos en este blog post, para obtener mejores respuestas será necesario entregarle más información o contexto, con ello nos podrá orientar mejor.
TIP 12: Generación de plantillas
Podemos pedirle a ChatGPT que proporcione la estructura básica de un proyecto de programación colaborativo, para que por ejemplo todos los miembros del equipo tengan claro cómo deben construir su código.
Prompt: Genera una plantilla de código para un proyecto colaborativo en la empresa ABC, utilizando tecnologías modernas como Python y JavaScript. Asegúrate de incluir secciones para documentación, pruebas unitarias y una guía breve de buenas prácticas de codificación.
Entonces, como respuesta tenemos la distribución y las directrices que se deben tomar en cuenta para la construcción del código.
Pero incluso, si siempre trabajamos sobre cierta estructura podemos hacer una plantilla para ello.
Prompt: Genera una plantilla de código de Python para la lectura de Videostreaming usando OpenCV. Añade una descripción de que el programa será desarrollado por el canal de Youtube Omes.
Recordemos que si las plantillas que genera ChatGPT no son de nuestro agrado o no cumplen con lo que necesitamos, podemos reestructurar el prompt y experimentar con ello.
TIP 13: Usa custom instructions en ChatGPT
Podemos usar la opción de custom instructions para dar instrucciones globales a ChatGPT de como queremos que nos responda, o comentarle qué tecnología usamos para que lo tome en cuenta. Ya vimos un ejemplo de cómo emplear esta opción en este blog post. Pero ahora veremos otro ejemplo enfocado a desarrolladores.
Entonces lo configuremos estos apartados.
En ¿Qué te gustaría que ChatGPT sepa acerca de ti para brindar respuestas mejores?, ubicaremos:
Soy desarrollador backend de la empresa ABC.
Mientras que en ¿Cómo te gustaría que ChatGPT te responda?:
Usa el lenguaje de programación Python para darme respuestas, no uses texto, solo enfócate en realizar el programa y en el mismo programa añade comentarios sobre su funcionamiento.
Hay que tomar en cuenta que esta configuración se va a aplicar a los nuevos chats. Así que para probar su funcionamiento, vamos a un nuevo chat.
Prompt: Ayúdame a crear una función que me devuelva las tablas de multiplicar del 1 al 10, de cierto número dado.
Y vemos que directamente nos entrega el programa en Python. Además va directamente a la función y aunque nos da un poco de texto al final, es más en forma de resumen.
Hay que tomar en cuenta que como en el blog post pasado, puede que ChatGPT no nos haga caso cuando hay demasiadas instrucciones a seguir, por ello sería mejor concentrarnos en una pocas. Pero supongo que esto también lo irán mejorando.
Solo para experimentar un poco y para tenerlo en cuenta, con esta configuración siempre nos tratará de responder como lo hemos configurador, veamos el siguiente ejemplo:
Prompt: Dime que son los seres vivos.
Y tenemos una respuesta hecha programa. Por esta razón debemos prestar atención a como configuremos las Custom Instructions.
Y hemos llegado al final de este blog post, espero que te haya gustado mucho y nos vemos en el siguiente. 🤗