You write code, and then a different program actually runs it. That program is the runtime: Node for JavaScript, CPython for Python, the JVM for Java. Your file is inert on its own, which is why the same code can behave differently on two machines.
Runtimes also do plenty you never asked for — most ship a garbage collector that reclaims memory you're finished with, convenient and slightly slow. Rust declines the arrangement entirely. One confusion worth heading off: "runtime" also means the period while a program is running, as in "errors show up at runtime." Same word, different part of speech.
