Technically speaking, a script is interpreted whereas a program is compiled, but this is actually not their main difference. There is another small yet more important difference between them!
On the other hand, a program written in a programming language such as Java, C++, or Visual Basic.NET executes independently of any other application. A program is compiled into a separate set of machine language instructions that can then be executed as stand-alone any time the user wishes.
Notice: Macros of Microsoft Office are scripts written in VBA. Their purpose is to automate certain functions within Microsoft Office.
Remember! A script requires a hosting application in order to execute. A script cannot be executed as stand-alone.