Hola Mundo en Javascript
SOLUCIONARIO
Hola Mundo en Javascript
2024-08-30
Por
Occam's Razor

Esta semana nos introducimos en el mundo de la programación web del lado cliente con JavaScript.... o ECMAScript si lo preferís
#!/usr/bin/nodejs

// Esta es una línea de comentario
/* Y este un comentario de
   varias líneas */
console.log ("Hola Mundo!!");
// A partir de ES6
console.log (`Este es un mensaje 
de varias línea de texto 
en JavaScript`);

Javascript es el lenguaje utilizado por los Browsers para ejecutar código en la parte cliente, es decir, en el browser mismo. Se trata de un lenguaje interpretado (en la mayoría de los casos), y el interprete suele estar integrado en el explorador. El lanzamiento de node.js permitió utilizar este lenguaje para desarrollar aplicaciones completas y no solo añadir interactividad a las páginas web.

Los programas JavaScript suele utilizar la extensión .js.

Javascript tiene una sintaxis muy similar a la de C o Java, incluyendo la forma en la que se añaden comentarios al programa con los caracteres // o /* ... */. Al igual que hemos visto en otros lenguajes, las comillas invertidas se pueden utilizar para definir cadenas de caracteres multi-línea.

La forma de imprimir mensajes varia según el entorno en el que se este ejecutando nuestro programa, pero el uso de la consola suele estar disponible en todos los casos. Cuando utilizamos JavaScript en el explorador, normalmente utilizaremos la página web para mostrar los resultados de nuestro programa.

Dejando a un lado que JavaScript utiliza normalmente la página HTML en la que se ejecuta para mostrar información (caso en el que los retornos de carro son irrelevantes y son los tags HTML los que indican si hay un retorno de carro o no), console.Log imprime cada una de las cadenas que recibe en una línea, puesto que se concibió originariamente como una función para depuración.

SABÍAS QUE

El organismo de estandarización ECMA definió el llamado ECMAScript para tratar de definir una versión estándar de JavaScript. ECMAScript cubre más lenguajes que JavaScript y normalmente se utiliza este término cuando hablamos de aplicaciones servidor o servicios utilizando node.js

Existen distintas versiones de JavaScript normalmente conocidas como ESX donde X es un número entero. Cada versión añade nuevas funcionalidades al lenguaje. Por ejemplo, en el código de esta sección, podemos ver como utilizar las comillas invertidas para definir una cadena de caracteres multilínea… Esta capacidad solo está disponible a partir de la versión 6 del lenguajge (ES6).

Para ejecutar el programa, podéis instalar node.js o incluirlo en una página web y ejecutarlo en el explorador… si bien, esa última opción es probablemente más engorrosa.

En cualquier caso, el código os lo mostramos a continuación. Solo tenéis que abrir esta página en un explorador y acceder a la consola JavaScript. La forma de hacer esto último dependerá del explorador que utilicéis.

<html>
  <body>
    <script>
      console.log ("Hello World!\n");
    </script>
  </body>
</html>

El origen de JavaScript está estrechamente ligado al desarrollo de la web y los navegadores. En aquellos tiempos (mediados de los noventa), si bien era posible generar páginas dinámicamente utilizando tecnologías como CGI (Common Gateway Interface), una vez que la página se cargaba en el explorador, no había mucho que hacer. Netscape Navigator era el browser mas usado, y en 1995, la compañía decidió añadir un lenguaje de script al navegador para poder dar capacidades dinámicas a las páginas en la parte cliente, para lo cual siguieron dos caminos…. La integración del lenguaje Java recién lanzado por Sun Microsystems, o integrar un intérprete de Scheme (algo así como una versión reducida de Lisp fácil de integrar en otros programas). Al final, Java se hizo popular, y scheme/lisp nunca lo fueron, así que Netscape finalmente desarrollo un nuevo lenguaje con una sintaxis parecida a la de Java.

Ese lenguaje inicial se llamo LiveScript, pero en pocos meses se renombró como JavaScript. Se dice que el nombre fue cambiado para aprovechar el tirón de Java y la verdad que durante algún tiempo la gente pensaba que se trataba del mismo lenguaje o una variante interpretada de Java.

