Generando Código Python con Bard, ChatGPT y Copilot

En el artículo de hoy vamos a evaluar cómo Bard, ChatGPT, Copilot resuelven una solicitud de generación de código Python. ¿Quién lo hará mejor?, quédate conmigo y lo averiguaremos juntos.

El ejemplo que vamos a solicitarles es el siguiente:

«Escribe código Python para lo siguiente: Dado un número entero x, devuelve verdadero si x es un palíndromo y false en caso contrario«.

Antes de ver las diferentes propuestas de solución que nos ofrecen, aclarar que un número palíndromo es aquel que se lee igual de izquierda a derecha que de derecha a izquierda.

Veamos a continuación las respuestas que obtenemos,

Respuesta de Bard

Primero nos ofrece el código siguiente con la opción de copiar para poder llevarlo a nuestro intérprete:

Y a continuación nos explica cómo funciona la solución propuesta,

Pero no queda ahí, y continúa dándonos ejemplos para utilizar la función creada, así como una solución alternativa algo más simple, si bien no tan optimizada en tiempos de ejecución:

No está mal ¿verdad? Digamos que esta IA ha dado una solución bastante pedagógica al problema.

Respuesta ChatGPT

En su caso, ChatGPT es más resumido en la solución, pero proporcionando la misma que nos ofreció en el segundo ejemplo Bard, y también nos da la opción de copiar el código y acompaña una explicación de cómo funciona:

Respuesta de Copilot

Veamos por último qué nos propone Copilot:

Para este caso ha dado una solución que, si bien requiere unas líneas extras, ha buscado una solución ligeramente más eficiente en cuanto a tiempo de ejecución, dado que antes de convertir a cadena el entero recibido para comparar con su palíndromo, ha evaluado si es un entero negativo para en ese caso ahorrarse la conversión, dado que un número negativo no es un palíndromo.

En Resumen

Para el ejemplo practicado, podría afirmarse lo siguiente:

  • Bard: Se ha mostrado más educativo en su solución, ha generado un código autodocumentado, que explica qué hace la función, sus argumentos de entrada y la salida, además de bastante limpio en su segunda propuesta (más eficiente que la primera). En general, una respuesta muy completa que probablemente gustará mucho a quienes se están iniciando en el desarrollo de software, pero también a experimentados que verán en la solución un código ordenado y documentado correctamente.
  • ChatGPT: Ha sido más breve en su respuesta pero ha llegado a la misma conclusión de código generado que Bard. A diferencia de Bard, el código autodocumentado de ChatGPT no explica qué hace la función en sí, pero va explicando qué hace cada línea de código individualmente, cuestión que ayuda a quien está aprendiendo a programar. No obstante, tras el código explica qué hace la función.
  • CoPilot: Ha implementado una solución limpia, ligeramente más eficiente en tiempos de ejecución que Bard y ChatGPT, con algo más de código para lograr dicha eficiencia, pero no ha incluido ninguna documentación en el mismo, aunque al igual que ChatGPT explica fuera del código cómo funciona. Por tanto, podría decirse de esta solución, que CoPilot se ha enfocado más a una solución optimizada que a hacer un código legible y facilitar un posible mantenimiento futuro (lógicamente este es un código pequeño para ilustrar diferencias y se entiende rápido en cualquiera de los casos).

Y a ti, ¿qué solución te gustó más? Te animo a que pruebes con otros ejemplos u otros lenguajes de programación, y saques tus propias conclusiones, porque te sorprenderá cómo de diferentes pueden llegar a ser algunas soluciones.

Por ejemplo, prueba a preguntar cómo puede optimizar dicho código para ejecutarse más rápido (utilizando el mismo ejemplo) y observarás que cada IA te propone soluciones diferentes, pero mejoradas (aunque menos legibles).

¡Si te gustan mis artículos, suscríbete, comenta y comparte!


Descubre más desde El Rincón de Sergio

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario