¿Por qué todos odian JavaScript? 🙈 Te lo cuento en 2 min
Tiempo de lectura: 2.34 minutos
Lo que encontrarás en este artículo
JavaScript es probablemente uno de los lenguajes que más hate recibe.
Se utiliza, especialmente, para construir cosas para las que no fue diseñado.
Historia
Fue creado por Brendan Eich en 1995.
Originalmente se le pidió construir un lenguaje similar a Java, pero para ingenuos.
- Solo le tomó 10 días cumplir con esta tarea a la perfección.
- Se convirtió en un desastre de la noche a la mañana.
Pero todo empeoró en 2005 cuando Ryan Dahl cometió el épico error de llevar JavaScript al servidor con Node.js.
Al igual que Alfred Nobel y la dinamita, años después se disculparía por su invento.
Casos de uso
El lenguaje JS está diseñado para un solo caso de uso:
- molestar a la gente con ventanas emergentes en el navegador.
Hoy en día, se usa para construir:
- aplicaciones de escritorio que consumen mucha memoria, con Electron,
- aplicaciones móviles muy inestables con React Native,
- y APIs poco confiables con Express.js.
Ecosistema
No importa lo que estés tratando de construir:
Siempre hay cientos de bibliotecas de última generación para ayudarte con eso.
Esto se debe a que, cuando un desarrollador de JavaScript encuentra un problema:
- instintivamente crea un nuevo framework
- y lo sube a GitHub,
- con un montón de emojis en el README.
De hecho, se dice que hay tantos paquetes de NPM como estrellas en el cielo.
Se estima más de 3.5 millones de paquetes para este 2025.
Mascota
A diferencia de los lenguajes más amados:
- JavaScript no tiene una mascota,
- pero ya están trabajando en diseñar una.
¿Te imaginas cómo se vería?
Tipado
Es un lenguaje de tipado flexible, eso significa que está completamente desconectado de la realidad.
- Cuando sumas un array a un objeto, obviamente devuelve un string que dice
[object Object]. - Ahora, cambia el orden de los operandos y, como seguro ya lo imaginas, devuelve,
0. - ¿Sorprendido? Intenta sumar dos objetos. Obtendrás
[object Object][object Object].
Sabiendo esto, ¿qué crees que sucede si sumas dos arrays?
Obviamente, obtienes un string vacío.
Eso tiene mucho sentido porque:
- el número 0 es equivalente a un array vacío.
- y también es equivalente a un string "0"
Cuando ves estas 2 comparaciones, seguro que quieres concluir lógicamente que un string "0" es equivalente a un array vacío, ¿verdad?
Pero, sorprendentemente, no es así.
Llegamos a esto porque Netscape en los 90 formó un grupo con algunos desarrolladores que encontró en la calle: ellos estuvieron de acuerdo con que 2 + 2 sea igual a 22.
Y, obviamente, por eso 2 - 2 es igual a 0.
Bibliotecas populares
¡Cuando un lenguaje es tan malo y tan popular al mismo tiempo, se crea un ecosistema donde bibliotecas como is-odd, pueden obtener más de 400,000 descargas por semana!
Por cierto, is-odd significa es-impar, y también hay una biblioteca para evaluar si un número es par 😐.
Sistemas de módulos
Lo más divertido de los paquetes en JS es que hay múltiples sistemas de módulos, como CommonJS y ESM:
Así que nunca sabes si el paquete que estás instalando realmente funcionará.
Y, si logras construir algo con JavaScript:
- probablemente nunca verá la luz del día,
- porque entonces tienes que aprender a empaquetar módulos,
- con una herramienta como Webpack, o Vite.
Evolución
Cualquiera que haya trabajado con JavaScript por más de 10 años seguro diría esto, o incluso más.
A pesar de todos sus problemas:
¡JavaScript ha evolucionado hasta convertirse en un lenguaje increíble!
Y me encanta programar con él.
El más popular para empezar a programar
De hecho, estoy extremadamente agradecido con JavaScript, porque siempre pone al menos un pan en mi mesa.
Lo cierto es que:
JavaScript es el lenguaje que se ejecuta en todos los navegadores, incluso cuando no quieres.
Disponible en YouTube
¿Te gustaría ver este contenido en formato de video?
Disponible a un clic:
Aprende JavaScript
Y si quieres dominarlo, toda esta psicología inversa debería motivarte a llevar mi curso de JavaScript 😉.
Gracias por leer hasta el final, y nos vemos en una próxima ocasión: siempre y cuando, no me hayan dado ban.