¿Cómo puedo aprender a programar con ChatGPT si tengo que empezar de nuevo?

Explorando ChatGPT en mi trayectoria de codificación de 15 años: más allá de copiar y pegar

La programación ha sido parte de mi vida desde que tenía 10 años. Desde ajustar el código y CSS para mi perfil de Friendster durante los primeros días de Internet, hasta explorar inyecciones SQL por la emoción que implica, construir un robot de tres patas por diversión y, más recientemente, sumergirme en la programación en Python, ¡mi viaje de programación ha sido diverso y divertido!

Esto es lo que he aprendido de diferentes enfoques de programación.

Foto de Arnold Francisca en Unsplash

La forma en que aprendo a programar es siempre la misma; Como dice la gente, es básicamente copiar y pegar. 😅

Cuando se trata de construir algo en el mundo de la programación, aquí hay un resumen de mi enfoque:

  1. Seleccione el marco o biblioteca apropiado.
  2. Aprenda de proyectos anteriores
  3. Divídelo en pasos
    Divida su proyecto en pasos viables, lo que hará que el desarrollo sea menos estresante.
  4. Busca cada parte en Google.
    Para cada paso, consulte Google/Bing/DuckDuckGo o cualquier motor de búsqueda que prefiera para obtener información, orientación y posibles soluciones.
  5. Empezar a programar
    Intente realizar cada paso sistemáticamente.

Sin embargo, incluso un código bien pensado puede tener errores. Aquí está mi estrategia de solución de problemas:

1. Consulta la documentación del framework: ¡Lee siempre la documentación!

2. Buscar en Google y Stack Overflow : Buscar en Google y Stack Overflow. Un ejemplo de palabras clave sería:

sitio:stackoverflow.com [lenguaje de programación] [biblioteca] Error [mensaje de error]

sitio:stackoverflow.com Error de Python ImportError: no se encontró el módulo pandas

– Soluciones de Stack OverflowSi el problema ya existe en Stack Overflow, busco los comentarios y soluciones más votados y, a menudo, encuentro una respuesta rápida y confiable. Esta plataforma es una referencia importante para que los desarrolladores resuelvan Errores de Python Rumor y la Biblioteca del Panda.
– confía en mi intuiciónCuando Stack Overflow no tiene una respuesta, confío en mi instinto de buscar fuentes confiables en Google; GeeksForGeeks, Kaggle, W3School y Towards Data science Para cosas de DS 😉

3. Copie y pegue el código de la solución.

4. Verificación y pruebas : El último paso consiste en examinar y probar minuciosamente el código modificado para asegurar que funcione según lo previsto. Esto garantiza que el código esté debidamente verificado y probado.

 

¡Has resuelto exitosamente el problema técnico!

¿No es eso hermoso?

 

Pero en realidad ¿realmente seguimos haciendo esto?

Últimamente he notado un cambio en la forma en que los nuevos programadores abordan la programación. Llevo unos tres años impartiendo clases de programación profesionalmente, alternando entre cursos intensivos de programación, conferencias en universidades y formación empresarial. La manera en que los programadores inician el proceso de aprendizaje ha cambiado ligeramente, centrándose ahora en las herramientas de inteligencia artificial aplicadas a la programación.

Generalmente recomiendo a los nuevos usuarios que sigan con el método antiguo de navegar y buscar respuestas en Google, pero la gente todavía termina usando ChatGPT. Su excusa es

 

“Tener ChatGPT (para fines de programación) es como tener un compañero de clase extra: te habla como una persona normal”.

Es extremadamente útil, especialmente cuando todavía estás tratando de comprender las cosas a partir de los resultados de la investigación y la documentación, para desarrollar lo que se llama " intuición del programador ".

Ahora bien, no me malinterpreten, estoy a favor de lo básico. Navegar, leer la documentación y hacer preguntas en la comunidad son pasos fundamentales, en mi opinión. Confiar únicamente en ChatGPT podría ser una simplificación excesiva. Si bien puede resumir respuestas rápidamente, los métodos de navegación tradicionales te dan la libertad de elegir y experimentar, algo crucial en el mundo de la programación.

