웹 서버에 대해 공부하던 중 다음과 같은 node.js에 대한 꺼무위키의 설명을 보았다.

??? 런타임 환경 ???
런타임 환경이라니 너무 애매모호한 개념이다.
이번 포스트에서는 이 애매모호한 런타임이 무엇인지 확실하게 알아보고자 한다.
잘 생각해보자. 인간은 한국어, 영어, 프랑스어 등등 인간의 언어를 구사하기 위한 실행 환경이 필요하지 않다. 우리는 해당 언어의 문법과 단어를 알고 있기만 하면 입으로 그 언어를 구사할 수 있다. 우리는 언어를 구사하는데 특별한 기계 장치가 필요하지 않다.
하지만 컴퓨터는 별도의 프로그램 없이는 해당 언어를 구사할 수 없다. 파이썬에 대해 빠삭하게 알고 있는 프로그래머가 vscode 같은 코드 에디터에 아무리 완벽한 파이썬 코드를 짰다고 해도 해당 컴퓨터에 파이썬 코드를 해석할 인터프리터가 설치되어있지 않으면 파이썬 코드를 실행시킬 수 없다.
프로그래밍 언어를 실행시키기 위한 실행 환경을 런타임이라고 한다.
런타임은 컴파일러와 인터프리터, 라이브러리, 디버거 등을 포함하는 개념이다.
파이썬으로 치면 파이썬 인터프리터와 표준 라이브러리 등을 파이썬의 런타임이라고 할 수 있고,
자바로 치면 자바 컴파일러, JVM, 표준 라이브러리를 포함한 JDK이 자바의 런타임이라고 할 수 있고,
문제의 자바스크립트로 치면 V8 엔진, 라이브러리 등을 자바스크립트의 런타임이라고 할 수 있다.
파이썬, 자바, C에서는 딱히 런타임이란 단어를 사용하지 않고 자바스크립트에서만 런타임이라는 단어를 사용하는 이유는 자바스크립트가 원래는 브라우저에 종속된 언어였는데, 추후에 브라우저에서 떨어져 나와 독립적인 런타임을 구축한 언어이기 때문이다.