The distinction between a "scripting" language and a "real" language is quite arbitrary, and the lines are very blurry. The difference used to be that scripting languages were interpreted, while "real" languages were compiled. But these days, many languages are hybrids, or somewhere between. Some languages can be used either way.
C++, for example, is usually compiled, but not always. C# is "tokenized," only partially compiled. JavaScript is a scripting language, but bits of it are compiled while it runs. JavaScript is an example of a language that is often seen as "not a real language," but amazing things are done with it, including a fully functioning Linux kernel. http://bellard.org/jslinux/ Given what it can do, it's hard to argue that it isn't a "real" language.
Don't get so hung up on the distinction between scripting and "programming." If you can do one, you can do the other.