"scripting language" is a sub-set of "programming language" -- they are not separate things. What most people really are referring to is the difference between a "scripting" programming language and a "compiled" one. In fact, when referring to the "language" aspect, there generally is no difference: they are all programming languages with specific syntax, keywords, built-in functions, etc.
The main difference is how they are run. With a scripting language a separate executable program is invoked each time to run a "script", which is a source code text file, and that program parses, compiles, and executes that "script" each time it is invoked. With a compiled language, the developer compiles the source code into a platform-specific executable file (typically a binary machine language) which is then executable by itself.