Scripting Languages


Scripting languages assume that a collection of useful components already exist in other languages. They are intended not for writing applications from scratch but rather for combining components. For example, Unix shell scripts are used to assemble filter programs into pipelines such as
   ls | wc    # Counts the number of files and directories.

Scripting Languages Are Generally Typeless.
To simplify the task of connecting components, scripting languages tend to be typeless. All things look and behave the same so that they are interchangeable. For example, in Tcl or Visual Basic a variable can hold a string one moment and an integer the next. Code and data are often interchangeable, so that a program can write another program and then execute it on the fly. Scripting languages are often string-oriented, as this provides a uniform representation for many different things. A typeless language makes it much easier to hook together components.

Scripting Languages Are interpreted.
Scripting languages are usually interpreted, whereas system programming languages are usually compiled. Interpreted languages provide rapid turnaround during development by eliminating compile times. Interpreters also make applications more flexible by allowing users to program the applications at runtime. Interpreters also allow powerful effects to be achieved by generating code on the fly.