Unless you want to say that people who earn their living writing Perl scripts and shell scripts aren't programmers, I'd have to put "scripting" as a subset of "programming". You might need to clarify what "There is no difference." If the question is "Are script writers bona-fide programmers as opposed to code monkeys?", I'll weigh in with "Yes, they're programmers." Obviously it will depend on what they're writing, but you'd say the same with a C programmer.
Whatever separates programmers from non-programmers, it definitely isn't that one needs a compiler and one doesn't.
... generally scripting means writing some commands run line by line, not compiled.
Programming generally means writing some heavy weight code that is compiled into machine code.
What about QuickBasic? It's considered "programming" even though it is interpreted at run time.
Personally, I don't make any distinction between them, just for that reason. Gone are the days when "scripting" was generally for operating system communication and "programming" was for applications and data manipulation.
There is some unique dangers in doing scripptig as well as benfits (of course if you do Python). But you really can not generalize as it not only depends on programming language and nature of program but also clarity of mind and expression of the writer. By the danger I mean attitude not to document the thing as it just a quick hack.
Certain languages can be used for scripting within programs written with perhaps other languages. Interpreted languages like Python can be used for scripting and regular programming. The Python interpreter can be packaged into a relatively small linked library file.