Usando ChatGPT para programar en Python, C y Java

click fraud protection

ChatGPT es tremendamente bueno escribiendo código.

Todo el mundo ha oído hablar de ChatGPT En este punto. Es un chatbot impulsado por IA que utiliza modelos de procesamiento de lenguaje natural para producir respuestas a preguntas complicadas. Es posible que esas respuestas no siempre sean necesariamente precisas, pero tienden a ser lo suficientemente detalladas como para que pueda verificar las respuestas que le brinda con bastante facilidad. ¿Qué pasaría si tomara ChatGPT e intentara escribir código con él?

Resulta que eso es algo que puede hacer con diversos grados de éxito, según los idiomas que quiera usar y lo que quiera lograr con ellos. Lo puse a prueba para ver qué tan bien le iría en diferentes lenguajes de programación para completar diferentes tareas. Tampoco haré ningún cambio en el código que produce ChatGPT, solo lo guiaré para crear un código que funcione si el código que crea no funciona.

Usé tres lenguajes con los que ya estoy familiarizado para poner a prueba ChatGPT: Python, C y Java. Los resultados fueron particularmente sorprendentes ya que luchó un poco con Python debido a la naturaleza abstracta de lo que le pedí que hiciera, pero manejó C y Java básico con facilidad. tengo también

creó un repositorio de GitHub con todo el código aquí accesible para que pueda probarlo usted mismo.

Comprobación automática de páginas en Python

Python es mi lenguaje de programación favorito para trabajar, y eso es gracias a la potencia que tiene y su simplicidad de uso. He escrito muchas herramientas en Python en el pasado para automatizar partes de mi flujo de trabajo, e incluso mi tesis de licenciatura en ciencias de la computación se hizo completamente a través de Python. Le pedí a ChatGPT que escribiera un programa que pudiera escanear una página web en busca de cambios periódicamente, y en su mayoría funcionó.

El problema con el código anterior que me da es que no simula un navegador real. Los sitios web verifican un parámetro en su navegador llamado "agente de usuario", y esto define qué tipo de navegador está usando o si es un bot. Muchos sitios web no aceptarán conexiones que no definan un agente de usuario, y me encontré con esto cuando lo señalé en XDA. Le pedí que agregara encabezados personalizados a la solicitud para simular un navegador real y cumplió.

El código anterior funciona para sitios web estáticos, pero el problema es que gran parte del contenido que lee en línea es dinámico. Si una página devuelve la hora actual, por ejemplo, en algún lugar de la página, el código anterior siempre dirá que la página ha cambiado cada vez que se actualiza. Cuando le comenté esto a ChatGPT, se confundió y me dio una solución completamente incorrecta al problema.

Lo anterior es una explicación incorrecta de cómo funcionan los hashes. El punto de un hash es que un cambio menor en la entrada dará como resultado una gran diferencia en el hash, ya que dos hash son básicamente incomparables. Cuando le dije que era una afirmación incorrecta sugerir que los hashes eran la mejor manera de comparar y buscar cambios, respondió con una disculpa y me dio algo que hizo trabajar.

El único problema que descubrí con el código anterior es que para sitios web más grandes, es computacionalmente costoso ya que utiliza procesamiento de lenguaje natural para comparar y calcular la diferencia entre ellos. Aún así, un umbral del 5% en el contenido modificado es lo suficientemente bueno para la mayoría de los sitios web si está buscando actualizaciones, y puede ajustar el umbral si es necesario. Tomó un tiempo, pero al final llegó.

Hay muchas razones por las que es posible que desee un raspador web como uno de estos, y aunque existen herramientas que pueden hacerlo, es genial crear el suyo propio. Puede usarlos para rastrear paquetes o, en mi caso, escanear nuevas propiedades que se alquilan en sitios de propiedades locales.

Generador de contraseñas en C

Dado que la seguridad está de moda recientemente, es importante que use contraseñas seguras y también use autenticación de dos factores. Si tiene problemas con la parte de la contraseña segura, es bastante fácil escribir un generador de contraseñas en C. ChatGPT lo manejó con bastante facilidad y el único problema que descubrí fue que cuando le pedí que creara un generador de contraseñas, no importó la biblioteca String C. Le dije eso, y lo agregó a las importaciones al principio.

Aumenté la variable global MAX_LENGTH a 32 caracteres en lugar de 16, y me generó la siguiente contraseña: aW3H0E(&FPQvG8B@4*()+4yRKTKB#U0O. ¡Es seguro decir que funciona!

Calculadora en Java

Un programa bastante básico con el que muchas personas tienen experiencia en Java es la creación de una calculadora. Es uno de los primeros desafíos a los que se enfrentarán los informáticos en su carrera de programación, sin importar el lenguaje que aprendan primero. Le pedí a ChatGPT que escribiera una calculadora en Java que hiciera uso de al menos dos clases y funcionó perfectamente en el primer intento.

Esta es la clase de calculadora:

Esta es la clase principal:

Crear ambas clases en mi IDE, IntelliJ, y ejecutar la clase principal da como resultado un funcionamiento perfecto programa de calculadora que toma dos números y un operador para suma, resta, multiplicación o división.

ChatGPT es decente en la programación

Si bien no confiaría en ChatGPT para que haga todo por usted, está claro que puede hacer un buen trabajo creando programas y teniendo en cuenta las críticas cuando hay problemas. Me sorprendió ver que sugería un algoritmo hash como una forma de discernir entre cambios menores en una página web, pero aparte de eso, no tuvo problemas con las tareas más básicas en absoluto. Incluso en el caso del programa Python, tuvo la idea correcta desde el principio y, en páginas más estáticas, habría funcionado perfectamente.

Por supuesto, ChatGPT no va a reemplazar a los programadores en el corto plazo, pero está en camino de convertirse en una muy buena herramienta en la fuerza laboral. Copiloto de GitHub, por ejemplo, hace uso de GPT tecnología para ayudar a las personas a escribir código, y solo se volverá más avanzada a medida que pase el tiempo. Incluso si eres un programador principiante, este tipo de herramienta podría ayudarte a aprender si pudieras confiar plenamente en ella, pero a veces comete errores extraños, como hemos visto.

Por supuesto, los ejemplos dados aquí son muy básicos, y la mayoría de los programadores podrían escribirlos con bastante facilidad, pero ese no es el punto. Es aterradoramente bueno para crear soluciones para tareas simples y parece manejar tareas más complejas decentemente también. Estamos emocionados de ver a dónde van herramientas como estas en el futuro y ayudar a las personas a mejorar sus habilidades.