Scripting Programming Language: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
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 (typically) be an [[Interpreted Programming Language]].
** 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 range from being a [[General Scripting Programming Language]] to being a [[Domain-Specific Scripting Programming Language]].
** It can have [[Garbage Collection]] for [[memory management]].
* <B>Example(s):</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-Example(s):</B>
** [[General-Purpose Scripting Language]]s, such as:
** a [[Statically-typed Programming Language]].
*** [[Python Programming Language]] for [[data processing]], [[web development]], and [[system administration]].
** a [[Unix Utility]].
*** [[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.



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.

  1. 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. 
  2. Programming is Hard, Let's Go Scripting..., Larry Wall, December 6, 2007