Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

204
Vistas
¿Los entornos de tiempo de ejecución y los compiladores/intérpretes son lo mismo?

Estoy empezando con Node.js y tengo bastante experiencia en Python y C++. Llegué a saber que Node.js es un entorno de tiempo de ejecución, pero me está costando entender lo que realmente le hace a un código que lo hace diferente de un compilador. Sería mejor si alguien pudiera explicar en qué se diferencian específicamente los entornos de tiempo de ejecución de los compiladores e intérpretes típicos.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Vamos a tomarlo de esta manera:

Node.js es un tiempo de ejecución de JavaScript basado en el motor de JavaScript V8 de Chrome.

V8 es el motor Google Javascript, el mismo motor es utilizado por Google Chrome. Hay otros motores JS como SpiderMonkey utilizado por Firefox, JavaScriptCore utilizado por Safari y Edge se basó originalmente en Chakra, pero se ha reconstruido para utilizar el motor V8.

Primero debemos entender la relación antes de pasar a cómo funciona el V8.

El motor de JavaScript es independiente del navegador en el que está alojado. Esta característica clave permitió el surgimiento de Node.js. V8 fue elegido para ser el motor que impulsó Node.js.

Dado que V8 es independiente y de código abierto, podemos integrarlo en nuestros programas C++, y Nodejs en sí mismo es solo un programa escrito en C++. Nodejs tomó el V8 y lo mejoró agregando características que necesita un servidor.

JavaScript generalmente se considera un lenguaje interpretado, pero los motores de JavaScript modernos ya no solo interpretan JavaScript, sino que lo compilan.

Dado que tiene experiencia en C++, C++ realiza lo que se denomina compilación anticipada (AOT), el código se transforma durante la compilación en código de máquina antes de la ejecución.

JavaScript en el otro lado es compilado internamente por V8 con compilación justo a tiempo (JIT) durante la ejecución. Mientras el código está siendo ejecutado por el intérprete, hará un seguimiento de las funciones que se llaman con mucha frecuencia y las marcará como funciones activas, luego las compilará en código de máquina y las almacenará.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Un compilador es un programa que convierte código de un lenguaje a otro. En Java, por ejemplo, tenemos un compilador de java, javac , que puede ejecutar en sus archivos .java para compilar su código en un archivo java independiente de la plataforma (puede ser entendido y ejecutado por cualquier jvm). Dado que es nuevo en JavaScript, se encontrará con los transpiladores (como babel) que convierten su código JavaScript de próxima generación en un código JavaScript heredado que puede ser manejado por todos los navegadores (incluso los antiguos). Un tiempo de ejecución es un concepto más vago. Puede pasar de ser un conjunto de funciones para ejecutar un código compilado en un sistema operativo específico a ser todo el entorno en el que se ejecuta su programa. Para el caso de NodeJS, es el entorno en el que puede ejecutar un programa JavaScript fuera del navegador. Tomó el motor V8 de Chrome que ejecuta JavaScript en el navegador Chrome y lo hizo disponible en todas partes. Así es como JavaScript pasó de ser un lenguaje de programación del lado del cliente que se ejecuta solo en el navegador a un lenguaje de programación del lado del servidor que puede ejecutarse en servidores equipados con el entorno de tiempo de ejecución NodeJS.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Algunos puntos simples que pueden ayudar:

  1. El código C/C++ será compilado por el compilador C/C++ en el código de la máquina y no necesitará ningún entorno de tiempo de ejecución para ejecutarse (principalmente, excepto las bibliotecas de tiempo de ejecución)

  2. El código de Python necesita un intérprete de Python para ejecutarlo. Como dices que tienes experiencia en C++/Pythons, debes estar familiarizado con todos estos detalles

  3. JavaScript estaba destinado a ejecutarse en el navegador y lo hace principalmente, sin embargo, algunas personas inteligentes pensaron en ejecutarlo fuera de los navegadores y crearon el motor de ejecución de JavaScript (que es una especie de ejecutor de JavaScript independiente) y Node.js es solo uno de ellos. . Simplemente ejecuta el código JavaScript fuera del navegador por sí mismo. La ejecución sigue siendo la interpretación del código JavaScript, por lo que es solo un intérprete con muchas funciones de soporte para administrar las dependencias del tiempo de ejecución, la administración de paquetes, etc.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda