Originalmente denominado LiveScript, fue desarrollado por por Netscape Communications en 1995 para crear aplicaciones de internet en el cliente.
Mas o menos en la misma epoca, Sun Microsystems lanzó el lenguaje de programación JAVA (que originalmente fue llamado Oak), el que adquirio rapidamente popularida asi que por razones netamente comerciales se lecambia el nombre a JavaScript.
La version 1.0 apareció con la version 2.0 del navegador de la misma empresa y mas tarde es incorporado en el iExplorer 3.0 de MiscroSoft. Poco tiempo después aparece tambien el VBScript (Visual Basic Script) de Microsoft, un buen competidor.
Hoy en dia esta estandarizado en todos los navegadores.
Un script es una secuencia de ordenes, en un determinado lenguaje, que debe ser ejecutado por un cliente Web o navegador de manera local. Actualmente los dos lenguajes de script mas usados son JavaScript y VBScript. La inclusión de scripts en los documentos HTML hace que éstos sean más inteligentes. El contenido se genera en forma dinámica, mientras que los valores introducidos en los formularios pueden comprobar localmente, sin necesidad de contar con un servidor ni emplear un cierto tiempo en ello. A pesar del nombre, JavaScript, este lenguaje tiene poco que ver con JAVA.
Actualmente los navegadores Web mas usados son Chrome, FireFox, Netscape Navigator e iExplorer, ambos soportan JavaScript, pero solo el iExplorer soporta VBScript.
Es un lenguaje interpretado y no es compilado.
Es una libreria gratuita en JavaScript. Es decir agregar funciones avanzadas con el menor esfuerzo.
Es un entorno de ejecución para JavaScript construido con el motor de JavaScript V8 de Chrome. Usa un modelo de operaciones E/S sin bloqueo y orientado a eventos, que lo hace liviano y eficiente. El ecosistema de paquetes de Node.js, npm, es el ecosistema mas grande de librerías de código abierto en el mundo.
La meta Node es "proporcionar una manera fácil para construir programas de red escalables". Cuál es el problema con los programas de servidor actuales ? En los lenguajes como Java y PHP, cada conexión genera un nuevo hilo que potencialmente viene acompañado de 2 MB de memoria. En un sistema que tiene 8 GB de RAM, esto da un número máximo teórico de conexiones concurrentes de cerca de 4.000 usuarios. A medida que crece su base de clientes, si usted desea que su aplicación soporte más usuarios, necesitará agregar más y más servidores. Desde luego, esto suma en cuanto a los costos de servidor del negocio, a los costos de tráfico, los costos laborales, y más. Además de estos costos están los costos por los problemas técnicos potenciales — un usuario puede estar usando diferentes servidores para cada solicitud, así que cualquier recurso compartido debe almacenarse en todos los servidores. Por todas estas razones, el cuello de botella en toda la arquitectura de aplicación Web (incluyendo el rendimiento del tráfico, la velocidad de procesador y la velocidad de memoria) era el número máximo de conexiones concurrentes que podía manejar un servidor.
Node resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node. Node también afirma que nunca se quedará en punto muerto, porque no se permiten bloqueos y porque no se bloquea directamente para llamados E/S. Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes.
Node no es como Apache o Tomcat que de por si uno los instala y están listo. A Node hay que instalarle los módulos que Uds necesite.