Описание тега scripting

Scripting is a form of programming generally characterized by low formality, loose typing, and no requirement for explicit compilation. There are numerous scripting languages, and these are used in a wide variety of scenarios - command-line applications, GUIs, server-side applications, extension modules.

Scripting started out as storing a sequence of commands as a text file, and then feeding the text file into an interpreter or shell.

Early scripting-languages would just read, process, and execute one command at a time. There was no requirement to compile the script into a separate executable file. The source was the program.

Most modern scripting languages feature "interpreters" that perform an internal compilation step, and execute an intermediate code; but this is done automatically, transparently to the developer and user.

Examples of scripting languages are the Unix shells (Bourne and Korn shell, Bash, [t]csh, and zsh), Perl, and the special purpose language, AWK. Other examples include JCL (job control language), RPG, REXX, Windows/DOS BAT files, and MUMPS (used in medical applications). The world's most popular language, JavaScript, is a scripting language.

Most scripting languages support features such as:

  • dynamic typing
  • direct invocation of external commands
  • direct interaction with the file system
  • basic string processing
  • error control

Scripting languages are traditionally used for common system administration tasks like backups, and software installation and configuration.

Many scripting languages originated as special-purpose tools, and later evolved into powerful general-purpose languages over time. Examples here are Perl and JavaScript.

Over time, the distinction between scripting languages and more "traditional" compiled languages has fuzzed.

For example, interpreters for Python can actually cache its intermediate code, for faster startup times, much like programs written in traditional compiled languages. Conversely, traditional compiled languages are in some ways becoming more script-like, supporting dynamic data typing. The VAR type in the original Visual Basic is an example here, as is the dynamic variable type supported in C# 4.0.

Related tags

/questions/tagged/scripting-languages awk bash bat javascript perl php python ruby sh