Scripting Languages

Someone once thought it would be a good idea to define a category of languages for “scripting.” This actually happened. But what do people mean by “scripting language,” and what is it that a scripting language does for us?

Definitions

There is no single definition of scripting language that everyone will agree upon. Still, here are some attempts (in order of increasing inclusiveness):

Purists might object to the last definition, but the truth is that most people call fully general purpose languages like Python and Ruby scripting languages. However, the term dynamic language is becoming more popular, and covers nearly all scripting languages (including the general puprose ones).

Motivation

Reasons to study scripting languages:

Application Areas

Scripting is used in

Characteristics

Scripting languages may be hard to define, but many programmers know one when they see one. They tend to, but are not required to:

Exercise: Describe in a few paragraphs why C is not a scripting language.
Exercise: Defend the statement: “The line between high-level languages and scripting languages is already pretty blurry.”
Exercise: Read up on BeanShell and Groovy (Wikipedia articles are an acceptable place to start).

Readings

References

Essays, Articles, Opinions, and Papers

Exercise: In the Java vs. Python article, the author seems to not know that Java has unchecked exceptions, inner classes, generics, or autoboxing. What other misconceptions about Java can you spot?