Scripting language

Scripting languages ​​(often also script languages) are languages ​​that are mainly intended for small, manageable programs. They often give up certain language elements whose benefits come into play only when working on larger projects. Instance, it is usually omitted in scripting languages ​​on the declaration of variables forced - advantageous for quickly creating small programs (see also prototyping), at large, however, disadvantageous, for example due to the lack of verification possibility of typos in variable names.

Programs that are written in scripting languages, including scripts or scripts are called, while in the operating environment of Microsoft usually the term macro is used. Scripts are almost exclusively delivered in the form of source code files, so as to enable easy editing and customizing the program.

  • 3.2.1 Examples
  • 3.3.1 Examples
  • 3.4.1 Examples: server side
  • 3.4.2 Examples: client side
  • 3.5.1 Examples: specialized languages
  • 3.5.2 Examples: general-purpose languages

Features

Often, existing features are:

  • Implicitly declared variables (also includes dynamic function name)
  • Dynamic typing,
  • Automatic memory management, especially garbage collection,
  • Dynamic class membership or prototype-based inheritance,
  • Immediate execution by interpretation of the source text without separate compilation phase.

Some scripting language, the program code itself, as other data can also be manipulated, making the tongue more flexible.

The applications and properties of conventional programming languages ​​and scripting languages ​​overlap now strong ( see the section definition), which is why a strict separation between conventional programming languages ​​and scripting languages ​​is rarely possible.

Demarcation

