JavaScript es un lenguaje de programación interpretado que se creó en el año 1995 por Brendan Eich. Ha pasado por distintos nombres (Mocha, LiveScript…) hasta llamarse así, que fue una estrategia de marketing para conseguir atraer programadores de Java a este lenguaje. Empezó siendo un lenguaje que se usaba, sobre todo, para cambiar de forma dinámica las páginas web, pero ha ido evolucionando hasta el punto de que ahora lo podemos usar para cualquier cosa, incluso en el servidor.
JavaScript es un lenguaje multiparadigma y, por tanto, podemos usarlo de distintas formas para desarrollar las aplicaciones:
- Programación imperativa: se escriben las instrucciones paso a paso para generar la solución al problema.
- Programación funcional: usando funciones lambda como forEach, map, filter y reduce entre otras, que se pueden ir anidando hasta conseguir el resultado que se espera.
- Programación Orientada a Objetos: se usan objetos que encapsulan variables y métodos, para interactuar con otros objetos, y de esta forma se intenta obtener el resultado esperado.
En los últimos años se ha visto como JavaScript ha pasado a ser el lenguaje de programación más usado. Esto se debe a todas las funcionalidades que se le han ido añadiendo, por ejemplo:
- Todas las APIs que se han introducido con HTML5 permiten hacer cosas con JavaScript que antes no se podían hacer: acceder a la ubicación del dispositivo, guardar datos en el navegador (localstorage y sessionstorage), hacer que el navegador hable, sacar fotos…
- Gracias a NodeJS se ha conseguido que JavaScript sea el lenguaje que nos va a permitir desarrollar tanto en Frontend como en Backend. Esto hace que muchas empresas y desarrolladores lo elijan a la hora de empezar proyectos, ya que con un único lenguaje podemos hacer toda una aplicación. Mientras que con otras tecnologías, como por ejemplo Ruby on Rails, habría que aprender JavaScript y Ruby: el primero para la parte del Frontend; el segundo para la parte del Backend.
- Por otro lado, durante los últimos años se ha pasado de tener aplicaciones de múltiples páginas a desarrollar aplicaciones de una sola página, quitándole carga al servidor y dándosela al cliente. Y, por esto, muchos desarrolladores están aprendiendo JavaScript, por las librerías y frameworks modernos (Angular, React, VUE, Svelte…) que han aparecido y que facilitan este tipo de desarrollos, haciendo más fácil crear las interfaces de usuario y ayudando a seguir unas buenas prácticas derivadas del uso de estas tecnologías.
Aunque JavaScript nos proporciona muchas ventajas para usarlo como hemos visto antes, también tiene sus desventajas. Las principales son la curva de aprendizaje y que es muy fácil hacer código espagueti. Aprender bien a usar JavaScript puede ser complejo, sobre todo por conceptos como la asincronía en la que nos encontramos con los callbacks, las promesas, las closures, la cadena de prototipos, los contextos y el this…
Pero una vez que lo entendemos bien, podemos encontrarnos con muchas más ventajas que desventajas, y por eso muchas empresas lo están usando a día de hoy para crear sus aplicaciones web (Netflix, Uber, Paypal…), aplicaciones de escritorio (Slack, Sizzy, VSCode…), aplicaciones móviles (Instagram, Airbnb, Walmart…) o videojuegos (Boring Space Game).
¿Te animas a saber más de JavaScript?