Thinking of it from this approach would be more approriate I think:
The processor will accept binary or assembly code as is without any extra effort on your part. These will work on only 1 processor type or machine
Higher level languages like C++ or QBASIC, ALGOL and so on require another program to translate your code into assembly/binary before it will process. This is also restricted to certain processor types .
Languages like Java and .NET languages require an extra program to convert your code into something called an Intermediate Language (IL). This language is used as a common ground to run on different systems and processor types without you the programmer having to rewrite any code. On the different systems they have an environment (a framework) that will finish compiling the code into assembly/binary for that machines specific processor.
Scripting languages are strictly interpreted. That means no new files have to be created or translated for your program to work. A separate program called a Host actually does the work. Each host will differ depending on the environment, but like the other languages mentioned, you only got to write it once.
Does that mean Scripting can't be considered programming? I think it can be considered just as much programming as any of the other languages. ALL LANGUAGES HAVE TO BE TURNED INTO BINARY/ASSEMBLY AT ONE POINT OR ANOTHER. The difference being is how many other programs are you using to do it.
Binary Assembly --> Processor
C++ --> Binary Assembly --> Processor
Java/.NET --> Intermediate Language --> Framework --> Binary/Assembly --> Processor
JavaScript/VBScript --> Host Interpreter --> Binary/Assembly --> Processor