From an architectural point of view scripting languages ​​are often used to build from existing components, an application program. This " external " components themselves are developed in a programming language. Example of this is a shell script that calls programs. These programs are generally developed in different programming languages. Another example is the BPEL language used to describe the business processes. This invokes Web services that are developed in different programming languages ​​(Java, C #, ...).

Were scripting languages ​​initially used only for smaller automation, today they are used in areas that were previously reserved for traditional programming languages. The difference in speed was reduced to static languages ​​Improvements in the interpreters. In addition, variables for better error checking can be declared optional in some of the independent programming languages. With modern scripting languages ​​can therefore many applications, including analysis of data, are implemented entirely dispensing with external programs.

Categories

Command line interpreter

Some scripting languages ​​are derived from the command-line interpreters of operating systems. The interpreters are primarily for interactive use, ie for entering commands, is designed. The input language is to variables, arithmetic expressions, control structures ( if, while ) and other extended, thus enabling the automation of tasks (eg, the silent installation ) by " small programs " in files are written. These files can then be executed by the interpreter. The files are called by the operating system Unix shell scripts ( run from a Unix sh, csh ... ) or under DOS and Windows also batch scripts ( executed by command.com and cmd.exe).

Must be differentiated command line interpreter of interactive languages ​​( such as Lisp, Python, Tcl or Perl in the debugger ), which can perform interactive program sections for testing and debugging, but are not as tightly integrated with the operating system.

Examples

  • Sh - Unix Bourne shell ( the classic Unix shell )
  • Bash - GNU replacement and expansion of the sh shell
  • Ksh - Korn shell, one of the further development of the classic sh shell
  • Csh - BSD shell ( Unix versions from Berkeley )
  • Cmd.exe - command interpreter from newer versions of Windows from Windows NT
  • Windows PowerShell - command interpreter for Microsoft Windows
  • TACL - command interpreter of tandem systems

Scripting languages ​​that are available as a library

Examples

  • GNU Guile - GNU Extension Language
  • Lua - scripting language to embed in programs, often found in computer games
  • Angel Script - scripting language to embed in programs, often found in computer games
  • S-Lang - Cross-platform scripting language to embed in programs
  • Sleep - written in Java scripting language to embed in Java programs
  • Squirrel - by Lua inspired scripting language with C- like syntax
  • Tcl - Tool Command Language by J. Ousterhout
  • VBScript and JScript - standard scripting languages ​​in newer versions of Windows
  • Windows PowerShell - Microsoft's new scripting language to embed in NET programs.

Scripting languages ​​of various programs

Scripting languages ​​can also be used in application programs to automate tasks or by expanding the capabilities of the program. Partly also a part of the functionality of the program is realized even in this scripting language. It enables users to extend the functionality of such a program quickly with new features or modify existing ones, without the program to rewrite itself. These extensions can even be so far-reaching that the program does completely new tasks with the previous program - have nothing in common - from the user's perspective. So from the Emacs text editor were also an e -mail program ( Wanderlust ), or a Web browser ( Emacs -W3 ).

Unlike plug-in macros are more flexible and are used mainly for small automation systems.

Examples

  • AppleScript - scripting language of Mac OS
  • AutoHotkey - a scripting language for Windows and Windows programs compilable
  • AutoIt - an alternative to Windows Script Host
  • C- Script - ajar at C script language of 3D Engine A6, or 3D Game Studio
  • Emacs Lisp - scripting language Emacs
  • LPC - C like language for MUDs
  • Python - different, especially open source programs (eg, Apache OpenOffice, Blender and GIMP ) can be thus Scripting
  • OpenOffice Basic - contained in OpenOffice Basic macro language, similar to VBA in MS Office
  • QuakeC - scripting language of the computer game Quake
  • RapidBATCH - a scripting language for Windows
  • REXX - especially under OS / 2 is used as a macro language (eg, in the " Advanced Editor " EPM ).
  • Tcl - AOLserver used in the macro language
  • XTalk - scripting language of HyperCard (Mac OS 9), SuperCard (Mac OS 9 and Mac OS X), Live Code (Mac OS X, Windows, Linux)
  • UnrealScript - scripting language of the Unreal Engine
  • Vim script language
  • VBA (Visual Basic for Applications) - scripting language for Microsoft products; is also compilable
  • VBScript and JScript - standard scripting languages ​​in newer versions of Windows

Scripting languages ​​on the WWW

Furthermore, integrated client-side scripting languages ​​in the web pages themselves and executed in the browsers.

Examples: server side

  • ColdFusion Markup Language - Tags and functions for the ColdFusion Application Server
  • DTML ( Document Template Markup Language ) - is used by the web server Zope
  • The Linden Scripting Language ( LSL short ) is a programming language for Second Life
  • NewLISP - a newer open source dialect of Lisp, designed as a general-purpose scripting language and therefore also sometimes used to generate web pages
  • Perl - first scripting language that is widely distributed web servers in place (then via CGI, and today also with mod perl )
  • PHP - the most widely used scripting language on web servers; was directly designed for this task
  • Python - can be connected via CGI, mod python, FastCGI or SCGI with a web server or used with a standalone web server. See also the WSGI, a young, modern interface between web application and web server
  • Ruby - is similar to Python, executed through either CGI or with mod_ruby, increasingly, using Ruby on Rails
  • Server Side Includes (SSI ) is mainly used to insert the contents of a file or the dynamic output of a program or script in a Web page
  • Tcl - runs via CGI or mod cl or websh in the Apache web server. Further possibilities are on the AOL web server or through the written in Tcl tclhttpd server
  • VBScript (Visual Basic Script Language ) in ASP

Examples: client side

  • ECMAScript, in particular the expression of JavaScript - is supported by all modern browsers - see also Dynamic HTML
  • Tcl, requires the Tcl / Tk Tclet plug- in that gives it for Mozilla, Firefox, Opera and Internet Explorer
  • VBScript - available from home only in Internet Explorer

Self-employed scripting languages

Scripting languages ​​can be executed separately from other programs of its interpreter. Some of these are designed for specific tasks, others are general-purpose languages. These languages ​​have the necessary comprehensive program projects concepts such as namespaces and encapsulation, and are therefore used frequently for larger applications.

Examples: specialized languages

  • Awk - text processor ( List Builder ) on Unix
  • GLE - Graphics Layout Engine, scripting language for creating graphs and charts

Examples: general-purpose languages

  • Lisp - list-based, functional programming language
  • Perl - programming language with advanced text processor capabilities
  • PHP - originally designed for web application development
  • Python - some object-oriented programming language
  • REBOL - programming by Carl Sassenrath
  • REXX - scripting language from IBM
  • Ruby - object-oriented programming language
  • Tcl - universal scripting language with advanced text processor capabilities and graphical toolkit Tk
719701
de