Antes de continuar con esta publicación, la que pueda resultar un poco extensa, voy a pasar a responder preguntas rápidas:
(Logo extraído de: https://www.flaticon.es/)
¿Recomiendo el uso de inteligencia artificial en el mundo del desarrollo?
Por supuesto. Es una herramienta muy útil y hay que usarla. Nada más para agregar.
¿La inteligencia artificial va a reemplazar a la/os desarrolladora/es?
A corto plazo seguro que no, por lo menos de forma eficiente. Sospecho que en este punto de la historia ya entramos en una etapa en la que la/os desarrolladora/es necesitamos de la inteligencia artificial para resolver nuestro trabajo y nada va a volver a ser como antes, es un viaje sólo de ida. Pero tampoco se puede dejar a la IA sin supervisión del humano. Esa es mi opinión.
¿Hasta dónde puede abarcar su uso?
Acá es donde puede decir que mi opinión se vuelve compleja y voy a pasar a explicar esto desde una visión empírica.
El problema del copy-paste
Alguna gente cree que una respuesta de la IA es una verdad absoluta. Otra/os sabemos que no es así.
Ahora, esto no es nuevo, no se le puede atribuir a la IA. No es lo mismo completar un trabajo práctico de historia argentina con la ayuda de un libro de Felipe Pigna, que hacerlo con la Wikipedia; esta última fuente no es del todo confiable. Probablemente la información sea correcta, pero…
De todas formas voy a explicar esto con dos ejemplos de la vida cotidiana. Más precisamente de mi vida como desarrollador e instructor web.
El examen de Javascript
Hace unos años tomé un examen, el mismo se podía resolver de forma domiciliaria. Es decir, se subía la consigna, y ésta se podía completar en los próximos días; nada de exámenes escritos con la/el docente en el aula observando que la/el alumna/o no se copie, como en la vieja escuela. Método cuestionable desde mi punto de vista, pero bueno yo no soy quien pone las reglas.
El mismo constaba de unas siete preguntas, la/el alumna/o debía responder sin la ayuda de IA, ni Google, ni nada. Esto obviamente es muy difícil de controlar y obviamente varia/os alumna/os rompieron esta regla.
Entre las preguntas había una que decía algo así como:
«Indique tres alternativas de referenciar con Javascript al siguiente código:»
<h1 id="titulo" class="h1"> Soy un título </h1>
Casi la mitad de la clase respondió lo siguiente:
Alternativa 1:
const titulo = document.getElementById("titulo");
Alternativa 2:
const titulo = document.querySelector("#titulo");
Alternativa 3:
const titulo = document.getElementsByClassName("h1")[0];
Las tres formas son correctas, pero acá un par de cuestiones…
- ¿Por qué tanta/os dieron esa respuesta y en ese orden?
- ¿Por qué usar el método getElementsByClassName(), el cual está pensado para recuperar una lista de elementos y no uno en particular?
- Si hacés la misma pregunta en ChatGPT, las respuestas que te da esa IA, por lo menos cuando yo lo probé, es calcada.
Conclusión: Varia/os alumna/os resolvieron este punto con ChatGPT .
¿Esto está mal? Cada uno tendrá su opinión, pero un ejercicio tan fácil no sé si tiene sentido usar inteligencia artificial para resolverlo, es como sacar la calculadora para hacer 1 + 1.
Por último, el método getElementsByClassName(), como dije, no está pensando para este tipo de casos, de hecho es poco eficiente si se lo usa así ¿Esto significa que estoy cuestionando una respuesta de chatGPT? Bueno, mejor dejar a la propia IA responder esto…

Respuestas que no siempre daría alguien con algo de experiencia
El segundo trata de lo siguiente: Una columna en una tabla en una base de datos está configurada para guardar fechas con el siguiente formato ‘dd/mm/YYYY’ (día/mes/año) De tal forma que si llegase otro formato, por ejemplo: ‘mm-dd-YYYY’, la consulta entonces no va a poder funcionar.
El sistema realiza validaciones con una versión muy muy vieja de PHP. Entonces le pedí a Deepseek que me cree una función que filtre la información, si no llega con el formato ‘dd/mm/YYYY’, entonces que el dato se limpie, que quede en null, parecido a cómo trabaja la función filter_var() de este lenguaje.
La primer respuesta de la IA es la siguiente:
<?php
function validarFecha($texto) {
// Primero verificamos que el texto no esté vacío
if (empty($texto)) {
return null;
}
// Verificamos el patrón básico con expresión regular
if (!preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $texto)) {
return null;
}
// Separamos los componentes de la fecha
$partes = explode('/', $texto);
$dia = (int)$partes[0];
$mes = (int)$partes[1];
$anio = (int)$partes[2];
// Validamos rangos básicos
if ($mes < 1 || $mes > 12) {
return null;
}
if ($dia < 1 || $dia > 31) {
return null;
}
// Validación más específica según el mes
$diasPorMes = array(
1 => 31, // Enero
2 => 28, // Febrero (sin bisiesto por ahora)
3 => 31, // Marzo
4 => 30, // Abril
5 => 31, // Mayo
6 => 30, // Junio
7 => 31, // Julio
8 => 31, // Agosto
9 => 30, // Septiembre
10 => 31, // Octubre
11 => 30, // Noviembre
12 => 31 // Diciembre
);
// Ajustamos febrero para años bisiestos
if ($mes == 2) {
// Verificamos si es año bisiesto
if (($anio % 4 == 0 && $anio % 100 != 0) || ($anio % 400 == 0)) {
$diasPorMes[2] = 29;
}
}
// Verificamos que el día sea válido para el mes
if ($dia > $diasPorMes[$mes]) {
return null;
}
// Verificamos que el año sea razonable (por ejemplo, entre 1900 y 2100)
if ($anio < 1900 || $anio > 2100) {
return null;
}
// Si pasó todas las validaciones, retornamos la fecha
return $texto;
}
// Ejemplos de uso:
echo validarFecha('15/08/2023'); // Devuelve: 15/08/2023
echo validarFecha('32/01/2023'); // Devuelve: null
echo validarFecha('29/02/2020'); // Devuelve: 29/02/2020 (año bisiesto)
echo validarFecha('29/02/2021'); // Devuelve: null (no es bisiesto)
echo validarFecha('hola/mundo'); // Devuelve: null
echo validarFecha(''); // Devuelve: null
?>
La función cumple, pero si nos ponemos a analizar el código, nos damos cuenta que se enrosca un poco a la hora de validar la combinación de año, mes y día:
// Validamos rangos básicos
if ($mes < 1 || $mes > 12) {
return null;
}
if ($dia < 1 || $dia > 31) {
return null;
}
// Validación más específica según el mes
$diasPorMes = array(
1 => 31, // Enero
2 => 28, // Febrero (sin bisiesto por ahora)
3 => 31, // Marzo
4 => 30, // Abril
5 => 31, // Mayo
6 => 30, // Junio
7 => 31, // Julio
8 => 31, // Agosto
9 => 30, // Septiembre
10 => 31, // Octubre
11 => 30, // Noviembre
12 => 31 // Diciembre
);
// Ajustamos febrero para años bisiestos
if ($mes == 2) {
// Verificamos si es año bisiesto
if (($anio % 4 == 0 && $anio % 100 != 0) || ($anio % 400 == 0)) {
$diasPorMes[2] = 29;
}
}
// Verificamos que el día sea válido para el mes
if ($dia > $diasPorMes[$mes]) {
return null;
}
La realidad es que PHP tiene una función llamada checkdate() que simplifica las anteriores líneas de código.

