¿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. Consulte la documentación del marco: ¡Lea siempre la documentación!

2. Busca en Google y Stack Overflow:Busca 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: pandas Módulo no encontrado

– 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 pruebasEl paso final implica examinar y probar cuidadosamente el código modificado para garantizar que funcione según lo previsto. Esto garantiza que no haya verificación de código y que el código se pruebe correctamente.

 

¡Has resuelto exitosamente el problema técnico!

¿No es eso hermoso?

 

Pero en realidad ¿realmente seguimos haciendo esto?

Recientemente he notado un cambio en cómo los nuevos programadores abordan la programación. He estado enseñando a codificar de manera profesional durante aproximadamente 3 años, rotando entre campamentos de entrenamiento de codificación, conferencias invitadas en universidades y capacitación corporativa. La forma en que los programadores abordan el aprendizaje de la programación ha cambiado un poco, con un enfoque en Herramientas de inteligencia artificial en 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 muy útil, especialmente cuando todavía estás intentando comprender cosas a partir de los resultados de investigación y documentos, desarrollar lo que se llama “La intuición del programador".

Ahora bien, no me malinterpreten, apoyo lo básico. Navegar, leer documentos y hacer preguntas en la comunidad son pasos poderosos, en mi opinión. Confiar únicamente en ChatGPT puede ser un poco exagerado. Claro, puede preparar un resumen rápido de las respuestas, pero Los métodos de navegación tradicionales te brindan la libertad de elegir y experimentar, lo cual es 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 utilizar ChatGPT es como negarse a utilizar motores de búsqueda a principios de la década de 2000.. Si bien ChatGPT puede tener sesgos y errores, similar a los motores de búsqueda que contienen información poco confiable o estafas. Cuando se utiliza adecuadamente, ChatGPT 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 viene con la limitación de no poder ver el contexto de su código. Claro, siempre puedes darle contexto a tu código. En un código más complejo, es posible que no puedas proporcionar todas las líneas de código a ChatGPT. El hecho de que ChatGPT solo vea una pequeña parte de su código, ChatGPT también Se supone El resto del código se basa en su base de conocimientos o alucinando.

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 desea aprovechar el modelo de autocompletar, en lugar de simplemente usar ChatGPT, intente usar extensiones de VScode para tareas de autocompletar código como CodeGPT: extensión GPT4 para VScode, O Copiloto de GitHub, o herramientas de autocompletar de IA en Google Colab. Estas herramientas mejoran 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 basadas en IA en tiempo real. GitHub Copilot sugiere completar el código a medida que los desarrolladores escriben y convierte las indicaciones en sugerencias de codificación según el contexto del proyecto y las convenciones de estilo. De acuerdo a esto Lanzamiento desde GithubCopilot Chat ahora funciona con GPT-4 de OpenAI (un modelo similar 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 ve a las conversaciones de codificació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.