JavaScript es un lenguaje de programación nacido hace más de 20 años. Para ser exactos en el año de 1995 dentro del proyecto para el navegador Netscape Navigator con el objetivo de hacer la web más dinamica e interactiva.
Tal y como fue concebido inicialmente, los programas hechos en JavaScript son ejecutados en el navegador web y, por tanto, el navegador del usuario y no en el servidor donde se encuentra hospedado el sitio.
Por sus caracteristicas, JavaScript es un lenguaje un poco anómalo y no facilmente clasificable: su diseñador, Brendan Eich, tomo decisiones muy criticadas por los puristas de la programación, puesto que JavaScript reune en si mismo, de manera no siempre armoniosa, características de de varios lenguajes conocidos en la época de su creación.
El resultado parecía algo un poco “Híbrido”: por ejemplo, su sintaxis procede en gran parte de la del lenguaje Java (por eso se denomino JavaScript, aunque la sintaxis es la única conexión entre ambos lenguajes), pero tambien se aleja de él en puntos fundamentales, “Filosóficos”. Un ejemplo evidente: JavaScript define, igual que Java el concepto de objeto, pero, por sus características, no puede definirse como un auténtico lenguaje orientado a objetos.
JavaScript posee características de lenguajes funcionales (como Schema) y, de hecho, define funciones como elementos de primera clase, pero no es un lenguaje funcional puro.
A este “pecado original”, se le añadieron para la reputación de JavaScript los efectos de la denominada guerra de navegadores, es decir, una amarga competitividad entre Microsoft y los otros fabricantes de navegadores para hacerse con el liderazgo del mercado.
¿Y qué tiene que ver JavaScript con todo esto? Tratemos de entenderlo. En 1996, Microsoft creo, para Internet Explorer 3, el lenguaje jScript, una version de JavaScript con características especificas y comportamientos distintos a los de JavaScript, lo que hizo que los sitios desarrollados con una de las dos versiones del lenguaje no fueran compatibles con todos los navegadores.
Todos estos elementos de confusion, unidos a la concepción difusa de finales de los años 90 y principios de los 2000, según la cual las aplicaciones “serias” se ejecutaban sobre servidores y no sobre el cliente, provocaron que los desarrolladores profesionales adoptaran una posición muy negativa contra JavaScript, considerado sólo un lenguaje para aficionadosy graficos.
Sabiendo todo esto, ¿Deberiamos considerar a JavaScript como un lenguaje de serie B?.
El renacer de JavaScript
A principios de esa decada, la situacion emepezó a cambiar. Nacieron muchos elementos nuevos que contribuyeron a generar una consideracion distinta de JavaScript por parte de la comunidad de desarrolladores.
En primer lugar, el nacimiento de Chrome(2008), impulsado por el gigante Google, produce un fuerte cambio en el mercado de los navegadores: su motor de ejecución de JavaScript (V8) incrementó hasta tal punto la velocidad de JavaScript que permitió tener aplicaciones complejas en ejecución en el navegador, es decir, sin tener que instalar antes en el PC. Esta posibilidad hoy en día parece mas bien normal, pero hace 10 años no lo era en absoluto. Fue una gran revolución.
En segundo lugar, los nuevos procesadores multicore o multinúcleo permiten una ejecución real en paralelo de los programas. Esta potencia puede ser bien explotada con técnicas “asíncronas” de programación que encuentran en JavaScript un entorno muy adecuado.
Y por ultimo, la creación de un estandar del lenguaje JavaScript aceptado por todos los fabricantes de navegadores. Este estandar es conocido como ECMAScript.
Todos estos acontecimientos han determinado un renovado y creciente interés por JavaScript, incluso fuera de su entorno tradicional (el web). Actualmente es posible crear aplicaciones stand alone en JavaScript que no necesitan un navegador.
Entre estas aplicaciones destacamos:
Respondiendo a la pregunta, ¿JavaScript es un lenguaje de serie B? Claro que no. JavaScript se ha convertido en uno de los lenguajes de programacion más populares por sus multiples usos no solo en la web.
Extraido del libro: “JavaScript Guía Completa” de Alessandra Salvaggio y Gualtiero Testa