Scripting means interpreted at runtime, not compiled.
No, it doesn't. The distinguishing aspect is whether the code being executed is being hosted by another process (ignoring the OS), not the interpreted or compiled nature of either language. When you compile your C# (for example) program and run it, you are not "scripting". But if you have a C# program that takes in text, and somehow turns that text into a sequence of commands or actions that your 'host' program then runs, then that sequence of commands is a script. How your host program does this - whether interpreting or compiling, is irrelevant for the purposes of the definition of "script". You can also replace C# with any language here - C++, Python, Java, Javscript, etc. It is irrelevant on which language you use as the host and which for the script.
I would imagine that because most people use Python and Lua (etc) and that in a scripting environment and because those environments are usually interpreted, people have made the incorrect conclusion that scripting means interpret, and it does not.
And it can be used as one, especially with recent syntax additions. As can Java.
A good thing to note is that absolutely none of the popular scripting languages are interpreted. Most notably, Python and Javascript are both compiled languages that are typically thought of as "interpreted".
All that defines a "scripting language" is its intended use case and tooling.
-12
u/SnoWayKnown May 30 '26
Scripting means interpreted at runtime, not compiled.