Pero tengo que dar crédito a quien lo merece: ChatGPT es extremadamente rápido al brindar respuestas, especialmente cuando todavía estás tratando de descubrir qué está bien y qué está mal en los resultados de búsqueda y los documentos. ChatGPT es una herramienta poderosa para acelerar el aprendizaje y descubrir soluciones a problemas de programación complejos.

Me doy cuenta de que este cambio hacia el uso de ChatGPT como compañero de estudio no sólo está ocurriendo en el campo de la programación. ChatGPT ha revolucionado la forma en que las personas aprenden. Incluso estoy usando ChatGPT para corregir mi gramática para esta publicación, lo siento Grammarly.

 

Negarse a usar ChatGPT es como negarse a usar los motores de búsqueda a principios de la década de 2000. Si bien ChatGPT puede tener sesgos y errores, al igual que los motores de búsqueda que contienen información poco fiable o estafas, cuando se usa adecuadamente, puede acelerar el proceso de aprendizaje.

Ahora, imaginemos un escenario de la vida real en el que ChatGPT podría ayudarle siendo su compañero de programación para ayudarle a depurar.

 

Escenario: Depuración de scripts de Python

Imagina que estás trabajando en un script de Python para un proyecto y encuentras un error inesperado que no puedes resolver. Este es un problema común en el desarrollo de software y requiere habilidades de depuración avanzadas.

Así es como aprendí a depurar en el pasado, en la era anterior a ChatGPT. Estos métodos clásicos siguen siendo de gran valor para comprender los conceptos básicos de la depuración.

Metodología de navegación:

  1. Documentación:

Comience por consultar la documentación de Python para encontrar el módulo o la función que está causando el error. La documentación de Python es una referencia esencial para comprender cómo funcionan los diferentes módulos y cómo usarlos correctamente, ayudándole a identificar las causas de los errores y solucionarlos de manera eficiente.

 

por ejemplo:
- Visita https://scikit-learn.org/stable/modules/ Para la documentación de Scikit Learn.

2. Busca en Google y Stack Overflow:

Si la documentación no proporciona una solución, puedes recurrir a Google y Stack Overflow. Escanee varios hilos y discusiones del foro para encontrar un problema similar y resolverlo. Estos recursos son valiosos para la resolución de problemas en el campo del aprendizaje automático.

3. Confía en tu intuición:

Si el problema es único o no está bien documentado, ¡confíe en sus instintos! Puede explorar artículos y fuentes en Google que haya considerado confiables en el pasado e intentar adaptar soluciones similares a su problema. Este enfoque mejora sus habilidades para resolver problemas técnicos.

Puedes ver que en el resultado de búsqueda anterior, los resultados son de W3school (sitio confiable de aprendizaje de codificación, excelente para hacer trampa) y los otros dos resultados son la documentación oficial de Pandas. Se puede ver que los motores de búsqueda sugieren a los usuarios que echen un vistazo a la documentación oficial. 😉

A continuación te explicamos cómo puedes usar ChatGPT para ayudarte a solucionar un problema.

 

Un nuevo enfoque con ChatGPT:

  1. Interactúa con ChatGPT en conversaciones:

En lugar de simplemente navegar por documentos y foros, puedes interactuar con ChatGPT en una conversación en vivo. Proporcione una breve descripción del error y haga su pregunta. Por ejemplo, puede utilizar ChatGPT para obtener ayuda instantánea para comprender y depurar errores de programación comunes.

 

Tengo un problema con mi script de [lenguaje de programación] donde [descripción del error]. ¿Podrían ayudarme a comprender las posibles causas de este error y sugerir una posible solución?

2. Aclarando conceptos usando ChatGPT:

Si el error está relacionado con un concepto que no entiendes, puedes pedirle a ChatGPT que te explique ese concepto. Por ejemplo,

 

¿Podrías explicar cómo funciona [concepto específico] en [lenguaje de programación]? Creo que podría estar relacionado con el error que me aparece. El error es: [error]

