Codificación aprenderaprogramar.com: CU01137E
VERSIONES DE JAVASCRIPT
Cuando comenzamos el curso indicamos que íbamos a centrarnos en aprender las bases fundamentales para usar JavaScript del lado del cliente, sin entrar a detallar todas las instrucciones y detalles del lenguaje, ni las diferencias entre versiones. No obstante, en este momento vamos a hacer un break para conocer algunos aspectos de interés.
ALGO DE HISTORIA. DE NETSCAPE A ECMA INTERNATIONAL.
En los años 90 comenzó a usarse a gran escala internet por parte de una gran masa de usuarios, después de una etapa introductoria donde se produjo el desarrollo y nacimiento de ese gran fenómeno cultural. En las etapas iniciales de internet no existían wifi, ADSL, fibra óptica o cualquiera de los adelantos que hoy día nos parecen comunes. Lo más común era la conexión a través de la línea telefónica fija de los hogares (que quedaba “interrumpida” mientras se hacía uso de internet) a través de un módem, y las velocidades de transmisión de datos eran muy lentas. La navegación se hacía con frecuencia tediosa debida a la lentitud de carga de las páginas, y cómo mejorar la experiencia de navegación, comodidad y velocidad eran un asunto candente.
Este asunto ha tenido respuesta en múltiples vertientes: tendido de nuevas redes de cableado, aparición de las redes inalámbricas, mejora de los servidores, mejora de los computadores personales y mejora de los navegadores y lenguajes de programación son algunos de los que podemos citar.
La creación de JavaScript se le atribuye a Brendan Eich, matemático y tecnólogo estadounidense. Eich fue contratado por Netscape Communications Corporation, en aquel momento la empresa que desarrollaba el navegador más difundido de la época: Netscape. Dentro de Netscape y como forma de dar respuesta a la mejora de la experiencia de navegación y velocidad de operación de las páginas web fue creado JavaScript en 1995.
La adopción del nombre “JavaScript” se atribuye a motivos de marketing, tratando de aprovechar que Java era un lenguaje de programación que estaba adquiriendo gran popularidad y que un nombre similar podía hacer que el nuevo lenguaje fuera atractivo. Pero salvando algunas similitudes, ambos lenguajes son bien distintos. Su principal parecido podemos decir que es el nombre y algunos aspectos de sintaxis, ya que su finalidad y filosofía son muy distintos.
Entre las diferentes empresas y lenguajes que pugnaban por convertirse en el lenguaje del lado del servidor más usado fue emergiendo JavaScript como ganador. A finales de 1996 Netscape informó que traspasaba la responsabilidad de definir y estandarizar JavaScript a una organización internacional para el desarrollo de estándares en el sector de tecnologías de la información y comunicación denominada Ecma International. Esta organización tuvo su origen en la European Computer Manufacturers Association (ECMA, o Asociación Europea de fabricantes de computadores). En realidad ya no se trata de una organización europea, sino plenamente internacional, que se define como un organismo que asocia a productores de tecnologías de información y comunicación.
Ecma International es el organismo actualmente responsable de la definición de la especificación oficial JavaScript, a la que se denomina ECMAScript. En Ecma International participan grandes empresas relacionadas con internet, computadores y telecomunicaciones, entre las que podemos citar Microsoft, Apple, Google, Yahoo, Toshiba, IBM, Hitachi, Fujitsu, Intel, AMD, Adobe Systems, eBay, Hewlett Packard, Konica Minolta, Sony, etc. y también universidades e instituciones sin ánimo de lucro como Stanford University, UEC Tokyo University, Mozilla Foundation y otras.
Ecma International trabaja en la estandarización en diversos frentes: lenguajes de programación (C#, Eiffel, C++, etc.), redes de telecomunicaciones, redes inalámbricas, seguridad de productos electrónicos, aspectos ambientales relacionados con productos electrónicos y las telecomunicaciones, contaminación acústica, campos electromagnéticos, etc. Cada estándar producido por Ecma International se plasma en un documento y se le da una numeración. Por ejemplo al estándar para JavaScript se le ha denominado Standard ECMA-262.
Uno de los campos de trabajo de Ecma International es generar la especificación oficial de JavaScript, a la que se denomina ECMAScript ó Standard ECMA-262. Dicha especificación es adoptada por las diferentes empresas o entidades que desarrollan los navegadores web para que los navegadores reconozcan JavaScript y éste pueda ser usado por todos los programadores web esperando (al menos teóricamente) poder usar todos el mismo lenguaje y obtener los mismos resultados. La realidad no alcanza esta suposición ideal, y lo cierto es que aunque todos los navegadores usan JavaScript a partir de la especificación ECMAScript, nos podemos encontrar con matices, diferentes especificidades y diferentes resultados entre navegadores. Hay que reconocer sin embargo, que ha habido grandes avances en lo que a estandarización se refiere.
VERSIONES DE JAVASCRIPT
JavaScript tiene hoy día como especificación oficial la especificación que desarrolla Ecma International, denominada ECMASCript. Este estándar es desarrollado por un grupo de trabajo que define como objetivos la estandarización del lenguaje de programación ECMAScript, lenguaje de propósito general, multiplataforma y neutral respecto de las empresas. La tarea de Ecma International comprende la definición de la sintaxis del lenguaje, su semántica, así como de las librerías y tecnologías suplementarias que facilitan el desarrollo con este lenguaje (entre ellas API soporte para JavaScript).
Las evolución de las versiones de JavaScript podemos resumirla así:
1995. Primeras versiones de JavaScript, todavía con nombres provisionales como Mocha, LiveScript.
1997. Definición del primer estándar JavaScript a cargo de Ecma International que fue denominado ECMA-262 first edition también denominado JavaScript 1.2.
1998. Aparición del segundo estándar JavaScript denominado ECMA-262 second edition también denominado JavaScript 1.3.
2000. Aparición de la especificación del estándar JavaScript denominado ECMA-262 third edition también denominado JavaScript 1.5.
2010. Aparición de la especificación del estándar JavaScript denominado ECMA-262 fifth edition también denominado JavaScript 1.8.5.
2019. Fecha prevista para ECMA-262 sixth edition.
Hay algunas dudas que nos pueden surgir.
¿Por qué no existe ECMA-262 fourth edition? Esta especificación no llegó nunca a publicarse, por lo que se produjo directamente el salto desde ECMA-262 3rd edition hasta ECMA-262 5th edition.
¿Qué diferencia hay entre ECMAScript y JavaScript? Podemos decir que ambas cosas son la misma, si bien podríamos distinguir matices. ECMAScript es un estándar definido por ECMA International que es luego implementado por distintas instituciones o empresas en sus navegadores. Para aludir al lenguaje o implementación que exactamente reconoce un navegador suele usarse el término JavaScript en lugar de ECMAScript. La Mozilla Foundation, creadora del navegador Mozilla Firefox, mantiene una numeración de versiones (1.7, 1.8, 1.8.1, …1.8.5, 1.9, 1.15, 1.20 …) que indica la evolución del intérprete JavaScript dentro del navegador.
¿Por qué este lío de nombres en lugar de usar un único nombre? Además los citados también podríamos nombra a JavaScript de otras maneras: JScript, ISO/IEC 16262:2011, etc. Todo tiene su razón de ser en motivos históricos, el hecho de que algunos nombres son marcas registradas y no pueden ser usados sin el permiso del propietario de la marca, luchas entre organismos, empresas, la terminología propia de la estandarización, etc.
ESPECIFICACIÓN OFICIAL DE JAVASCRIPT
La especificación oficial de JavaScript (ECMA-262) puede leerse o descargarse en formato pdf accediendo a la dirección web http://www.ecma-international.org/
Ahí también se pueden encontrar especificaciones oficiales de estándares relacionados con JavaScript como el estándar ECMA-357 que define “ECMAScript para XML”, la integración de JavaScript con XML.
¿Qué interés tiene para nosotros la especificación oficial? Tiene un interés relativo, ya que se trata de un documento denso, extenso y que aborda todos los detalles de una especificación oficial que puede presentar algunas divergencias con lo que nos encontremos en la realidad trabajando con los navegadores.
Nosotros lo consideraremos un documento de referencia donde podremos hacer consultas puntuales (sobre todo a medida que usemos más en profundidad el lenguaje).
En este curso nos centramos en aspectos básicos del lenguaje y en comprender su lógica, las buenas prácticas y fundamentos. No nos resulta de excesivo interés remitirnos a la especificación oficial, ni tener en cuenta las versiones de la especificación oficial ni de las implementaciones que use cada navegador.
Este pequeño recorrido por la historia y versiones de JavaScript lo hemos considerado adecuado para poder entender mejor la terminología que nos podemos encontrar cuando leamos información sobre JavaScript en libros, revistas o páginas web. Las versiones de JavaScript suelen ser incrementales: es decir, mantienen los fundamentos y amplían las posibilidades del lenguaje. Nosotros con este curso tenemos el objetivo de aprender los fundamentos que nos permitan desarrollar JavaScript sin importarnos más que lo justo el navegador y las versiones. Así que continuamos.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.