FACTOID # 11: Oklahoma has the highest rate of women in State or Federal correctional facilities.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Scripting language

A scripting language, script language or extension language, is a programming language that controls software application. "Scripts" are often treated as distinct from "programs", which execute independently from any other application. At the same time they are distinct from the core code of the application, which is usually written in a different language, and by being accessible to the end user they enable the behavior of the application to be adapted to the user's needs. Scripts are often, but not always, interpreted from the source code or "semi-compiled" to bytecode which is interpreted, unlike the applications they are associated with, which are traditionally compiled to native machine code for the system on which they run. Scripting languages are nearly always embedded in the application with which they are associated. A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... Economics and commerce define an end-user as the person who uses a product. ... Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ... A diagram of the operation of a typical multi-language, multi-target compiler. ...


The name "script" is derived from the written script of the performing arts, in which dialogue is set down to be spoken by human actors. Early script languages were often called batch languages or job control languages. Such early scripting languages were created to shorten the traditional edit-compile-link-run process. The performing arts are those forms of art which differ from the plastic arts insofar as the former uses the artists own body, face and presence as a medium, and the latter uses materials such as clay, metal or paint which can be molded or transformed to create some... A diagram of the operation of a typical multi-language, multi-target compiler. ... Figure of the linking process, where object files and static libraries are assembled into a new library or executable. ...

Contents

Historical overview

The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these generated a demand for scripting, to relieve the human operator of the tedium of re-entering sequences of commands at a computer terminal keyboard, so from there were developed simple macro commands, files containing sequences of commands, which eventually developed into shellscripts. In a parallel development, the larger and more complex applications developed embedded scripting facilities, at first very rudimentary, to facilitate batch mode operation where a human operator would not be present to guide the program. Thus part of the program was devoted to interpreting instructions written by the user in a (usually quite specialised) instruction language--a computer program within a computer program. In computing, a shell is a piece of software that provides an interface for users (command line interpreter). ... Alternate uses: see Timesharing Time-sharing is an approach to interactive computing in which a single computer is used to provide apparently simultaneous interactive general-purpose computing to multiple users by sharing processor time. ... A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system. ... Insert non-formatted text hereBatch processing is the execution of a series of programs (jobs) on a computer without human interaction, when possible. ...


