No matter how widespread this term is there is not currently a single accepted definition for a scripting language or scripting, it is rather determined by example and convention.

In practice, people tend to view languages like Perl and Python as “scripting languages”, largely because they see that you "run the source" (i.e., pass the file to an interpreter).

This is unfortunate.

I rather prefer Larry Wall's (author of Perl) definition of a "script": something that you write to accomplish a quick job at hand, as opposed to a "program": something you write with the intention of putting it into some sort of production. It's a little difficult for most people to get their hands around this definition, though, because it means that you can have things like C scripts and shell programs.

Based on this “script” vs. “program” distinction, a scripting language is one in which people usually write (or think they write) scripts, and a programming language is one in which they write programs. You can come up with rules of thumb, e.g. scripting languages tend to be interpreted but it is easy to find exceptions to any of them.

In short, I think that the "whether it's a script or program depends on what you do with it" approach is correct.


If you decide it's not that you like this node very much and want to do the reverse of upvote this node, please /msg me with an explanation.