¿Es recomendable utilizar ChatGPT para programar?

Explorando beneficios y desventajas sobre ChatGPT como protagonista en la programación.

Introducción

La programación es un campo que evoluciona constantemente y los ingenieros buscan nuevas herramientas y tecnologías para mejorar su eficiencia y productividad. Una de estas soluciones es ChatGPT.

En este artículo, analizaremos si es o no recomendable utilizar esta herramienta para programar. Se analizarán diferentes ventajas y desventajas que esta IA puede presentar a los programadores, y examinaremos cómo puede impactar en este proceso en específico, además de exponer un ejemplo de cómo se puede utilizar esta herramienta para programar con lenguaje SQL.

¿Cómo puede ChatGPT programar?

Hagamos un ejemplo de cómo ChatGPT puede ayudarnos a programar. Si le damos la instrucción de crear una base de datos con datos inventados, por ejemplo:

Nos dará las siguientes tablas:

Tabla de clientes:

Tabla de ordenes de compra:

Tabla de articulos:

A continuación necesitamos realizar una consulta y necesitamos el código en SQL, un ejemplo de consulta es la siguiente:

WITH total_compras AS (
  SELECT
    c.Id_cliente,
    c.Nombre,
    c.Apellido,
    COUNT(DISTINCT o.Id_compra) AS total_compras,
    SUM(o.Valor_compra) AS suma_compras
  FROM
    clientes AS c
  LEFT JOIN
    ordenes_de_compra AS o ON c.Id_cliente = o.Id_cliente
  GROUP BY
    c.Id_cliente, c.Nombre, c.Apellido
),
ranked_clientes AS (
  SELECT
    Id_cliente,
    Nombre,
    Apellido,
    total_compras,
    suma_compras,
    ROW_NUMBER() OVER (ORDER BY suma_compras DESC) AS rank
  FROM
    total_compras
)
SELECT
  Id_cliente,
  Nombre,
  Apellido,
  total_compras,
  suma_compras
FROM
  ranked_clientes
WHERE
  rank <= 3

El resultado de esta consulta es la siguiente:

Ventajas y desventajas

Ventajas

  1. Facilidad de uso: Es especialmente útil para personas que no dominan completamente el lenguaje de programación, en donde es posible darle una pequeña instrucción para solicitar un código que nos permita resolver nuestro requerimiento o si tenemos dudas de cómo realizar alguna fúrmula ChatGPT nos responderá.

  2. Asistencia y sugerencias: ChatGPT puede proporcionar asistencia y sugerencias en tiempo real al escribir un código en cualquier tipo de lenguaje. Podremos solicitar ejemplos de códigos para resolver algún problema y ahorrar tiempo evitando tener la necesidad de buscar algún documento en especifico en internet.

  3. Corrección de errores y revisión de código: Esta IA puede ayudarnos a identificar algún error de sintaxis y ofrecer soluciones a nuestros errores, lo cual puede apoyar bastante a los principiantes de la programación o quienes no encuentren una solución rápida a algún problema.

Desventajas

  1. Limitaciones en conocimientos específicos: Aunque ChatGPT es un modelo de lenguaje avanzado, su conocimiento se basa en los datos con los que fue entrenado. Por lo que pueden surgir diferentes problemas al solicitarle programar algo demasiado especifico y demasiado especializado.

  2. Dependencia de datos de entrenamiento: El rendimiento de la IA puede verse afectado por la calidad y la cantidad de los datos con los que se entrenó. Si no se entrenó correctamente en el dominio de programación específico que estás utilizando, puede dar respuestas imprecisas.

  3. Interpretación y comprensión limitada: Al solicitar un código, la IA está limitada al contexto de nuestra consulta, generando respuestas que pueden ser correctas, pero no son 100% apropiadas a la necesidad real de la empresa, es por ello que los programadores que estén realizando estas funciones sean críticos en los códigos generados y verifiquen la validez de las respuestas.

Entonces, ¿se recomienda programar con ChatGPT?

En parte si, pues nos puede ayudar a programar varias cosas cuando nosotros no sepamos cómo seguir avanzando con nuestros códigos, además, en base a lo que ChatGPT nos dijo, podemos solicitarle una explicación de aquel código para nosotros entenderlo correctamente y poder aplicarlo a algún proyecto que estemos realizando.

Por otra parte no, si lo que buscamos es realizar completamente un proyecto complejo y encargarle a ChatGPT toda la tarea de programar, no se recomienda, como se mencionó previamente en las desventajas, ChatGPT tiene limitaciones de conocimientos muy específicos y especializados, además puede no entender correctamente las necesidades reales del proyecto y puede darnos un código aparentemente correcto, pero con algunos errores que pueden perjudicar completamente el proyecto de una empresa por no considerar esto último.

Lo que se recomienda finalmente con esta IA es utilizarla solamente como un asistente, con quien podemos solicitar información para solucionar algún error de programación o solicitarle algún código no tan especializado para poder analizarlo y replicarlo después de un análisis, adaptación y control de errores.

Siempre hay que recordar que somos profesionales y no debemos depender 100% de las herramientas externas para realizar todo el procedimiento cuando la empresa no la ha establecido y estandarizado formalmente dentro de la empresa.