It's all shades of grey. Look at C#, it's a statically-typed high-level language which runs in a VM, but can also be compiled to native code. It has a massive standard library and can do all sorts of script-y things (see eg, top-level statements), but can also be tightly optimized to avoid GC allocations. You can mess with pointers in unsafe blocks.
The only thing it really can't do is kernel code.
Even C++ is incorporating more and more high-level constructs.
The only thing it really can't do is kernel code.
Even C++ is incorporating more and more high-level constructs.