A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.
A compiled language is a programming language whose implementations are typically compilers, and not interpreters. The term is somewhat vague. In principle, any language can be implemented with a compiler or with an interpreter.
To understand the difference between a scripting language and a programming language, one has to understand why scripting languages were born.
Initially, there were programming languages that was written to build programs like excel, word, browsers, games and etc. These programs were built with languages like c and java. Overtime, these programs needed a way for users to create new functionality, so they had to provide an interface to their bytecode and hence scripting languages were born.
Note : Programming language refers to compiled language here.