As scripting facilities developed they achieved Turing-completeness, which meant that they could be used to express any computer algorithm that could be expressed by any other programming language. The skills and techniques developed in application programming were brought to bear. The nascent scripting languages acquired variables, sequencing, iteration, decisions, procedures, and even modules. In time some embedded scripting languages became complex enough to be used to extend the application. Emacs, first developed in the late 1970s, is one classic example still in daily use. Most of the editing functionality of Emacs is written in its general scripting language, Emacs Lisp, around a core written in C. For the usage of this term in Turing reductions, see Turing complete set. ... This article is about the text editor. ... Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors (which we will collectively refer to as Emacs in this article. ...


Some mainstream languages, such as Lisp, adapted well to embedding within applications by providing high expressive power in a small footprint. Others, such as Tcl and Lua, were specifically designed as general purpose scripting languages that could be embedded in any application or used on their own. Other systems such as Visual Basic for Applications (VBA) provided strong integration with the automation facilities of an underlying system. Embedding of such general purpose scripting languages instead of developing a new language for each application also had obvious benefits, relieving the application developer of the need to code a language translator from scratch and allowing the user to apply skills learned elsewhere. “LISP” redirects here. ... It has been suggested that Memory-footprint be merged into this article or section. ... Tcl (originally from Tool Command Language, but nonetheless conventionally rendered as Tcl rather than TCL; and pronounced tickle) is a scripting language created by John Ousterhout. ... In computing, the Lua (pronounced LOO-ah) programming language is a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal. ... Visual Basic for Applications (VBA) is an implementation of Microsofts Visual Basic, an event driven programming language and associated integrated development environment (IDE) which is built into most Microsoft Office applications. ...


Although historically most scripting languages have been interpretive rather than compiled languages, applications requiring speed require fast extensions. QuakeC, developed for use in scripting the Quake game engine (mid-1990s), is an example of a scripting language that is compiled to bytecode which is interpreted by a bytecode interpreter or virtual machine. This isn't exactly new. In the seventies, a common system command and scripting language of DEC's RSTS/E operating system prior to version 9 of the O/S was Basic, compiled to bytecode. QuakeC is a scripting language developed in 1996 by John Carmack of id Software to program parts of the computer game Quake. ... Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ... In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. ... RSTS/E (an acronym for Resource Sharing Timesharing System Extended) was a multi-user time-shared operating system developed by Digital Equipment Corporation (DEC) (now part of Hewlett Packard) for the PDP-11 series of 16-bit minicomputers, and used primarily during the 1970s and 1980s, although some installations were...


Developed from the start to run in applets under the control of a web browser, Java provided the ultimate in multiplatform client-side scripting. Compiled to bytecode, it runs inside a Java Virtual Machine which provides security for the end user and abstracts the programming environment to simplify the programmer's task. Java has since found far more important uses in large-scale server-side scripting, however. An applet is a software component that runs in the context of another program, for example a web browser. ... Java language redirects here. ... A Java Virtual Machine (JVM) is a set of computer software programs and data structures which implements a specific virtual machine model. ...


Early web servers provided primitive scripting facilities to generate non-static web content in response to an incoming query by launching a program or shellscript to handle each individual task (Common Gateway Interface), but the relatively high cost of launching a process for each query led to the development of server systems such as ASP, PHP, and JSP, which remained memory resident and came with their own scripting languages specialised for the purpose of serving web content. In using modules scripted in Java, JSP provides a highly sophisticated software engineering infrastructure to web-based scripting. The inside/front of a Dell PowerEdge web server The term Web server can mean one of two things: A computer program that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are... The Common Gateway Interface (CGI) is a standard protocol for interfacing external application software with an information server, commonly a web server. ... Active Server Pages (ASP) is Microsofts first server-side script engine for dynamically-generated web pages. ... For other uses, see PHP (disambiguation). ... // JavaServer Pages (JSP) is a Java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a Web client request. ... Java language redirects here. ...


Some software incorporates several different scripting languages. Modern web browsers typically provide a language for writing extensions to the browser itself, and several standard embedded languages for controlling the browser, including ECMAScript (more commonly known as Javascript), CSS, and HTML. An example of a Web browser (Mozilla Firefox) A web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network. ... ECMAScript is a scripting programming language, standardized by Ecma International in the ECMA-262 specification. ... CSS redirects here. ... HTML, an initialism of HyperText Markup Language, is the predominant markup language for web pages. ...


Types of scripting languages

Job control languages and shells

Main article: Shell script

A major class of scripting languages has grown out of the automation of job control, which relates to 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. A shell script is a script written for the shell, or command line interpreter, of an operating system. ... This article or section does not adequately cite its references or sources. ... Screenshot of a sample Bash session, taken on Gentoo Linux. ... COMMAND.COM is the name for the default operating system shell (or command line interpreter) for DOS and 16/32bits versions of Windows (95/98/98 SE/Me). ... AppleScript is a scripting language devised by Apple, Inc. ...


GUI Scripting

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 "macros" when control is through simulated keypresses or mouse clicks. GUI redirects here. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... For other uses, see Macro (disambiguation) A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. ...


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 that distinguish them. Emacs Lisp, while a fully formed and capable dialect of Lisp, contains many special features that make it most useful for extending the editing functions of Emacs. An application-specific scripting language can be viewed as a domain-specific programming language specialized to a single application. A computer game is a game composed of a computer-controlled virtual universe that players interact with in order to achieve a defined goal or set of goals. ... An NPC from the video game The Elder Scrolls IV: Oblivion. ... Emacs Lisp is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors (which we will collectively refer to as Emacs in this article. ... “LISP” redirects here. ... A domain-specific programming language (domain-specific language, DSL) is a programming language designed to be useful for a specific set of tasks. ...


Web browsers

Main article: Client-side scripting

Web browsers are typically used to render HTML, but in time a host of special-purpose languages has developed to control their operation. These include ECMAScript, a very versatile procedural scripting language superficially resembling Java, Cascading style sheets, which enable style metadata to be abstracted from content, XML which can be used for content in conjunction with style metadata, as an alternative to HTML , and XSLT, a presentation language that transforms XML content into a new form. Techniques involving the combination of XML and Javascript scripting to improve the user's subjective impression of responsiveness have become significant enough to acquire a name: AJAX. The Document Object Model standard ensures that all browsers respond in a predictable manner to the same Javascript. Client-side scripting generally refers to the class of computer programs on the web that are executed client-side, by the users web browser, instead of server-side (on the web server). ... HTML, an initialism of HyperText Markup Language, is the predominant markup language for web pages. ... ECMAScript is a scripting programming language, standardized by Ecma International in the ECMA-262 specification. ... Java language redirects here. ... CSS redirects here. ... The Extensible Markup Language (XML) is a general-purpose markup language. ... HTML, an initialism of HyperText Markup Language, is the predominant markup language for web pages. ... Diagram of the basic elements and process flow of Extensible Stylesheet Language Transformations. ... AJAX redirects here. ... Hierarchy of objects in an example HTML DOM - Document Object Model The Document Object Model (DOM) is a platform- and language-independent standard object model for representing HTML or XML and related formats. ...


The Mozilla project has developed its own system for extending the user interface of the browser itself, called XUL. Mozilla was the official, public, original name of Mozilla Application Suite by the Mozilla Foundation, nowadays called SeaMonkey suite. ... XUL (pronounced zool ()), the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project for use in its cross-platform applications, such as Firefox. ...


Web servers

Main article: Server-side scripting

On the server side of the http link, application servers and other dynamic content servers such as Web content management systems provide content through a large variety of techniques and technologies typified by the scripting approach. Particularly prominent in this area are JSP, PHP, and ASP, but other developments such as Ruby on Rails have carved out a niche. Server-side scripting is a web server technology in which a users request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. ... An application server is a software engine that delivers applications to client computers or devices, typically through the internet and using the http protocol. ... A web content management system is content management system software implemented as a web application used for creating and managing HTML content. ... // JavaServer Pages (JSP) is a Java technology that allows software developers to dynamically generate HTML, XML or other types of documents in response to a Web client request. ... For other uses, see PHP (disambiguation). ... ASP is a three-letter acronym with numerous meanings in different contexts. ... Ruby on Rails is a free web application framework that aims to increase the speed and ease with which database-driven web sites can be created and offers skeleton code frameworks (scaffolding) from the outset. ...


Text processing languages

The processing of text-based records is one of the oldest uses of scripting languages. Many, such as Unix's awk, sed, and grep were originally designed to aid programmers in automating tasks that involved Unix text-based configuration and log files. Of primary importance here is the regular expression, a language developed for the formal description of the lexical structure of text, and used by all of these tools. Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... AWK is a general purpose computer language that is designed for processing text based data, either in files or data streams. ... The correct title of this article is . ... grep is a command line utility that was originally written for use with the Unix operating system. ... In computing, a regular expression is a string that is used to describe or match a set of strings, according to certain syntax rules. ...


Perl was originally designed to overcome the limitations of these tools, but has grown to be one of the most widespread general purpose scripting languages. Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ...


General-purpose dynamic languages

See also: Dynamic programming language

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. Dynamic programming language is a term used broadly in computer science to describe a class of high level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all. ... In computer science, a dynamic programming language is a kind of programming language in which programs can change their structure as they run: functions may be introduced or removed, new classes of objects may be created, new modules may appear. ...


Extension/embeddable 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 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). An example of a Web browser (Mozilla Firefox) A web browser is a software application that enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network. ... ECMAScript is a scripting programming language, standardized by Ecma International in the ECMA-262 specification. ... Mozilla was the official, public, original name of Mozilla Application Suite by the Mozilla Foundation, nowadays called SeaMonkey suite. ... SpiderMonkey is the code name for the first ever JavaScript engine, written by Brendan Eich at Netscape Communications and later released as open source. ... Yahoo! Widgets running under Windows XP with Heads Up enabled. ... Adobe Systems (pronounced a-DOE-bee IPA: ) (NASDAQ: ADBE) (LSE: ABS) is an American computer software company headquartered in San Jose, California, USA. Adobe was founded in December 1982[1] by John Warnock and Charles Geschke, who established the company after leaving Xerox PARC in order to develop and sell... Adobe Flash - previously called Shockwave Flash and Macromedia Flash - is a set of multimedia technologies developed and distributed by Adobe Systems and earlier by Macromedia. ... ActionScript is a scripting language based on ECMAScript, used primarily for the development of websites and software using the Adobe Flash Player platform (in the form of SWF files embedded into Web pages). ... Adobe Acrobat is a family of application software by Adobe Systems. ... PDF is an abbreviation with several meanings: Portable Document Format Post-doctoral fellowship Probability density function There also is an electronic design automation company named PDF Solutions. ...


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. Tcl (originally from Tool Command Language, but nonetheless conventionally rendered as Tcl rather than TCL; and pronounced tickle) is a scripting language created by John Ousterhout. ... Python is a general-purpose, high-level programming language. ... Wikibooks has a book on the topic of Perl Programming Perl is a dynamic programming language created by Larry Wall and first released in 1987. ... Ruby is a reflective, dynamic, object-oriented programming language. ...


See also

A domain-specific programming language (domain-specific language, DSL) is a programming language designed to be useful for a specific set of tasks. ... There are a lot of kinds of listing. ... For other uses, see Macro (disambiguation) A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. ... In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. ... Ousterhouts dichotomy is John Ousterhouts division of high-level languages into system programming languages and scripting languages. This distinction underlies the design of his language Tcl. ... For other uses, see Shebang. ... A web template is an element of a web template system that is used to rapidly generate and mass-produce web pages through a pre-defined schematic, layout, or finite number of programming language instructions. ...

External links

  • A study of the Script-Oriented Programming (SOP) suitability of selected languages – from The Scriptometer.
  • A Slightly Skeptical View on Scripting Languages by Dr. Nikolai Bezroukov
  • Scripting: Higher Level Programming for the 21st Century by John K. Ousterhout
  • Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java (PDF) — 2003 study
  • Scripting on the Java platform - JavaWorld
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Array programming languages (also known as vector or multidimensional languages) generalize operations on scalars to apply transparently to vectors, matrices, and higher dimensional arrays. ... See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ... A compiled language is a programming language whose implementations are typically compilers (translators which generate machine code from source code), and not interpreters (step-by-step executors of source code, where no translation takes place). ... Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. ... Curly brace or bracket programming languages are those which use balanced brackets ({ and }, also known as brace brackets or simply braces) to make blocks in their syntax or formal grammar, mainly due to being C-influenced. ... A Data-structured language is a programming language in which the data structure is a main organizing principle, representation, model, for data and logic (code) alike, in which both are stored and operated upon, i. ... In computer programming, dataflow programming implements dataflow principles and architecture, and models a program, conceptually if not physically, as a directed graph of the data flowing between operations. ... In computer science, a declarative programming language is a high-level language that describes a problem rather than defining a solution — it makes use of declarative programming. ... A domain-specific programming language (domain-specific language, DSL) is a programming language designed to be useful for a specific set of tasks. ... An esoteric programming language (sometimes shortened to esolang[1]) is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as a joke. ... Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. ... In computer science, imperative programming, as opposed to declarative programming, is a programming paradigm that describes computation in terms of a program state and statements that change the program state. ... In computer programming, an interpreted language is a programming language whose programs may be executed from source form, by an interpreter. ... Logic programming (which might better be called logical programming by analogy with mathematical programming and linear programming) is, in its broadest sense, the use of mathematical logic for computer programming. ... Machine code or machine language is a system of instructions and data directly executed by a computers central processing unit. ... For other uses, see Macro (disambiguation) A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. ... Metaprogramming is the writing of computer programs that write or manipulate other programs (or themselves) as their data or that do part of the work during compile time that is otherwise done at run time. ... This does not cite any references or sources. ... Non-English-based programming languages are computer programming languages that, unlike most well-known programming languages, do not use keywords taken from, or inspired by, the English vocabulary. ... An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming techniques such as encapsulation, inheritance, interfaces, and polymorphism. ... A computer programming language is said to adhere to the off-side rule if in it the scope of declarations (a statement block) is expressed by their indentation, i. ... This article is about the computer programming paradigm. ... Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as prototypes. ... In computer science, reflection is the process by which a computer program of the appropriate type can be modified in the process of being executed, in a manner that depends on abstract features of its code and its runtime behavior. ... A synchronous programming language is a programming language optimized for programming reactive systems, systems that are often interrupted and must respond quickly. ... Visual Programming in Mindscript A Visual programming language (VPL) is any programming language that lets users specify programs by manipulating program elements graphically rather than by specifying them textually. ...

  Results from FactBites:
 
Scripts in HTML documents (2075 words)
Scripts may be evaluated as a document loads to modify the contents of the document dynamically.
The syntax of script data depends on the scripting language.
in the header, whose script is located in an external file and is in the scripting language "text/vbscript".
Scripting language - Wikipedia, the free encyclopedia (1340 words)
Scripting languages can be interpreted or compiled, but because interpeters are simpler to write than compilers, they are interpreted at least as often as they are compiled.
Many languages for this purpose have common properties: they favor rapid development over efficiency of execution; they are often implemented with interpreters rather than compilers; and they are strong at communicating with program components written in other languages.
Scripting languages are often designed for interactive use, having many commands that can execute individually, and often have very high level operations (for example, in the classic UNIX shell (sh), most operations are programs themselves).
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m