Netscape fue el líder indiscutible como browser web durante algún tiempo. Microsoft Explorer fue ganando popularidad gracias a estrategias que años más tarde acabarían siendo condenadas en los tribunales. De cualquier forma, la guerra de los navegadores había comenzado. Fue un tiempo duro para los desarrolladores, puesto que tanto Netscape como MS explorer añadían su características únicas y peculiares que efectivamente hacían que las páginas diseñadas para uno no se visualizaran correctamente en el otro. La versión de JavaScript de Microsoft se llamó JScript.

SOY JOVEN

Si bien, Netscape y Explorer fueron los protagonistas de la guerra de los browsers, en los primeros tiempos de la web, existió otro browser llamado Mosaic. Más concreta mente NCSA Mosaic, puesto que fué desarrollado por el National Center for SuperComputing Application perteneciente a la Universidad de Illinois. NCSA Mosaic fué el primer browser gráfico para navegar la web y si versión inicial fue para sistemas UNIX sobre X-Windows.

A partir de ahí Microsoft Explorer se convirtió en el lider indiscutible y JScript y sus peculiaridades en el estándar de facto. Esto duraría hasta que Mozilla lanzase Firefox allá por el 2004. Mozilla participaba activamente en el proceso de estandarización a través de ECMA (European Computer Manufacturers Association) International y de la mano de Macromedia (los creadores de Flash, ahora parte de Adobe) desarrollan el estándar ECMAScript for XML (E4X). Macromedia estaba implementando E4X en su lenguaje ActionScript 3 y la idea era que ActionScript 3 se estandarizara como ECMAScript 4. Adobe lanzó Tamarin una máquina virtual con capacidades JIT cuya intención era ser usada para ejecutar ES4. Tamarin era parte de la infraestructura para la ejecución de Flash y la intención era la de unificar los lenguajes en la parte cliente. Sin embargo, ES4 y ActionScript3 eran tan diferentes que esta iniciativa no cuajó.

En 2005, Jesse James Garret, introduce el concepto de AJAX como una serie de tecnologías basadas en JavaScript para permitir la carga de datos en segundo plano en aplicaciones web… Fué esta tecnología la que le dio el empujón final a JavaScript para alcanzar la popularidad que tiene hoy en día.

Algunos años más tarde, en 2008, Google lanza Chrome con un novedoso motor JavaScript con capacidades JIT llamado V8, el cual mejoró notablemente el rendimiento del código JavaScript el cual, durante algún tiempo hizo sufrir a los pobres internatutas.

SOY NOVATO

JIT son las siglas de Just-In-Time, un término que normalmente se asocia a compiladores que trabajan de forma dinámica, los cuales se utilizan en lenguajes interpretados para mejorar el rendimiento. El compilador JIT lo que hace es compilar el programa interpretado (o partes de él) a código máquina nativo, de forma que su velocidad de ejecución se reduce drásticamente.

Puesto que el proceso de compilación requiere un cierto tiempo, estos motores con capacidades JIT, normalmente no compilan todo él código interpretado, sino que, o bien lo hacen de forma incremental, según lo van necesitando o, los más sofisticados, detectan que partes del programa necesitan ejecutarse más rápido y esas son las que compilan. Esas partes son las llamadas Hot Spots o puntos calientes.

A finales de 2009, se publica el estándar ECMAScript5 (ES5), el primero en el que se intenta combinar todas las características importantes del lenguaje y llevarlo al siguiente nivel. Esta fué,digamos, la primera versión unificada del lenguaje.

JavaScript (o ECMAScript más correctamente) siguió desarrollandose y ECMAScript 6 vio la luz en 2015. Y a partir de ese momento se han ido publicando revisiones anuales del estandar. En el momento de escribir este texto, ES11 es la última versión definida, sin embargo, solo Firefox soporta versions superiors a ES7. La versión

SABIAS QUE..

ES.Next es un nombre especial utilizado para referirse a la siguiente versión del lenguaje…

Resumen

  • Lenguaje Interpretado
  • Extension: js
  • Terminador de líneas : ;
  • Agrupa instrucciones con : { instrucciones }
  • Comentarios multilinea : /* comentario */
  • Comentarios misma línea: //
  • Delimitador de cadenas: "cadena"
  • Puedes imprimir textos con console.log (Añade retorno de carro)
  • Soporte cadenas múltilínea: `cadena multilinea`
  • No Soporta HERE-DOCS
  • Punto de Entrada: Función main

SOBRE Occam's Razor
Somos una revista libre que intenta explicar de forma sencilla conceptos tecnológicos y científicos de los que no podemos escapar. Al final, todo es más fácil de lo que parece!

 
Tu publicidad aquí :)