Let us put together everything that one must know about Programming versus Scripting.
There are Programming languages, there are Scripting languages and then there are also those which sit somewhere Amidst Programming and Scripting.
Let us start with some Examples:
Programming: C, C++, Java, Pascal etc
The very basic difference between the two is that scripting languages DO NOT require the compilation step and are rather interpreted. Compiled languages have compilers converting source code to machine code where as interpreters do a step by step execution of source code. Scripting languages are programming languages which need not be compiled before running.
Scripting languages are interpreted within another program (like interpreted on a browser). The compiled result is stand alone.
Scripting languages are easier to learn relatively as compared to programming languages.
A scripting language usually sits behind some programming language and has less ability to access the computer hardware or software features (like a file system).
Scripting languages generally take less lines of code, less code intensive where as a programming language might have its own paradigm and structure that needs to be addressed.
Scripting languages DO NOT create any binaries where as programming languages do.
Generally, compiled code run faster than interpreted programs. Though scripting languages are slower, they can do some powerful job.
Updating a scripting language is easier than a traditional programming language.
However with what we have today, there is hardly that difference which can actually distinguish between the two.
Per say, we can design an interpreter for Java language and use it as a scripting language. So it is mostly about environment than language.
We can find an example language which has ‘this’ property of scripting also having ‘that’ property of programming. So, all this today is mostly theoretical knowledge of how it existed in the past days of programming.
With all the known properties above, let us also understand that a programming language is generally used to code an application from scratch. A scripting language is used to operate, manipulate, customize and automate the facilities of an existing system. The scripting language is a mechanism for exposing the functionality of a system through its interface.