3. Solicite recomendaciones para la solución de problemas:

Puedes pedirle a ChatGPT asesoramiento general sobre cómo solucionar problemas de programas Python. Por ejemplo,

 

¿Cuáles son algunas estrategias comunes para abordar [el problema]? ¿Alguna recomendación de herramientas o técnicas?

Beneficios potenciales:

  • Pautas personalizadas: ChatGPT puede brindar orientación personalizada según los detalles específicos que proporcione sobre el error y su comprensión del problema. Esta función se basa en las capacidades del modelo de lenguaje grande (LLM) de ChatGPT para brindar asistencia personalizada.
  • Aclaración de conceptos: Puedes solicitar explicaciones y aclaraciones de conceptos directamente desde ChatGPT, aprovechando las capacidades de su gran modelo de lenguaje (LLM).
  • Solucionar problemas de manera eficiente: ChatGPT puede proporcionar sugerencias concisas y relevantes para la resolución de problemas, que pueden simplificar el proceso de depuración.

Posibles limitaciones:

Ahora hablemos de las desventajas de confiar al 100% en ChatGPT. He notado muchos de estos problemas en el recorrido de mis estudiantes usando ChatGPT. En la era posterior a ChatGPT, mis estudiantes copiaban y pegaban el mensaje de error de una línea desde su interfaz de línea de comandos, aunque el error tuviera 100 líneas y estuviera relacionado con unos pocos módulos y dependencias. A veces, pedirle a ChatGPT que explique una solución alternativa proporcionando un código de error de una sola línea puede funcionar o, peor aún, puede agregar una o dos horas de trabajo de depuración manual.

ChatGPT tiene una limitación: no puede ver el contexto de tu código. Por supuesto, siempre puedes proporcionar contexto a tu código. Sin embargo, en código más complejo, es posible que no puedas proporcionarle a ChatGPT cada línea de código. Dado que ChatGPT solo ve una pequeña parte de tu código, o bien deduce el resto basándose en su propia base de conocimientos, o simplemente lo interpreta.

Estas son las posibles limitaciones del uso de ChatGPT:

  • Falta de interacción dinámica en tiempo real: Si bien ChatGPT proporciona información valiosa, carece de la interacción en tiempo real y el intercambio dinámico que pueden proporcionar los foros o los hilos de discusión. En StackOverflow, puede haber 10 personas diferentes que sugieran 3 soluciones diferentes que puedes comparar ya sea por bricolaje (hazlo tú mismo, pruébalo) o ver la cantidad de votos positivos.
  • Confiando en el conocimiento previo: La calidad de la respuesta de ChatGPT depende de la información con la que fue entrenado y es posible que no esté al tanto de las últimas actualizaciones del marco o de los detalles específicos de su proyecto.
  • Puede agregar tiempo extra para depurar: ChatGPT no tiene contexto para su código completo, por lo que esto puede resultar en más tiempo para la depuración.
  • Comprensión limitada del concepto: Los métodos de navegación tradicionales te dan la libertad de elegir y experimentar un poco, algo crucial en el mundo de la programación. Si sabes elegir la fuente correcta, podrías aprender más navegando por tu cuenta en lugar de depender de un modelo genérico de ChatGPT.
    A menos que le preguntes a un modelo de lenguaje entrenado especializado en conceptos y tecnología de programación, artículos de investigación sobre temas de programación, conferencias populares sobre aprendizaje profundo de Andrew Ng o un tweet de Yann Le Cunn en X (anteriormente Twitter), ChatGPT dará una respuesta en gran medida genérica.

Este escenario demuestra cómo ChatGPT puede ser una herramienta valiosa en su conjunto de herramientas de programación, especialmente para orientación personalizada y aclaración conceptual. Recuerde equilibrar la asistencia de ChatGPT con los métodos de navegación y preguntar a la comunidad, teniendo en cuenta sus fortalezas y limitaciones.

La línea de fondo

