Babel y el lenguaje que ensambla la Web (JavaScript)

Dice Brendan Eich, quien lo creó a finales del siglo pasado en el plazo de una semana para Netscape Navigator, que JavaScript es el ¿ … “lenguaje que ensambla la Web ” ?. Será el lenguaje que ensambla la Web, sí,… dada su exponencial popularidad y la creciente ubicuidad del mismo. Si bien… desde mi ignorancia, me encantaría poder decirle a Eich, ¿ no estaremos convirtiendo JavaScript en un galimatías ? ¿ en una nueva Torre de Babel ?

Me siento por momentos confuso y desorientado. Siento además que por mucha experiencia (de la que carezco… a día de hoy!) de la que pueda disfrutar en un lenguaje de programación como JavaScript no mejoraría mi nivel de confusión y desorientación.

Tal cantidad de frameworks… Tal cantidad de cambios en el lenguaje… Tal cantidad de contextos a considerar…

JavaScript ‘cambia más que el tiempo’.

Existen muchas liberías de código fuente y frameworks para facilitar las tareas de desarrollo Web en general, y JavaScript en particular. También hay mucha controversia entorno al hecho de que si tal cantidad de librerías y frameworks es excesiva, quién debería usar una librería o framework, quién debería escribir una librería o framework, y por supuesto … el obligatorio «la librería (o framework) que estoy usando es superior a la tuya ! »

Tan sólo pretendo compartir como me siento y lo que pienso al respecto. Naturalmente, que cada cual use (o no) las librerías y frameworks que le plazcan.

A vueltas con las librerías y frameworks JavaScript.

Veamos, antes de plantear la crítica constructiva a su uso… ¿ Para que nos sirve una librería (software) ? Las librerías (software) facilitan la reutilización del código. Así evitamos «reinventar la rueda», como se suele decir . Más allá… ¿ Qué es un framework ? . Esencialmente podemos entenderlo como una biblioteca de librerías para acceder a bases de datos, gestionar sesiones de usuario, estructuras para plantillas… y que, de nuevo, con frecuencia facilitan la reutilización del código fuente.

En vez de escribir el código fuente desde cero, el usar frameworks y librerías de un lenguaje de programación en tus desarrollos aporta sus ventajas.  Pongamos VueJS, y su sobria filosofía de desarrollo por componentes, con el que ando jugando un poco últimamente. Entre los ‘pros’ se encuentra el hecho de que un framework como VueJS te permite, como se suele decir ‘aumentar la productividad’. La facilidad con que puedes alcanzar y empezar a visualizar unos primeros resultados siguiendo sus tutoriales. Si bien parece que somos más ágiles con ellos al principio… en mi experiencia, ello tiene varios ‘contras’.  La ofuscación, entre ello.  Pues estamos añadiendo cada vez más y más capas de abstracción a lo que tenemos entre manos. ¿ En el uso de lo que podríamos llamamos ‘cajas negras’?

Sí, los frameworks y librerías…, en mi opinión, nos sirven para construir más rápidamente y tener la sensación de progreso. Sensación de agilidad. Si bien, ¿ a que precio ?. ¿ No estaremos perdiendo algo al adentrarnos en ese camino … ? ¿ No será que su conveniencia ‘productiva’ reduce nuestra capacidad de aprender los conceptos básicos del lenguaje de programación que subyace al framework o librería ?

A veces me pregunto… ¿ alguien estará consiguiendo ‘hacer el trabajo’ con todo lo que mes a mes cambian las herramientas que usamos para ello ?.

Intuyo que no soy el/la únic@ que se formula dicha pregunta. Hoy en día, es difícil encontrar a alguien trabajando con software libre y de código abierto que no se sienta confuso y desorientado en relación al rumbo que ha tomado la evolución de la Web en general y de JavaScript en particular.

No me malinterpretéis… el cambio es positivo. Es lo único que permanece, de hecho. Como la vida misma. Flujo constante. ¿No estaremos confundiendo ‘cambio’ con ‘moda’ ?

 

Que no cunda el pánico. ¿ Vuelta a las raíces ?

Creo que el quid de la cuestión al usar cualquier lenguaje de programación, por muy compleja que sea la aplicación a desarrollar, es volver a las raíces. A sus conceptos fundamentales. En vez de empezar “la casa por el tejado… “, consciente de que ello ralentiza el proceso si bien, ¿ será una estrategia que se demostrará más resistente al paso de las modas de tal o cual librería o framework en particular (re)aprendiendo a partir de unos sólidos conceptos básicos ?.


PD: Comparto acá algunos recursos relacionados :

Deja un comentario

13/03/2019

Posted In: softwareLibre

Etiquetas:

Leave a Comment