La segunda respuesta de la IA es la siguiente:
<?php
function validarFecha($texto) {
// Verificamos que el texto no esté vacío
if (empty($texto)) {
return null;
}
// Verificamos el patrón básico con expresión regular
if (!preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $texto)) {
return null;
}
// Separamos los componentes de la fecha
$partes = explode('/', $texto);
$dia = (int)$partes[0];
$mes = (int)$partes[1];
$anio = (int)$partes[2];
// Validamos la fecha con checkdate (incluye años bisiestos)
if (!checkdate($mes, $dia, $anio)) {
return null;
}
// Verificamos que el año sea razonable (opcional)
if ($anio < 1900 || $anio > 2100) {
return null;
}
// Si pasó todas las validaciones, retornamos la fecha
return $texto;
}
// Ejemplos de uso:
echo validarFecha('15/08/2023'); // Devuelve: 15/08/2023
echo validarFecha('32/01/2023'); // Devuelve: null
echo validarFecha('29/02/2020'); // Devuelve: 29/02/2020 (año bisiesto)
echo validarFecha('29/02/2021'); // Devuelve: null (no es bisiesto)
echo validarFecha('hola/mundo'); // Devuelve: null
echo validarFecha(''); // Devuelve: null
?>
Conclusión
Lo primero que tenemos que entender es que la IA nos hace mucho más productivos, eso está muy bien. Pero a su vez tenemos que manejar esa producción de ambos lados, copiar y pegar código sin verificar lo que estamos haciendo puede ser irresponsable de nuestra parte.
Cuando copiás el código y lo pegás, lo estás firmando como tuyo, ese código te representa y te define como desarrollador/a.
Si la IA comete errores o produce un material mejorable, no es culpa de la IA, sino tuya por no chequearlo antes de pegarlo.
Fijate que en el segundo ejemplo me ahorré muchos minutos de crear código, pero me tomé unos poquitos segundos solamente para pedirle a Deepseek que corrija algo. No pasa nada, la IA y el humano pueden ser muy productivos juntos 😊+🤖