Recomendado para programadores: herramientas y recursos esenciales

 

Si realmente quieres aprovechar el modelo de autocompletado, en lugar de depender únicamente de ChatGPT, prueba a usar extensiones de VS Code para tareas de autocompletado de código, como CodeGPT (una extensión de GPT4 para VS Code) , GitHub Copilot o las herramientas de autocompletado con IA de Google Colab. Estas herramientas aumentan significativamente la productividad de los desarrolladores.

Como puede ver en la captura de pantalla anterior, Google Colab ofrece automáticamente al usuario sugerencias para el próximo código.

Otra alternativa es GitHub Copilot. Con GitHub Copilot, puedes obtener sugerencias en tiempo real basadas en inteligencia artificial. GitHub Copilot sugiere autocompletado de código mientras los desarrolladores escriben y traduce las indicaciones en sugerencias de codificación según el contexto del proyecto y las convenciones del método. Según esta versión de GitHub , Copilot Chat ahora funciona con OpenAI GPT-4 (un modelo similar al utilizado por ChatGPT).

Estaba usando activamente CodeGPT como una extensión de VSCode antes de descubrir que Github Copilot estaba disponible de forma gratuita si te gustaban los tutoriales. CodeGPT Co ha recibido 2 millón de descargas hasta ahora en VSCode Extension Marketplace. CodeGPT permite una integración perfecta con la API ChatGPT, Google PaLM XNUMX y Meta Llama.
Puede obtener sugerencias de código a través de comentarios.Aquí te explicamos cómo:

  • Escribe un comentario solicitando un código específico.
  • Prensa cmd + shift + i
  • Usa el código 😎

También puedes iniciar una conversación a través de la extensión en el menú y navegar a las conversaciones de programación 💬

Cuando pienso en mi trayectoria como programador, la valiosa lección que he aprendido es que no existe una única manera de aprender que se adapte a todos. Es esencial adoptar una variedad de métodos de aprendizaje, combinando prácticas tradicionales como la navegación y la interacción con la comunidad con las capacidades innovadoras de herramientas como ChatGPT y herramientas de autocompletar código.

 

Qué hacer:

  • Benefíciese de recursos de aprendizaje personalizados: Aproveche al máximo las recomendaciones de material de aprendizaje de ChatGPT y utilícelo como una herramienta clave en su recorrido de aprendizaje.
  • Colaborar para resolver problemas: Utilice ChatGPT como un socio colaborativo como si estuviera codificando con sus amigos, mejorando su capacidad para abordar desafíos de programación de manera efectiva.

Cosas que debes evitar:

  • Dependencia excesiva de ChatGPT: Evite confiar completamente en ChatGPT y adopte un enfoque equilibrado para desarrollar habilidades independientes de resolución de problemas. Si bien ChatGPT es una herramienta poderosa para comprender estructuras de código y generar ideas, confiar únicamente en ella puede obstaculizar el desarrollo de habilidades de pensamiento analítico y crítico, que son esenciales para convertirse en un desarrollador competente.
  • Descuidar la interacción directa con la comunidad de programación: Si bien ChatGPT proporciona información valiosa, no descuide los beneficios de la interacción directa y los comentarios de las comunidades de programación. Esto también ayuda a construir una buena reputación en la comunidad. Interactuar con otros programadores le brinda oportunidades de aprender de sus experiencias, intercambiar conocimientos y obtener diferentes perspectivas sobre los desafíos que enfrenta.
  • Ignorar la práctica de programación: Equilibre la orientación de ChatGPT con la programación práctica para mejorar el conocimiento teórico con aplicación práctica. La aplicación práctica es la clave para transformar los conceptos teóricos en habilidades del mundo real. Intente escribir el código usted mismo, experimentar con diferentes soluciones y depurar. Esto le ayudará a consolidar su comprensión de los conceptos y desarrollar sus habilidades para resolver problemas.

¡Cuéntame en los comentarios cómo utilizas ChatGPT para ayudarte con la programación!
¡Feliz codificación!

 

Los comentarios están cerrados.