Thursday, April 10, 2008

Scripting redirects here. For other uses, see script.Scripting languages (commonly called scripting programming languages or script languages) are computer programming languages that are typically interpreted and can be typed directly from a keyboard. Thus, scripts are often distinguished from programs, because programs are converted permanently into binaryexecutable files (i.e., zeros and ones) before they are run. Scripts remain in their original form and are interpreted command-by-command each time they are run. Scripts were created to shorten the traditional edit-compile-link-run process. The name 'script' is derived from the written script of the performing arts, in which dialogue is set down to be interpreted by actors and actresses--the programs. Early script languages were often called batch languages or job control languages. Scripting languages can also be compiled, but because interpreters are simpler to write than compilers, they are interpreted more often than they are compiled. The term scripting language is not technical, though embedding and dependence on a larger system are usually criteria. In computer games, scripts extend game logic, tailoring the game engine to particular game data. Scripts also make applications programmable from within, so that repetitive tasks can be quickly automated. Of course, not every scripting system that grows beyond its original design and delegation acquires a new name. Full-blown in-game languages such as UnrealScript exist, and JavaScript is a very influential standard, supported by virtually every browser on the market. Description Types of scripting languages

Main article: Shell script Job control languages and shells With the advent of Graphical user interfaces came a specialized kind of scripting language for controlling a computer. These languages interact with the same graphic windows, menus, buttons, and so on that a system generates. These languages are typically used to automate repetitive actions or configure a standard state. In principle, they could be used to control any application running on a GUI-based computer; but, in practice, the support for such languages depend on the application and operating system. Such languages are also called "macro languages" when control is through keyboard interaction.AutoHotkeyAutoItExpectAutomator GUI Scripting 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 that distinguish them.Action Code ScriptActionScriptAutoLISPBlobbieScript[1]Emacs LispGame Maker LanguageHyperTalkIPTSCRAELingoLotusScriptMATLABMAXScriptMaya Embedded LanguagemIRC scriptNWscriptQuakeCUnrealScriptVim Scripting LanguageVisual Basic for ApplicationsZZT-oop Application-specific languages An important type of application-specific scripting language is one used to provide custom functionality to dynamic web pages. Such languages are specialized for web applications and other Internet uses. However, most modern web programming languages are powerful enough for general-purpose programming. Web programming languagesActive Server PagesJava Server PagesColdFusionIPTSCRAELassoMIVA ScriptPHPSMXXSLT Server-sideJavaScriptJScriptVBScriptTcl Text processing languages Some languages, such as Perl, began as scripting languages but were developed into programming languages suitable for broader purposes. Other similar languages -- frequently interpreted, memory-managed, or dynamic -- have been described as "scripting languages" for these similarities, even if they are more commonly used for applications programming. They are usually not called "scripting languages" by their own users.APLBooDylanFeriteGroovyIoLispLuaMUMPS (M)newLISPNuvaPerlPHPPythonRubySchemeSmalltalkSuperCardTcl (Tool command language)Revolution General-purpose dynamic languages A 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. 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. In particular, the Mozilla implementation SpiderMonkey is embedded in several environments such as the Yahoo! Widget Engine. Other applications embedding ECMAScript implementations include the Adobe products Adobe Flash (ActionScript) and Adobe Acrobat (for scripting pdf files). Tcl was created as an extension language but has come to be used more frequently as a general purpose language in roles similar to Python, Perl, and Ruby.Ch (C/C++ interpreter)ECMAScript a.k.a. DMDScript, JavaScript, JScriptEOS Scripting LanguageFalconFeriteGameMonkeyScriptGuileICILuaPawnPythonRBScript (REALbasic Script)SquirrelTclWindows PowerShellZ-Script OthersList of programming languagesDomain-specific programming languageMacro and preprocessor languagesWeb template languagesOusterhout's dichotomy