Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
4 user(s) are online (4 user(s) are browsing encyclopedia)

Members: 0
Guests: 4

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Scripting language

Scripting languages (commonly called scripting programming languages or script languages) are computer programming languages initially designed for scripting the operations of a computer. Early script languages were often called batch languages or job control languages . A script is more usually Interpreted language than Compiled language, but not always.

Many such languages are quite sophisticated and have been used to write elaborate programs, which are often still called scripts even though they go well beyond automating simple computer tasks. A script language can be found at almost every level of a computer system. Besides being found at the level of the operating system, they appear in computer games, web applications, word processing documents, network software and more.

=Description=

s; and they are strong at communication with program components written in other languages.

Many scripting languages emerged as tools for executing one-off tasks, particularly in system administration. One way of looking at scripts is as glue that puts several components together; thus they are widely used for creating graphical user interfaces or executing a series of commands that might otherwise have to be entered interactively through keyboard at the command line interface. The operating system usually offers some type of scripting language by default, widely known as a shell script language.

Scripts are typically stored only in their plain text form (as ASCII) and interpreter (computing), or Compiled language each time prior to being invoked.

Some scripting languages are designed for a specific domain, but often it is possible to write more general programs in that language. In many large-scale projects, a scripting language and a lower level programming language are used together, each lending its particular strengths to solve specific problems. Scripting languages are often designed for interactive use, having many commands that can execute individually, and often have very High-level programming language operations (for example, in the classic UNIX shell, most operations are programs themselves).

Such high level commands simplify the process of writing code. Programming features such as garbage collection (computer science) and bounds checking can be taken for granted. In a lower level or non-scripting language, managing memory and variables and creating data structures tends to consume more programmer effort and lines of code to complete a given task. In some situations this is well worth it for the resulting fine-grained control. The scripter typically has less flexibility to optimize a program for speed or to conserve memory.

For the reasons noted above, it is usually faster to program in a scripting language, and script files are typically much smaller than, say, equivalent C program files. The flip side can be a performance penalty: scripting languages, often interpreted, may be significantly slower to execute and may consume more memory when running. In many relevant cases, however, e.g. with small scripts of some tens of lines, the write-time advantage far outweighs the run-time disadvantage. Also, this argument gets stronger with rising programmer salaries and falling hardware costs.

However, the boundary between scripting languages and regular programming languages tends to be vague, and is blurring ever more with the emergence of new languages and integrations in this fast-changing area. In some scripting languages, an experienced programmer can accomplish a good deal of optimization if they choose. And in general, it is possible to write a script in any language (including C programming language or assembly language). In most modern systems, the latter case is very seldom recommendable, since one or more suitable script languages is usually available.

=Types of scripting languages=

==Application-specific languages==

Many large application programs include an idiomatic scripting language tailored to the needs of the application user. Likewise, many computer game systems use a custom scripting language to express the programmed actions of non-player characters and the game environment. Languages of this sort are designed for a single application and, while they may superficially resemble a specific general-purpose language (e.g. QuakeC, modeled after C) they have custom features which distinguish them.

*Action Code Script *AutoIt [http://www.autoitscript.com/autoit3/] *ActionScript *BlobbieScript [http://www.wocmud.org/Carnage/blobbieScript/] *GameMonkey Script *IRC script *Lingo programming language *QuakeC *UnrealScript *ZZT-oop *Emacs Lisp *AutoLISP *MEL [http://www.alias.com/eng/products-services/maya/technical_features/api_sdk_mel.shtml] *HScript

==Text processing languages==

The processing of text-based records is one of the oldest uses of scripting languages. Many, such as Unix s awk and, later, Perl, were originally designed to aid system administrators in automating tasks that involved Unix text-based configuration and log files. Perl is a special case -- originally intended as a report-generation language, it has grown into a full-fledged applications language in its own right. PHP was originally developed as a specialized language for creating dynamic web content, but is now used by some for general system administration tasks as well.

*Awk *Perl (but see above) *Python programming language *Ruby programming language *PHP *Sed *XSLT *Request Tracker

==Job control languages and shells==

Main article: Shell script

Another class of scripting languages has grown out of the automation of job control -- starting and controlling the behavior of system programs. Many of these languages interpreters double as command-line interfaces, such as the Unix shell or the MS-DOS COMMAND.COM. Others, such as AppleScript, add scripting capability to computing environments lacking a command-line interface.

*AppleScript *AREXX (Amiga REXX) *Bourne-Again shell *C shell *JCL *Korn shell *MS-DOS batch *REXX *Unix shell

==General-purpose dynamic languages==

Some languages, such as Perl, have begun as scripting languages but developed into programming languages suitable for broader purposes. Other similar languages -- frequently interpreted, memory-managed, dynamic -- have been described as scripting languages for these similarities, even if they are more commonly used for applications programming.

*APL programming language *ColdFusion *Dylan programming language *Jython *Perl *PHP *Pike programming language *Python programming language *Ruby programming language *Scheme programming language *Sleep programming language

==Extension/embeddable languages==

A small number of languages have been designed for the purpose of replacing application-specific scripting languages, by being embeddable in application programs. The application programmer (working in C or another systems language) includes hooks where the scripting language can control the application. These languages serve the same purpose as application-specific extension languages, but with the advantage of allowing some transfer of skills from application to application.

*ECMAScript a.k.a. ActionScript, DMDScript, JavaScript, JScript *Guile programming language *ICI programming language *Lua programming language *Sleep programming language *Tcl (Tool command language)

JavaScript began as and primarily still is a language for scripting inside of web browsers, however, the standardization of the language as ECMAScript has made it popular as a general purpose embeddable language.

Expect is one of the first extensions of Tcl, and was widely used for controlling terminal-driven tools such Telnet, ssh, and ftp.

==Others==

*BeanShell (scripting for Java) *Brain programming language *CobolScript *Ch_interpreter (C/C++ interpreter) *HyperTalk *E programming language *Escapade (server side scripting) *Euphoria programming language *F-Script programming language *Groovy programming language *KiXtart *LoadRunner *mIRC script *Miva *Mondrian programming language *MUMPS (M) *NWScript *Object REXX *Pliant *REBOL programming language *ScriptBasic *Scriptol *Shorthand Language *Simkin *StepTalk *UserTalk *VBScript programming language *Visual DialogScript

=See also=

*Domain-specific programming language LoadRunner (from Mercury Interactive Corp) uses ANSI C (or Java, or Visual Basic) as scripting language

=External links=

*[http://merd.sourceforge.net/pixel/language-study/scripting-language/ A study of the Script-Oriented Programming (SOP) suitability of selected languages] – from The Scriptometer. *[http://www.hotscripts.com Hotscripts.com] -A collection of many scripts written and an assortment of languages