Como escribir un programa

¿Pero como hablo con un ordenador para que entienda mis instrucciones?

Es fácil: se trata de escribir instrucciones para que las ejecute el ordenador utilizando para ello un cierto lenguaje apropiado.

Es como hablar con alguien que no conoce tu idioma: tuienes que usar su propio lenguaje.

Si quieres comunicarte con una persona de habla inglesa necesitas conocer el vocabulario y la gramática del idioma de Shakespeare.

Los ordenadores trabajan con 0 y 1 y solo conocen el llamado código máquina, algo poco práctico por eso se inventaron los llamados lenguajes de alto nivel, lenguajes que se parecen al lenguaje humano o al menos que son comprensibles por el ser humano.

Existen innumerable lenguajes de programación, habrás oído mencionar algunos.

Algunos son lenguajes de propósito general, o sea, que pueden crear programas para cualquier entorno: desde una aplicación de esritorio pra el ordenador a una de control de clima en un edificio inteligente. Entre estosos cito los más usados en la atualidad: C++, Java, Python y PHP.

Luego están los lenguajes destinados a un contexto concreto, es el caso de Javascript original. Su único entorno de trabajo posible es el entorno de las páginas web.

Actualmente este lenguaje cumple con las especificaciones ECMAScript y se ha convertido en un lenguaje de propósito general, lo que ha facilitado la aparición de aplicaciones de servidor como Node.js o Deno

El Javascript que vas a aprender en estas páginas está totalmetne enfocado al entorno de las páginas web. Vas a crear programas llamados scripts.

Pese a su nombre Javascript no tiene nada que ver con Java, este es un lenguaje de propósito general algo más complejo y más completo. Se trata de un lenguaje multiplataforma, es decir, que sirve para crear programas que pueden funcionar en cualquier ordenador y con cualquier sistema operativo. Si has hecho alguna gestión en internet eu implique firma digital es muy probable que hayas usado una aplicación desarrollada en Java.

Otra característica de Javascript es que se trata de un lenguaje interpretado es decir que el explorador lee cada instrucción del programa, la traduce (interpreta) y la ejecuta. Algo muy útil a la hora de buscar errores (depurar) scripts.

Actualmente los programas escritos con javascript funcionan prácticamente igual en cualquier ordenador en que se ejecuten. Ya son excepciones las antiguas incompatibilidades entre distitnos navegadores web.

En resumen

Escribir un programa exige un lenguaje de programación.

Cualquier lenguaje se rige por una gramática: vocabulario y reglas de uso (sintáxis).

Junto a la gramática están los tipos de datos, la materia prima con la que trabajan los programas.

Hay lenguajes de propósito general, utilizables para cualqueir entorno y otros específicos para contextos concretos. Javascript está pensado para trabajar en la web.

Un poco de historia: ¿qué es el Javascript?

Para comenzar dejar claro que Javascript es un lenguaje de programación utilizado fundamentalmetne para conseguir lque la páginas web sean dinámicas y permitir la interacción con los usuarios.

Ah, y no tiene absolutamente nada que ver con Java, pero nada de nada.

Quizás hayas oído hablar de Javascript pero también de ECMAScript, y a veces se usan como sinónimo uno de otro. Bueno en estas líneas vas a entender las diferencias y parecidos entre ambos.

Te hago un resumen de la historia de Javascript por aclarar un poco esa dualidad entre Javascript y ECMAScript, que no son exactamente lo mismo. Digamos que Javascript es un lenguaje de programación que cumple con la normativa ECMAScript

A mediados de los 90 la navegación por la recién nacida internet se repartía entre dos navegadores: Netscape y el IExplore de Microsoft. Era una competencia total.

En general la opinión mayoritaria estaba a favor de Netscape. En 1995 aparece Brendan Eich  para desarrollar, en tiempo récrod, un lenguaje enfocado totalmente a trabajar con el explorador de Netscape. Su nombre inicial fue Mocha pero pronto pasó a llamarse JavaScript, una estrategia comercial de Sun, aliada entonces de Netscape, para asociarlo con su lenguaje Java.

Microsoft respondió con su VBscript, una apuesta que acabó pronto sy fue sustituida por JScript, el javascript del IExplorer.

Consecuencia de esa batalla fueron las incompatibilidades: Microsoft y Netscape implementaban Javascript de manera diferente, algo que provocaba bastante dolores de cabeza a los programadores.

Afortunadamente y dado su rápido crecimiento, Javascript pasó a ser controlado por la ECMA, (European Computer Manufacturers Asociation ) organismo de estandarización europeo que comenzó a poner un poco de orden. Desde 1996 hasta 1999 se publican tres versiones de ECMAScript, la normativa para lenguajes de script nacidas como una evolución del Javascript de Netscape y el JScript de Microsoft.

Cuando el progreso del lenguaje parecía algo estancado, apareció Ajax, una tecnología que permitía interaccionar con un servidor en paralelo con el propio navegador. Y estaba desarrollada alrededor de Javascript. Era el año 2005 y significó el impulso definitivo a este lenguaje.

Eran los años en que Microsoft parecía gobernar el mar de Internet, Netscape desaparecía del mapa. Claro que también nacian Mozilla Firefox y Google Chrome, los enterradores de Internet Explorer.

La ECMA publicó en 2009 la versión ECMA Script 5 y posteriormente en 2015 y 2016 se publican las versiones 6 y 7. Actualmente se producen actualizaciones casi anualmente. La más reciente sería la ECMA Script 12 ( ECMA 2021).

Si quieres connocer todas las novedades de cada nueva versión del ECMAScript y las últimas actulizaciones visita el sitio oficial del organismo

Resumen

Javascript nació de la mano de Mozilla el antecesor del actual Firefox

La necesidad de estandarizar el lenguaje llevó a dejar su desarrollo de la mano de la agencia de estandarización ECMA.

La agencia ha ido y va actualizando la norma que rige el uso y funcionamiento de lenguaje.

En la práctica vas a ver ECMAScript como sinónimo de Javascript. No es exacto pero tampoco importa demasiado a nivel de desarrollador.

Javascript nació para vivir en las páginas web. Actualmente existen variantes para trabajar a nivel de servidor (NODE, React...)