Scripting Programming Language: Difference between revisions
m (Text replacement - ". ----" to ". ----") |
No edit summary |
||
Line 1: | Line 1: | ||
A [[Scripting Programming Language]] is a [[programming language]] that allow for [[prototyping]]. | A [[Scripting Programming Language]] is a [[programming language]] that allow for [[prototyping]] and [[automation]] of [[task]]s through [[interpreted code]]. | ||
* <B>AKA:</B> [[Scripting Programming Language|Script Language]]. | * <B>AKA:</B> [[Scripting Programming Language|Script Language]]. | ||
* <B>Context:</B> | * <B>Context:</B> | ||
** It can | ** It can typically be an [[Interpreted Programming Language]]. | ||
** It can typically provide [[Rapid Development]] capability through [[dynamic typing]] and [[minimal compilation]]. | |||
** It can typically support [[Interactive Execution]] through [[command line interface]]s or [[REPL environment]]s. | |||
** It can typically enable [[Task Automation]] for [[system administration]], [[data processing]], and [[workflow execution]]. | |||
** It can typically reduce [[Boilerplate Code]] compared to [[compiled language]]s through [[high-level abstraction]]s. | |||
** It can typically offer [[Runtime Flexibility]] with [[dynamic evaluation]] and [[late binding]]. | |||
** ... | |||
** It can often emphasize [[Programmer Productivity]] over [[execution performance]]. | |||
** It can often provide [[Glue Code Capability]] for connecting [[external component]]s and [[existing system]]s. | |||
** It can often include [[Built-in String Processing]] with [[regular expression]] support. | |||
** It can often feature [[Dynamic Memory Management]] that handles [[allocation]] and [[deallocation]] automatically. | |||
** It can often support [[Dynamic Loading]] of [[code module]]s during [[program execution]]. | |||
** ... | |||
** It can range from being a [[General Scripting Programming Language]] to being a [[Domain-Specific Scripting Programming Language]]. | |||
** It can range from being a [[Shell Scripting Language]] to being an [[Application Scripting Language]], depending on its [[execution environment]]. | |||
** It can range from being a [[Simple Scripting Language]] to being a [[Full-Featured Scripting Language]], depending on its [[feature set]] and [[capability]]. | |||
** It can range from being a [[Text-Processing Scripting Language]] to being a [[System Administration Scripting Language]], depending on its [[specialization]]. | |||
** It can range from being a [[Pure Scripting Language]] to being a [[Hybrid Scripting Language]], depending on its [[compilation support]]. | |||
** ... | |||
** It can be used to create a [[Shell Script]]. | ** It can be used to create a [[Shell Script]]. | ||
** It can | ** It can have [[Garbage Collection]] for [[memory management]]. | ||
* <B> | ** It can have [[Dynamic Type System]]s that determine [[variable type]]s at [[runtime]]. | ||
** [[Python Programming Language]]. | ** It can have [[Reflection Capability]] for [[introspection]] and [[meta-programming]]. | ||
** [[Perl Programming Language]]. | ** It can have [[Embedded Capability]] for extending [[host application]]s through [[scripting interface]]s. | ||
** [[Scala Programming Language]] (with [[Scala REPL]]). | ** ... | ||
** | * <B>Examples:</B> | ||
* <B>Counter- | ** [[General-Purpose Scripting Language]]s, such as: | ||
** | *** [[Python Programming Language]] for [[data processing]], [[web development]], and [[system administration]]. | ||
** | *** [[JavaScript]] for [[web browser automation]], [[server-side processing]], and [[cross-platform application]]. | ||
* <B>See:</B> [[Run-Time Environment]], [[Operating System]], [[Embedded System]]. | *** [[Ruby Programming Language]] for [[web development]] and [[text processing]]. | ||
*** [[Perl Programming Language]] for [[text manipulation]] and [[system administration]]. | |||
*** [[PHP Programming Language]] for [[web development]]. | |||
*** [[Lua Programming Language]] for [[embedded scripting]] and [[game development]]. | |||
*** [[Scala Programming Language]] (with [[Scala REPL]]). | |||
** [[Shell Scripting Language]]s, such as: | |||
*** [[Bash]] for [[Unix shell scripting]]. | |||
*** [[PowerShell]] for [[Windows administration]]. | |||
*** [[Zsh]] for [[extended shell capability]]. | |||
** [[Domain-Specific Scripting Language]]s, such as: | |||
*** [[AutoHotkey]] for [[desktop automation]]. | |||
*** [[AutoIt]] for [[Windows GUI automation]]. | |||
*** [[VBScript]] for [[Windows system administration]]. | |||
*** [[AppleScript]] for [[macOS automation]]. | |||
** [[Embedded Scripting Language]]s, such as: | |||
*** [[Lua]] for [[game scripting]] and [[application extension]]. | |||
*** [[AngelScript]] for [[game engine integration]]. | |||
*** [[ECMAScript]] for [[browser environment]]. | |||
** ... | |||
* <B>Counter-Examples:</B> | |||
** [[Compiled Programming Language]]s that require [[complete compilation]] before [[execution]], such as: | |||
*** [[C Language]] for [[system programming]]. | |||
*** [[C++ Language]] for [[performance-critical application]]. | |||
*** [[Java Language]] for [[enterprise application]]. | |||
** [[Statically-typed Programming Language]]s that require [[explicit type declaration]]s, such as: | |||
*** [[Go Language]] for [[concurrent system]]. | |||
*** [[Rust Language]] for [[memory-safe system programming]]. | |||
*** [[Haskell Language]] for [[functional programming]]. | |||
** [[Unix Utility]]s that provide [[single function]] rather than [[programming environment]]s. | |||
** [[Markup Language]]s like [[HTML]] or [[XML]] which are [[declarative notation]]s rather than [[executable language]]s. | |||
** [[Configuration Language]]s that specify [[setting]]s rather than [[algorithm]]s. | |||
* <B>See:</B> [[Run-Time Environment]], [[Operating System]], [[Embedded System]], [[Interpreter]], [[Dynamic Programming Language]], [[Glue Code]], [[REPL]], [[Shell]], [[Domain-Specific Language]], [[Interactive Programming]]. | |||
---- | ---- | ||
Line 29: | Line 78: | ||
__NOTOC__ | __NOTOC__ | ||
[[Category:Concept]] | [[Category:Concept]] | ||
[[Category:Programming Language]] | |||
[[Category:Software Development]] | |||
[[Category:Automation]] | |||
[[Category:Quality Silver]] |
Latest revision as of 04:45, 2 March 2025
A Scripting Programming Language is a programming language that allow for prototyping and automation of tasks through interpreted code.
- AKA: Script Language.
- Context:
- It can typically be an Interpreted Programming Language.
- It can typically provide Rapid Development capability through dynamic typing and minimal compilation.
- It can typically support Interactive Execution through command line interfaces or REPL environments.
- It can typically enable Task Automation for system administration, data processing, and workflow execution.
- It can typically reduce Boilerplate Code compared to compiled languages through high-level abstractions.
- It can typically offer Runtime Flexibility with dynamic evaluation and late binding.
- ...
- It can often emphasize Programmer Productivity over execution performance.
- It can often provide Glue Code Capability for connecting external components and existing systems.
- It can often include Built-in String Processing with regular expression support.
- It can often feature Dynamic Memory Management that handles allocation and deallocation automatically.
- It can often support Dynamic Loading of code modules during program execution.
- ...
- It can range from being a General Scripting Programming Language to being a Domain-Specific Scripting Programming Language.
- It can range from being a Shell Scripting Language to being an Application Scripting Language, depending on its execution environment.
- It can range from being a Simple Scripting Language to being a Full-Featured Scripting Language, depending on its feature set and capability.
- It can range from being a Text-Processing Scripting Language to being a System Administration Scripting Language, depending on its specialization.
- It can range from being a Pure Scripting Language to being a Hybrid Scripting Language, depending on its compilation support.
- ...
- It can be used to create a Shell Script.
- It can have Garbage Collection for memory management.
- It can have Dynamic Type Systems that determine variable types at runtime.
- It can have Reflection Capability for introspection and meta-programming.
- It can have Embedded Capability for extending host applications through scripting interfaces.
- ...
- Examples:
- General-Purpose Scripting Languages, such as:
- Python Programming Language for data processing, web development, and system administration.
- JavaScript for web browser automation, server-side processing, and cross-platform application.
- Ruby Programming Language for web development and text processing.
- Perl Programming Language for text manipulation and system administration.
- PHP Programming Language for web development.
- Lua Programming Language for embedded scripting and game development.
- Scala Programming Language (with Scala REPL).
- Shell Scripting Languages, such as:
- Domain-Specific Scripting Languages, such as:
- Embedded Scripting Languages, such as:
- ...
- General-Purpose Scripting Languages, such as:
- Counter-Examples:
- Compiled Programming Languages that require complete compilation before execution, such as:
- Statically-typed Programming Languages that require explicit type declarations, such as:
- Unix Utilitys that provide single function rather than programming environments.
- Markup Languages like HTML or XML which are declarative notations rather than executable languages.
- Configuration Languages that specify settings rather than algorithms.
- See: Run-Time Environment, Operating System, Embedded System, Interpreter, Dynamic Programming Language, Glue Code, REPL, Shell, Domain-Specific Language, Interactive Programming.
References
2013
- (Wikipedia, 2013) ⇒ http://en.wikipedia.org/wiki/Scripting_language Retrieved:2013-12-12.
- A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks which could alternatively be executed one-by-one by a human operator. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), and embedded systems. A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language. Scripting languages are also sometimes referred to as very high-level programming languages, as they operate at a high level of abstraction.
The term "scripting language" is also used loosely to refer to dynamic high-level general-purpose language, such as Perl,[1] Tcl, and Python, [2] with the term "script" often used for small programs (up to a few thousand lines of code) in such languages, or in domain-specific languages such as the text-processing languages sed and AWK. Some of these languages were originally developed for use within a particular environment, and later developed into portable domain-specific or general-purpose languages.
Conversely, many general-purpose languages have dialects that are used as scripting languages. This article discusses scripting languages in the narrow sense of languages for a specific environment; dynamic, general-purpose, and high-level languages are discussed at those articles.
The spectrum of scripting languages ranges from very small and highly domain-specific languages to general-purpose programming languages used for scripting. Standard examples of scripting languages for specific environments include: bash, for the Unix or Unix-like operating systems; ECMAScript (JavaScript), for web browsers; and Visual Basic for Applications, for Microsoft Office applications. Lua is a language designed and widely used as an extension language. Python is a general-purpose language that is also commonly used as an extension language, while ECMAScript is still primarily a scripting language for web browsers, but is also used as a general-purpose language. The Emacs Lisp dialect of Lisp (for the Emacs editor) and the Visual Basic for Applications dialect of Visual Basic are examples of scripting language dialects of general-purpose languages. Some game systems, notably the Trainz franchise of Railroad simulators have been extensively extended in functionality by scripting extensions.
- A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks which could alternatively be executed one-by-one by a human operator. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), and embedded systems. A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language. Scripting languages are also sometimes referred to as very high-level programming languages, as they operate at a high level of abstraction.
- ↑ Sheppard, Doug (2000-10-16). "Beginner's Introduction to Perl". dev.perl.org. http://www.perl.com/pub/2000/10/begperl1.html. Retrieved 2011-01-08.
- ↑ Programming is Hard, Let's Go Scripting..., Larry Wall, December 6, 2007