स्क्रिप्टिंग भाषा: Difference between revisions
m (Sugatha moved page भाषा का अंकन to स्क्रिप्टिंग भाषा without leaving a redirect) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Programming language for run-time events}} | {{Short description|Programming language for run-time events}} | ||
[[File:Gdscript3.4.png|thumb|जीडीस्क्रिप्ट3.4]]एक स्क्रिप्टिंग भाषा या स्क्रिप्ट भाषा एक [[प्रोग्रामिंग भाषा]] है जिसका उपयोग किसी | [[File:Gdscript3.4.png|thumb|जीडीस्क्रिप्ट3.4]]एक स्क्रिप्टिंग भाषा या स्क्रिप्ट भाषा एक [[प्रोग्रामिंग भाषा]] है जिसका उपयोग किसी वर्तमान प्रणाली की सुविधाओं में युक्तियोजित करने, अनुकूलित करने और स्वचालित करने के लिए किया जाता है।<ref name="ecma262">{{cite web | url = https://tc39.github.io/ecma262/#sec-overview | title = ECMAScript 2019 Language Specification | access-date = 2018-04-02 | publisher = www.ecma-international.org}}</ref> स्क्रिप्टिंग भाषा सामान्यतः [[ संकलक ]] के अतिरिक्त [[ रनटाइम (कार्यक्रम जीवनचक्र चरण) | क्रम (निष्पादन जीवनचक्र चरण)]] पर इंटरप्रेटर (कंप्यूटिंग) होती हैं। | ||
एक स्क्रिप्टिंग भाषा की [[भाषा आदिम]] | एक स्क्रिप्टिंग भाषा की [[भाषा आदिम|भाषा साधारण]] सामान्यतः प्राथमिक कार्य या [[एपीआई]] कॉल होती हैं,{{Clarify|date=April 2019}} और स्क्रिप्टिंग भाषा उन्हें अधिक प्रोग्रामों में संयोजित करने की अनुमति देती है। स्क्रिप्टिंग के माध्यम से स्वचालित किए जा सकने वाले वातावरण में [[अनुप्रयोग प्रक्रिया सामग्री|एप्लिकेशन सॉफ्टवेयर]], [[ पाठ संपादक | टेक्स्ट एडिटर्स]] , [[ वेब पृष्ठ ]], [[ऑपरेटिंग सिस्टम]] [[ शैल स्क्रिप्ट ]], [[ अंतः स्थापित प्रणाली ]] और [[कंप्यूटर खेल]] सम्मिलित हैं। किसी विशेष वातावरण के लिए एक स्क्रिप्टिंग भाषा को एक [[डोमेन-विशिष्ट भाषा]] के रूप में देखा जा सकता है; किसी एप्लिकेशन को स्क्रिप्ट करने के की स्थिति में, इसे एक्सटेंशन भाषा के रूप में भी जाना जाता है। स्क्रिप्टिंग भाषाओं को कभी-कभी [[बहुत उच्च स्तरीय प्रोग्रामिंग भाषा|बहु उच्च स्तरीय प्रोग्रामिंग भाषा]] रूप में भी संदर्भित किया जाता है, क्योंकि वे कभी-कभी उच्च स्तर के अमूर्तता पर या नियंत्रण भाषाओं के रूप में संचालित होती हैं, विशेष रूप से मेनफ्रेम पर कार्य नियंत्रण भाषाओं के लिए। | ||
'स्क्रिप्टिंग | 'स्क्रिप्टिंग भाषा' शब्द का प्रयोग व्यापक अर्थ में भी किया जाता है, अर्थात्, [[गतिशील प्रोग्रामिंग भाषा]] [[उच्च स्तरीय भाषा]] / हाई-लेवल [[सामान्य प्रयोजन प्रोग्रामिंग भाषा]] सामान्य रूप से संदर्भित करने के लिए; कुछ दृढ़ता से व्याख्या की जाने वाली भाषाएं हैं, जबकि अन्य संकलन के एक रूप का उपयोग करते हैं। इस संदर्भ में, ''स्क्रिप्ट'' शब्द ऐसी भाषा में एक छोटे प्रोग्राम को संदर्भित करता है; सामान्यतः , एकल फ़ाइल में समाहित होता है, और कोड की कुछ हज़ार पंक्तियों से बड़ा नहीं होता है। | ||
इस संदर्भ में, ''स्क्रिप्ट'' शब्द ऐसी भाषा में एक छोटे | |||
स्क्रिप्टिंग भाषाओं का | स्क्रिप्टिंग भाषाओं का विस्तार छोटे से लेकर बड़े और अत्यधिक डोमेन-विशिष्ट भाषा से लेकर सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषाओं तक होता है। एक भाषा छोटी और अत्यधिक डोमेन-विशिष्ट के रूप में प्रारम्भ हो सकती है और बाद में एक पोर्टेबल और सामान्य-उद्देश्य वाली भाषा में विकसित हो सकती है; इसके विपरीत, एक सामान्य-उद्देश्य वाली भाषा बाद में विशेष डोमेन-विशिष्ट उपभाषाओं का विकास कर सकती है। | ||
== उदाहरण == | == उदाहरण == | ||
{{Seealso| | {{Seealso|स्क्रिप्टिंग भाषाओं की सूची}} | ||
* [[AWK]], अधिकांश [[यूनिक्स]] जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा है, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है। | * [[AWK|एडब्ल्यूके]], अधिकांश [[यूनिक्स]] जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा है, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है। | ||
* [[बैश (यूनिक्स शेल)]], यूनिक्स, [[जीएनयू]] और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम और वातावरण पर उपयोग के लिए एक व्याख्या की गई स्क्रिप्टिंग भाषा। | * [[बैश (यूनिक्स शेल)]], यूनिक्स, [[जीएनयू]] और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम और वातावरण पर उपयोग के लिए एक व्याख्या की गई स्क्रिप्टिंग भाषा। | ||
* [[ ग्रूवी (प्रोग्रामिंग भाषा) ]] जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग | * [[ ग्रूवी (प्रोग्रामिंग भाषा) ]] जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग भाषा है, जो पायथन (प्रोग्रामिंग भाषा), [[ रूबी (प्रोग्रामिंग भाषा) ]] और स्मॉलटॉक (प्रोग्रामिंग भाषा) के समान है। | ||
* [[एकमा स्क्रिप्ट]] (बाद में: ईसीएमएस्क्रिप्ट), मूल रूप से एक बहुत छोटी, अत्यधिक डोमेन-विशिष्ट भाषा, जो वेब पेज को गतिशील रूप से संशोधित करने के लिए एक वेब ब्राउज़र के भीतर चलने तक सीमित है, जो बाद में व्यापक रूप से पोर्टेबल सामान्य प्रयोजन प्रोग्रामिंग भाषा में विकसित हुई। | * [[एकमा स्क्रिप्ट]] (बाद में: ईसीएमएस्क्रिप्ट), मूल रूप से एक बहुत छोटी, अत्यधिक डोमेन-विशिष्ट भाषा, जो वेब पेज को गतिशील रूप से संशोधित करने के लिए एक वेब ब्राउज़र के भीतर चलने तक सीमित है, जो बाद में व्यापक रूप से पोर्टेबल सामान्य प्रयोजन प्रोग्रामिंग भाषा में विकसित हुई। | ||
* [[लिस्प (प्रोग्रामिंग भाषा)]], विशिष्ट | * [[लिस्प (प्रोग्रामिंग भाषा)]], विशिष्ट एप्लिकेशनों के लिए सामान्य-उद्देश्य वाली भाषाओं और विस्तार भाषाओं का एक परिवार, उदा। [[Emacs]] Lisp, Emacs एडिटर्स के लिए। | ||
* [[ लुआ (प्रोग्रामिंग भाषा) ]], सामान्य रूप से | * [[ लुआ (प्रोग्रामिंग भाषा) ]], सामान्य रूप से एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में उपयोग करने के लिए डिज़ाइन की गई भाषा, कई अलग-अलग एप्लिकेशनों द्वारा उपयोग की जाती है। | ||
* [[पर्ल]],<ref name="sheppard00">{{cite web | url = http://www.perl.com/pub/2000/10/begperl1.html | title = शुरुआती लोगों के लिए पर्ल का परिचय| access-date = 2011-01-08 | last = Sheppard | first = Doug | date = 2000-10-16 | publisher = dev.perl.org}}</ref> एक टेक्स्ट-प्रोसेसिंग भाषा जो बाद में एक सामान्य-उद्देश्य वाली भाषा के रूप में विकसित हुई, जिसे विभिन्न | * [[पर्ल]],<ref name="sheppard00">{{cite web | url = http://www.perl.com/pub/2000/10/begperl1.html | title = शुरुआती लोगों के लिए पर्ल का परिचय| access-date = 2011-01-08 | last = Sheppard | first = Doug | date = 2000-10-16 | publisher = dev.perl.org}}</ref> एक टेक्स्ट-प्रोसेसिंग भाषा जो बाद में एक सामान्य-उद्देश्य वाली भाषा के रूप में विकसित हुई, जिसे विभिन्न एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में भी इस्तेमाल किया गया। | ||
* [[PowerShell]], एक स्क्रिप्टिंग भाषा जो मूल रूप से [[Microsoft Windows]] के साथ उपयोग के लिए है [[लेकिन]] बाद में [[macOS]] और [[Linux]] के लिए भी उपलब्ध है। | * [[PowerShell]], एक स्क्रिप्टिंग भाषा जो मूल रूप से [[Microsoft Windows]] के साथ उपयोग के लिए है [[लेकिन]] बाद में [[macOS]] और [[Linux]] के लिए भी उपलब्ध है। | ||
* पायथन (प्रोग्रामिंग | * पायथन (प्रोग्रामिंग भाषा), सरल सिंटैक्स वाली एक सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषा, विशेष रूप से टेक्स्ट प्रोसेसिंग के अनुकूल और एक विस्तार भाषा के रूप में भी उपयोग की जाती है। | ||
* [[Rexx]], [[IBM]] के VM/SP R3 में एक स्क्रिप्टिंग भाषा। [[NetRexx]] और [[Object Rexx]] REXX पर आधारित हैं। कई प्लेटफॉर्म पर उपयोग किया जाता है। | * [[Rexx]], [[IBM]] के VM/SP R3 में एक स्क्रिप्टिंग भाषा। [[NetRexx]] और [[Object Rexx]] REXX पर आधारित हैं। कई प्लेटफॉर्म पर उपयोग किया जाता है। एप्लिकेशनों के लिए विस्तार भाषाओं के रूप में भी उपयोग किया जाता है। | ||
* रूबी_ ( | * रूबी_ (प्रोग्रामिंग_भाषा), एक सामान्य प्रयोजन प्रोग्रामिंग भाषा जो कई प्रोग्रामिंग प्रतिमानों का समर्थन करती है। इसे उत्पादकता और सरलता पर जोर देने के साथ डिजाइन किया गया था। | ||
* sed, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है। | * sed, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है। | ||
* [[टीसीएल]],<ref>[http://www.perl.com/pub/2007/12/06/soto-11.html Programming is Hard, Let's Go Scripting…], [[Larry Wall]], December 6, 2007</ref> यूनिक्स जैसे वातावरण के लिए एक स्क्रिप्टिंग भाषा, जो 1990 के दशक में लोकप्रिय थी। जीयूआई | * [[टीसीएल]],<ref>[http://www.perl.com/pub/2007/12/06/soto-11.html Programming is Hard, Let's Go Scripting…], [[Larry Wall]], December 6, 2007</ref> यूनिक्स जैसे वातावरण के लिए एक स्क्रिप्टिंग भाषा, जो 1990 के दशक में लोकप्रिय थी। जीयूआई एप्लिकेशनों को विकसित करने के लिए [[ टीसी (सॉफ्टवेयर) ]] के संयोजन के साथ प्रयोग किया जा सकता है। | ||
* | * एप्लिकेशनों के लिए विज़ुअल बेसिक (VBA), विशेष रूप से [[Microsoft Office]] एप्लिकेशनों के लिए विकसित एक विस्तार भाषा है, और कई गैर-Microsoft एप्लिकेशनों में कम से कम आंशिक रूप से लागू की गई है। | ||
कुछ गेम | कुछ गेम प्रणाली को व्यापक रूप से कस्टम भाषाओं का उपयोग करके स्क्रिप्टिंग एक्सटेंशन द्वारा कार्यक्षमता में विस्तारित किया गया है, विशेष रूप से [[ दूसरा जीवन ]] [[ आभासी दुनिया ]] ([[लिंडन स्क्रिप्टिंग भाषा]] का उपयोग करके) और रेलरोड सिमुलेटर के [[ट्रेन्ज़]] फ़्रैंचाइज़ी (ट्रेनज़स्क्रिप्ट का उपयोग करके)। कुछ खेलों में, जैसे [[वेस्नोथ]], उपयोगकर्ता उपयोगकर्ता द्वारा योगदान की गई स्क्रिप्ट द्वारा परिभाषित गेम के कस्टम संस्करण खेल सकते हैं। | ||
== विशेषताएं == | == विशेषताएं == | ||
Line 40: | Line 39: | ||
|isbn=978-1-31612322-5 | |isbn=978-1-31612322-5 | ||
|page=[https://books.google.com/books?id=q4FIBQAAQBAJ&pg=PA76 76] | |page=[https://books.google.com/books?id=q4FIBQAAQBAJ&pg=PA76 76] | ||
|postscript=, "A major characteristic of modern scripting languages is their interactivity, sometimes referred to as a ''REPL'' programming environment. […] The characteristics of ease of use and immediate execution with a REPL environment are sometimes taken as the definition of a scripting language."}}</ref> यह | |postscript=, "A major characteristic of modern scripting languages is their interactivity, sometimes referred to as a ''REPL'' programming environment. […] The characteristics of ease of use and immediate execution with a REPL environment are sometimes taken as the definition of a scripting language."}}</ref> यह सामान्यतः अपेक्षाकृत सरल वाक्यविन्यास (प्रोग्रामिंग भाषा) और [[शब्दार्थ (कंप्यूटर विज्ञान)]] का तात्पर्य है; सामान्यतः एक स्क्रिप्ट (स्क्रिप्टिंग भाषा में लिखा गया कोड) को स्क्रिप्ट के रूप में प्रारम्भ से अंत तक निष्पादित किया जाता है, जिसमें कोई स्पष्ट [[प्रवेश बिंदु]] नहीं होता है। | ||
उदाहरण के लिए, [[ जावा (प्रोग्रामिंग भाषा) ]] को एक स्क्रिप्टिंग भाषा के रूप में वर्णित करना असामान्य है क्योंकि इसके लंबे सिंटैक्स और नियमों के बारे में कि कौन सी फाइलें किस वर्ग में मौजूद हैं, और जावा को अंतःक्रियात्मक रूप से निष्पादित करना सीधे संभव नहीं है, क्योंकि स्रोत फ़ाइलों में केवल परिभाषाएँ हो सकती हैं जिसे किसी [[ मेजबान आवेदन ]] या [[एप्लिकेशन लॉन्चर]] द्वारा बाहरी रूप से लागू किया जाना चाहिए। | उदाहरण के लिए, [[ जावा (प्रोग्रामिंग भाषा) ]] को एक स्क्रिप्टिंग भाषा के रूप में वर्णित करना असामान्य है क्योंकि इसके लंबे सिंटैक्स और नियमों के बारे में कि कौन सी फाइलें किस वर्ग में मौजूद हैं, और जावा को अंतःक्रियात्मक रूप से निष्पादित करना सीधे संभव नहीं है, क्योंकि स्रोत फ़ाइलों में केवल परिभाषाएँ हो सकती हैं जिसे किसी [[ मेजबान आवेदन ]] या [[एप्लिकेशन लॉन्चर]] द्वारा बाहरी रूप से लागू किया जाना चाहिए। | ||
Line 70: | Line 69: | ||
पायथन कोड की यह एक पंक्ति हैलो वर्ल्ड प्रिंट करती है; यहाँ main() जैसा कोई घोषणात्मक कथन आवश्यक नहीं है। | पायथन कोड की यह एक पंक्ति हैलो वर्ल्ड प्रिंट करती है; यहाँ main() जैसा कोई घोषणात्मक कथन आवश्यक नहीं है। | ||
एक स्क्रिप्टिंग भाषा | एक स्क्रिप्टिंग भाषा सामान्यतः स्रोत कोड या [[बाईटकोड]] से व्याख्या की गई भाषा होती है।<ref>{{cite web |last=Brown |first=Vicki |title=स्क्रिप्टिंग भाषाएँ|url=http://www.mactech.com/articles/mactech/Vol.15/15.09/ScriptingLanguages/index.html |url-status=live |access-date=2009-07-22 |website=MacTech {{!}} The journal of Apple technology. |language=en-US}} | ||
</ref> इसके विपरीत, जिस सॉफ़्टवेयर वातावरण (दुभाषिया) के लिए स्क्रिप्ट लिखी जाती है, वह | </ref> इसके विपरीत, जिस सॉफ़्टवेयर वातावरण (दुभाषिया) के लिए स्क्रिप्ट लिखी जाती है, वह सामान्यतः एक [[संकलित भाषा]] में लिखी जाती है और [[मशीन कोड]] के रूप में वितरित की जाती है। | ||
स्क्रिप्टिंग भाषाओं को प्रोग्राम के अंतिम उपयोगकर्ताओं द्वारा उपयोग के लिए डिज़ाइन किया जा सकता है - अंतिम उपयोगकर्ता विकास - या केवल डेवलपर्स द्वारा आंतरिक उपयोग के लिए हो सकता है, इसलिए वे स्क्रिप्टिंग भाषा में प्रोग्राम के अंश लिख सकते हैं। स्क्रिप्टिंग भाषाएं | स्क्रिप्टिंग भाषाओं को प्रोग्राम के अंतिम उपयोगकर्ताओं द्वारा उपयोग के लिए डिज़ाइन किया जा सकता है - अंतिम उपयोगकर्ता विकास - या केवल डेवलपर्स द्वारा आंतरिक उपयोग के लिए हो सकता है, इसलिए वे स्क्रिप्टिंग भाषा में प्रोग्राम के अंश लिख सकते हैं। स्क्रिप्टिंग भाषाएं सामान्यतः [[अमूर्त (कंप्यूटर विज्ञान)]] का उपयोग करती हैं, जो सूचना छिपाने का एक रूप है, उपयोगकर्ताओं को आंतरिक चर प्रकार, डेटा भंडारण और मेमोरी प्रबंधन के विवरण को अलग करने के लिए। | ||
लिपियों को अक्सर निष्पादित करने वाले व्यक्ति द्वारा बनाया या संशोधित किया जाता है,<ref>{{cite web|publisher=IEEE Computer|year=2008|url=http://www.cse.wustl.edu/~loui/praiseieee.html|title=पटकथा की प्रशंसा में|first=Ronald|last=Loui|access-date=2013-08-27|archive-url=https://web.archive.org/web/20150923211452/http://www.cse.wustl.edu/~loui/praiseieee.html#|archive-date=2015-09-23|url-status=dead}}</ref> लेकिन उन्हें अक्सर वितरित भी किया जाता है, जैसे कि जब गेम के बड़े हिस्से को स्क्रिप्टिंग भाषा में लिखा जाता है, विशेष रूप से Google क्रोम टी-रेक्स गेम। | लिपियों को अक्सर निष्पादित करने वाले व्यक्ति द्वारा बनाया या संशोधित किया जाता है,<ref>{{cite web|publisher=IEEE Computer|year=2008|url=http://www.cse.wustl.edu/~loui/praiseieee.html|title=पटकथा की प्रशंसा में|first=Ronald|last=Loui|access-date=2013-08-27|archive-url=https://web.archive.org/web/20150923211452/http://www.cse.wustl.edu/~loui/praiseieee.html#|archive-date=2015-09-23|url-status=dead}}</ref> लेकिन उन्हें अक्सर वितरित भी किया जाता है, जैसे कि जब गेम के बड़े हिस्से को स्क्रिप्टिंग भाषा में लिखा जाता है, विशेष रूप से Google क्रोम टी-रेक्स गेम। | ||
== इतिहास == | == इतिहास == | ||
शुरुआती [[मेनफ़्रेम कंप्यूटर]] (1950 के दशक में) [[ प्रचय संसाधन ]] का उपयोग करने के | शुरुआती [[मेनफ़्रेम कंप्यूटर]] (1950 के दशक में) [[ प्रचय संसाधन ]] का उपयोग करने के अतिरिक्त गैर-संवादात्मक थे। IBM की [[ नौकरी नियंत्रण भाषा | कार्य नियंत्रण भाषा]] (JCL) बैच प्रोसेसिंग को नियंत्रित करने के लिए इस्तेमाल की जाने वाली भाषाओं का मूलरूप है।<ref>{{cite book|last=IBM Corporation|title=IBM System/360 Operating System Job Control Language (C28-6529-4)|year=1967|url=http://www.bitsavers.org/pdf/ibm/360/os/R01-08/C28-6539-4_OS_JCL_Mar67.pdf}}</ref> | ||
पहली इंटरएक्टिव [[ खोल (कंप्यूटिंग) ]] को 1960 के दशक में पहली बार साझा करने वाली प्रणालियों के दूरस्थ संचालन को सक्षम करने के लिए विकसित किया गया था, और ये [[शेल स्क्रिप्ट्स]] का उपयोग करते थे, जो कंप्यूटर प्रोग्राम, शेल के भीतर चलने वाले कंप्यूटर प्रोग्राम को नियंत्रित करते थे। अपनी टीआरएसी (प्रोग्रामिंग | पहली इंटरएक्टिव [[ खोल (कंप्यूटिंग) ]] को 1960 के दशक में पहली बार साझा करने वाली प्रणालियों के दूरस्थ संचालन को सक्षम करने के लिए विकसित किया गया था, और ये [[शेल स्क्रिप्ट्स]] का उपयोग करते थे, जो कंप्यूटर प्रोग्राम, शेल के भीतर चलने वाले कंप्यूटर प्रोग्राम को नियंत्रित करते थे। अपनी टीआरएसी (प्रोग्रामिंग भाषा) भाषा में [[केल्विन मूर्स]] को सामान्यतः कमांड प्रतिस्थापन का आविष्कार करने का श्रेय दिया जाता है, जो स्क्रिप्ट में कमांड को एम्बेड करने की क्षमता होती है, जब व्याख्या की जाती है तो स्क्रिप्ट में एक वर्ण स्ट्रिंग डालें।<ref>{{cite web|last=Mooers|first=Calvin|title=टीआरएसी, प्रतिक्रियाशील टाइपराइटर के लिए एक प्रक्रिया-वर्णन भाषा|url=http://tracfoundation.org/trac64/procedure.htm|archive-url=https://web.archive.org/web/20010425014914/http://tracfoundation.org/trac64/procedure.htm|archive-date=2001-04-25|access-date=March 9, 2012}}</ref> [[ मॉलटिक्स ]] इन सक्रिय कार्यों को कहते हैं।<ref>{{cite web |editor-last=Van Vleck |editor-first=Thomas |title=Multics Glossary – A — (active function) |url=http://www.multicians.org/mga.html |access-date=March 9, 2012}}</ref> | ||
[[लुई पॉज़िन]] ने 1964 के आसपास [[संगत समय-साझाकरण प्रणाली]] के लिए RUNCOM नामक कमांड स्क्रिप्ट के लिए एक प्रारंभिक प्रोसेसर लिखा। MIT में [[स्टुअर्ट मैडनिक]] ने 1966 में IBM के CP/CMS के लिए एक स्क्रिप्टिंग भाषा लिखी। उन्होंने मूल रूप से इस प्रोसेसर को COMMAND कहा, जिसे बाद में [[CMS EXEC]] नाम दिया गया।<ref>{{cite web|last=Varian|first=Melinda|title=VM AND THE VM COMMUNITY: Past, Present, and Future|url=http://web.me.com/melinda.varian/Site/Melinda_Varians_Home_Page_files/neuvm.pdf|access-date=March 9, 2012}}</ref> मल्टिक्स में CTSS RUNCOM की एक शाखा | [[लुई पॉज़िन]] ने 1964 के आसपास [[संगत समय-साझाकरण प्रणाली]] के लिए RUNCOM नामक कमांड स्क्रिप्ट के लिए एक प्रारंभिक प्रोसेसर लिखा। MIT में [[स्टुअर्ट मैडनिक]] ने 1966 में IBM के CP/CMS के लिए एक स्क्रिप्टिंग भाषा लिखी। उन्होंने मूल रूप से इस प्रोसेसर को COMMAND कहा, जिसे बाद में [[CMS EXEC]] नाम दिया गया।<ref>{{cite web|last=Varian|first=Melinda|title=VM AND THE VM COMMUNITY: Past, Present, and Future|url=http://web.me.com/melinda.varian/Site/Melinda_Varians_Home_Page_files/neuvm.pdf|access-date=March 9, 2012}}</ref> मल्टिक्स में CTSS RUNCOM की एक शाखा सम्मिलित है, जिसे RUNCOM भी कहा जाता है।<ref>{{cite web |editor-last=Van Vleck |editor-first=Thomas |title=Multics Glossary – R — (RUNCOM) |url=http://www.multicians.org/mgr.html#runcom |access-date=March 9, 2012}}</ref> CMS EXEC को अंततः [[EXEC 2]] और [[REXX]] द्वारा बदल दिया गया। | ||
Tcl और Lua (प्रोग्रामिंग | Tcl और Lua (प्रोग्रामिंग भाषा) जैसी भाषाओं को विशेष रूप से सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं के रूप में डिज़ाइन किया गया था जिसे किसी भी एप्लिकेशन में एम्बेड किया जा सकता है। अन्य भाषाओं जैसे एप्लिकेशनों के लिए विजुअल बेसिक (वीबीए) ने अंतर्निहित प्रणाली की स्वचालन सुविधाओं के साथ मजबूत एकीकरण प्रदान किया। प्रत्येक एप्लिकेशन के लिए एक नई भाषा विकसित करने के अतिरिक्त ऐसी सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं को एम्बेड करना भी स्पष्ट लाभ था, जिससे एप्लिकेशन डेवलपर को भाषा अनुवादक को स्क्रैच से कोड करने की आवश्यकता से राहत मिली और उपयोगकर्ता को कहीं और सीखे गए कौशल को लागू करने की अनुमति मिली। | ||
कुछ सॉफ़्टवेयर में कई अलग-अलग स्क्रिप्टिंग भाषाएँ | कुछ सॉफ़्टवेयर में कई अलग-अलग स्क्रिप्टिंग भाषाएँ सम्मिलित होती हैं। आधुनिक [[वेब ब्राउज़र]] सामान्यतः ब्राउज़र को एक्सटेंशन लिखने के लिए एक भाषा प्रदान करते हैं, और ब्राउज़र को नियंत्रित करने के लिए कई मानक एम्बेडेड भाषाएं प्रदान करते हैं, जिनमें जावास्क्रिप्ट (ईसीएमएस्क्रिप्ट की एक बोली) या एक्सयूएल सम्मिलित है। | ||
== प्रकार == | == प्रकार == | ||
Line 91: | Line 90: | ||
=== गोंद भाषाएं === | === गोंद भाषाएं === | ||
{{unreferenced section|date=March 2007}} | {{unreferenced section|date=March 2007}} | ||
स्क्रिप्टिंग की तुलना अक्सर [[सिस्टम प्रोग्रामिंग]] से की जाती है, जैसा कि ऑस्टरहाउट के द्विभाजन या [[बड़े में प्रोग्रामिंग और छोटे में प्रोग्रामिंग]]। इस दृष्टि से, स्क्रिप्टिंग [[ गोंद कोड ]] है, जो [[सॉफ्टवेयर घटक]]ों को जोड़ता है, और इस उद्देश्य के लिए विशेषीकृत भाषा ग्लू भाषा है। पाइपलाइन और शेल स्क्रिप्टिंग गोंद भाषाओं के मूल उदाहरण हैं, और पर्ल को | स्क्रिप्टिंग की तुलना अक्सर [[सिस्टम प्रोग्रामिंग|प्रणाली प्रोग्रामिंग]] से की जाती है, जैसा कि ऑस्टरहाउट के द्विभाजन या [[बड़े में प्रोग्रामिंग और छोटे में प्रोग्रामिंग]]। इस दृष्टि से, स्क्रिप्टिंग [[ गोंद कोड ]] है, जो [[सॉफ्टवेयर घटक]]ों को जोड़ता है, और इस उद्देश्य के लिए विशेषीकृत भाषा ग्लू भाषा है। पाइपलाइन और शेल स्क्रिप्टिंग गोंद भाषाओं के मूल उदाहरण हैं, और पर्ल को प्रारम्भ में इसी भूमिका को भरने के लिए विकसित किया गया था। [[ वेब विकास ]] को ग्लू भाषा का उपयोग माना जा सकता है, जो [[डेटाबेस]] और [[वेब सर्वर]] के बीच इंटरफेसिंग करता है। लेकिन अगर स्क्रिप्ट में पर्याप्त मात्रा में तर्क लिखा जाता है, तो इसे केवल एक अन्य सॉफ्टवेयर घटक के रूप में जाना जाता है, न कि गोंद के रूप में। | ||
ग्लू | ग्लू भाषा विशेष रूप से लिखने और बनाए रखने के लिए उपयोगी हैं: | ||
* कमांड शेल के लिए कस्टम कमांड;<ref>{{Cite web|title=What is glue code (glue code language)? - Definition from WhatIs.com|url=https://whatis.techtarget.com/definition/glue-code|access-date=2022-01-31|website=WhatIs.com|language=en}}</ref> | * कमांड शेल के लिए कस्टम कमांड;<ref>{{Cite web|title=What is glue code (glue code language)? - Definition from WhatIs.com|url=https://whatis.techtarget.com/definition/glue-code|access-date=2022-01-31|website=WhatIs.com|language=en}}</ref> | ||
* उन | * उन प्रोग्रामों की तुलना में छोटे प्रोग्राम जिन्हें संकलित भाषा में बेहतर तरीके से कार्यान्वित किया जाता है;<ref>{{Cite web|last=Larson|first=Quincy|title=व्याख्या बनाम संकलित प्रोग्रामिंग भाषाएँ|url=https://www.freecodecamp.org/news/compiled-versus-interpreted-languages/|url-status=live|access-date=23 February 2022|website=Free Code Camp|date=10 January 2020 }}</ref> | ||
* एक्जीक्यूटेबल्स के लिए रैपर प्रोग्राम, जैसे एक बैच फ़ाइल जो फ़ाइलों को स्थानांतरित या | * एक्जीक्यूटेबल्स के लिए रैपर प्रोग्राम, जैसे एक बैच फ़ाइल जो फ़ाइलों को स्थानांतरित या युक्तियोजित करती है और ऑपरेटिंग सिस्टम के साथ अन्य काम करती है जैसे वर्ड प्रोसेसर, स्प्रेडशीट, डेटा बेस, असेंबलर, कंपाइलर, आदि;<ref>{{Cite web|last=Balkis|first=Anton|title=लिपियाँ है|url=https://rajatips.com/script/|url-status=live|access-date=23 February 2022|website=Raja Tips}}</ref> | ||
* लिपियाँ जो बदल सकती हैं;<ref>{{Cite web|last=Axelsson|first=Mats|title=शेल स्क्रिप्ट - आप क्या बदल सकते हैं|url=https://linuxhint.com/customize_shell_scripts/|url-status=live|access-date=23 February 2022|website=Linux Hint}}</ref> | * लिपियाँ जो बदल सकती हैं;<ref>{{Cite web|last=Axelsson|first=Mats|title=शेल स्क्रिप्ट - आप क्या बदल सकते हैं|url=https://linuxhint.com/customize_shell_scripts/|url-status=live|access-date=23 February 2022|website=Linux Hint}}</ref> | ||
* एक समाधान का तेजी से | * एक समाधान का तेजी से एप्लिकेशन विकास अंततः दूसरे, सामान्यतः संकलित, भाषा में कार्यान्वित किया जाता है।{{Citation needed|date=January 2022}} | ||
गोंद भाषा उदाहरण: | गोंद भाषा उदाहरण: | ||
Line 133: | Line 132: | ||
* [[एक्सएसएलटी]] | * [[एक्सएसएलटी]] | ||
{{Div col end}} | {{Div col end}} | ||
ऑपरेटिंग सिस्टम या एप्लिकेशन घटकों के संपर्क में आने वाली मैक्रो (कंप्यूटर साइंस) भाषाएं गोंद भाषाओं के रूप में काम कर सकती हैं। इनमें एप्लिकेशन के लिए विजुअल बेसिक, [[वर्डबेसिक]], [[लोटसस्क्रिप्ट]], [https://www.oberonplace.com/tutor/page1.htm CorelScript], हमिंगबर्ड बेसिक, क्विकस्क्रिप्ट, Rexx, [https://msdn.microsoft.com/en- | ऑपरेटिंग सिस्टम या एप्लिकेशन घटकों के संपर्क में आने वाली मैक्रो (कंप्यूटर साइंस) भाषाएं गोंद भाषाओं के रूप में काम कर सकती हैं। इनमें एप्लिकेशन के लिए विजुअल बेसिक, [[वर्डबेसिक]], [[लोटसस्क्रिप्ट]], [https://www.oberonplace.com/tutor/page1.htm CorelScript], हमिंगबर्ड बेसिक, क्विकस्क्रिप्ट, Rexx, [https://msdn.microsoft.com/en- सम्मिलित हैं। us/library/ms994312.aspx SaxBasic], और [[WinWrap Basic]]। एडब्ल्यूके जैसे अन्य उपकरणों को भी गोंद भाषा माना जा सकता है, जैसा कि Windows स्क्रिप्ट होस्ट इंजन (VBScript, JScript और VBA द्वारा विंडोज़ में डिफ़ॉल्ट रूप से लागू किया जा सकता है और Rexx, Perl, Tcl, Python, XSLT के कार्यान्वयन सहित तृतीय-पक्ष इंजन, रूबी, मॉडर्न पास्कल, डेल्फी और सी)। अधिकांश एप्लिकेशन [[वस्तु मॉडल]] या अपने स्वयं के कार्यों के माध्यम से ऑपरेटिंग सिस्टम घटकों का उपयोग और उपयोग कर सकते हैं। | ||
प्रोग्रामेबल कैलकुलेटर जैसे अन्य उपकरणों में भी ग्लू | प्रोग्रामेबल कैलकुलेटर जैसे अन्य उपकरणों में भी ग्लू भाषा हो सकती हैं; विंडोज सीई जैसे पीडीए के ऑपरेटिंग सिस्टम में देशी या तीसरे पक्ष के मैक्रो उपकरण उपलब्ध हो सकते हैं जो सामान्य गोंद भाषाओं के कार्यान्वयन के अलावा एप्लिकेशनों को एक साथ जोड़ते हैं - जिसमें [[विंडोज एनटी]], डॉस और कुछ [[ यूनिक्स खोल ]], रेक्स, मॉडर्न पास्कल, पीएचपी सम्मिलित हैं। , और पर्ल। OS संस्करण के आधार पर, WSH और डिफ़ॉल्ट स्क्रिप्ट इंजन (VBScript और JScript) उपलब्ध हैं। | ||
प्रोग्राम करने योग्य कैलकुलेटर को गोंद भाषाओं में तीन तरीकों से प्रोग्राम किया जा सकता है। उदाहरण के लिए, [[ टेक्सस उपकरण ]] [[TI-92]], फ़ैक्टरी डिफ़ॉल्ट रूप से कमांड स्क्रिप्ट भाषा के साथ प्रोग्राम किया जा सकता है। कैलकुलेटर [[की]] [[TI-NSpire]] श्रृंखला में स्क्रिप्टिंग और गोंद भाषा Lua (प्रोग्रामिंग भाषा) को | प्रोग्राम करने योग्य कैलकुलेटर को गोंद भाषाओं में तीन तरीकों से प्रोग्राम किया जा सकता है। उदाहरण के लिए, [[ टेक्सस उपकरण ]] [[TI-92]], फ़ैक्टरी डिफ़ॉल्ट रूप से कमांड स्क्रिप्ट भाषा के साथ प्रोग्राम किया जा सकता है। कैलकुलेटर [[की]] [[TI-NSpire]] श्रृंखला में स्क्रिप्टिंग और गोंद भाषा Lua (प्रोग्रामिंग भाषा) को सम्मिलित करने को इसके उत्तराधिकारी के रूप में देखा जा सकता है। अधिकांश रेखांकन कैलकुलेटरों की प्राथमिक ऑन-बोर्ड उच्च-स्तरीय प्रोग्रामिंग भाषाएं (अक्सर मूल वेरिएंट, कभी-कभी लिस्प डेरिवेटिव, और अधिक असामान्य रूप से, सी डेरिवेटिव) कई मामलों में कैलकुलेटर फ़ंक्शंस को एक साथ चिपका सकती हैं - जैसे ग्राफ़, सूचियाँ, मैट्रिसेस, आदि। अधिक व्यापक मूल संस्करण के तृतीय-पक्ष कार्यान्वयन जो इस लेख में गोंद भाषाओं के रूप में सूचीबद्ध वेरिएंट के करीब हो सकते हैं- और टीआई और एचपी ग्राफिंग कैलकुलेटर पर पर्ल, रेक्स या विभिन्न ऑपरेटिंग सिस्टम शेल को लागू करने के प्रयासों का भी उल्लेख किया गया है। कुछ टीआई और एचपी मशीनों के लिए पीसी-आधारित सी [[पार compilers]] का उपयोग उन उपकरणों के साथ किया जाता है जो सी और पर्ल, रेक्स, एडब्ल्यूके, और शेल स्क्रिप्ट को पर्ल, मॉडर्न पास्कल, वीबीस्क्रिप्ट से और पर्ल के बीच कनवर्ट करते हैं और प्रोग्राम लिखना संभव बनाते हैं। कैलकुलेटर पर अंतिम कार्यान्वयन (संकलित प्रोग्राम के रूप में) के लिए एक गोंद भाषा में।{{Citation needed|date=October 2021}} | ||
=== | ===एडिटर्स भाषाएं=== | ||
कई | कई टेक्स्ट एडिटर्स एडिटर्स में निर्मित मैक्रो भाषा का उपयोग करके लिखे गए मैक्रोज़ का समर्थन करते हैं, उदाहरण के लिए, [[सेमवेयर संपादक|सेमवेयर एडिटर्स]] (टीएसई), [[विम (पाठ संपादक)|विम (टेक्स्ट एडिटर्स )]] (वीआईएम), या बाहरी कार्यान्वयन का उपयोग करते हुए, उदाहरण के लिए, एक्सईडीआईटी, या दोनों, उदा। , [[ KEDIT ]]। कभी-कभी टेक्स्ट एडिटर्स और एडिट मैक्रोज़ का उपयोग अन्य एप्लिकेशन प्रदान करने के लिए कवर के तहत किया जाता है, उदाहरण के लिए, [[ संवादी मॉनिटर सिस्टम | संवादी मॉनिटर प्रणाली]] में फाइललिस्ट और आरडीआरएलआईएसटी। | ||
=== | ===कार्य नियंत्रण भाषाएं और खोल=== | ||
{{Main|Shell script}} | {{Main|Shell script}} | ||
स्क्रिप्टिंग भाषाओं का एक प्रमुख वर्ग [[ नौकरी नियंत्रण (कंप्यूटिंग) ]] के स्वचालन से विकसित हुआ है, जो | स्क्रिप्टिंग भाषाओं का एक प्रमुख वर्ग [[ नौकरी नियंत्रण (कंप्यूटिंग) | कार्य नियंत्रण (कंप्यूटिंग)]] के स्वचालन से विकसित हुआ है, जो प्रणाली प्रोग्राम के व्यवहार को प्रारम्भ करने और नियंत्रित करने से संबंधित है।<ref>{{Cite web |title=जॉब कंट्रोल बेसिक्स (बैश रेफरेंस मैनुअल)|url=https://www.gnu.org/software/bash/manual/html_node/Job-Control-Basics.html |access-date=2022-05-20 |website=www.gnu.org}}</ref> (इस अर्थ में, कोई गोले को आईबीएम की जेसीएल, या जॉब कंट्रोल भाषा के वंशज होने के बारे में सोच सकता है, जिसका उपयोग इस उद्देश्य के लिए किया गया था)। इनमें से कई भाषाओं के दुभाषिए यूनिक्स शेल या MS-DOS जैसे कमांड-लाइन दुभाषियों के रूप में दोगुने हैं <code>[[COMMAND.COM]]</code>. अन्य, जैसे कि AppleScript स्क्रिप्ट बनाने के लिए अंग्रेजी जैसी कमांड का उपयोग करने की पेशकश करते हैं। | ||
=== जीयूआई स्क्रिप्टिंग === | === जीयूआई स्क्रिप्टिंग === | ||
ग्राफिकल यूजर इंटरफेस के आगमन के साथ, कंप्यूटर को नियंत्रित करने के लिए एक विशेष प्रकार की स्क्रिप्टिंग भाषा का उदय हुआ। ये भाषाएं उन्हीं ग्राफ़िक विंडो, मेनू, बटन आदि के साथ इंटरैक्ट करती हैं, जो एक मानव उपयोगकर्ता करता है। वे उपयोगकर्ता के कार्यों का अनुकरण करके ऐसा करते हैं। इन भाषाओं का उपयोग | ग्राफिकल यूजर इंटरफेस के आगमन के साथ, कंप्यूटर को नियंत्रित करने के लिए एक विशेष प्रकार की स्क्रिप्टिंग भाषा का उदय हुआ। ये भाषाएं उन्हीं ग्राफ़िक विंडो, मेनू, बटन आदि के साथ इंटरैक्ट करती हैं, जो एक मानव उपयोगकर्ता करता है। वे उपयोगकर्ता के कार्यों का अनुकरण करके ऐसा करते हैं। इन भाषाओं का उपयोग सामान्यतः उपयोगकर्ता क्रियाओं को स्वचालित करने के लिए किया जाता है। ऐसी भाषाओं को मैक्रो (कंप्यूटर विज्ञान) # कीबोर्ड और माउस मैक्रोज़ भी कहा जाता है जब नियंत्रण सिम्युलेटेड कुंजी प्रेस या माउस क्लिक के माध्यम से होता है, साथ ही टच-सक्रिय स्क्रीन पर टैपिंग या प्रेसिंग के माध्यम से होता है। | ||
सिद्धांत रूप में इन भाषाओं का उपयोग किसी भी जीयूआई | सिद्धांत रूप में इन भाषाओं का उपयोग किसी भी जीयूआई एप्लिकेशन को नियंत्रित करने के लिए किया जा सकता है; लेकिन, व्यवहार में उनका उपयोग सीमित है क्योंकि उनके उपयोग के लिए एप्लिकेशन और ऑपरेटिंग सिस्टम से समर्थन की आवश्यकता होती है। इस सीमा के कुछ अपवाद हैं। कुछ जीयूआई स्क्रिप्टिंग भाषाएं ग्राफिकल ऑब्जेक्ट्स को उनके डिस्प्ले स्क्रीन [[पिक्सेल]] से पहचानने पर आधारित होती हैं। ये GUI स्क्रिप्टिंग भाषाएँ ऑपरेटिंग सिस्टम या एप्लिकेशन के समर्थन पर निर्भर नहीं करती हैं। | ||
जब जीयूआई उपयुक्त इंटरफेस प्रदान करता है, जैसे कि आईबीएम [[ कार्यस्थल खोल ]] में, एक सामान्य स्क्रिप्टिंग भाषा, उदा। [[OREXX]], जीयूआई स्क्रिप्ट लिखने के लिए इस्तेमाल किया जा सकता है। | जब जीयूआई उपयुक्त इंटरफेस प्रदान करता है, जैसे कि आईबीएम [[ कार्यस्थल खोल ]] में, एक सामान्य स्क्रिप्टिंग भाषा, उदा। [[OREXX]], जीयूआई स्क्रिप्ट लिखने के लिए इस्तेमाल किया जा सकता है। | ||
Line 156: | Line 155: | ||
=== एप्लिकेशन-विशिष्ट भाषाएं === | === एप्लिकेशन-विशिष्ट भाषाएं === | ||
एप्लिकेशन विशिष्ट भाषाओं को कई अलग-अलग श्रेणियों में विभाजित किया जा सकता है, अर्थात स्टैंडअलोन आधारित ऐप भाषाएँ (निष्पादन योग्य) या आंतरिक एप्लिकेशन विशिष्ट भाषाएँ (पोस्टस्क्रिप्ट, xml, gscript कुछ व्यापक रूप से वितरित स्क्रिप्ट के रूप में, क्रमशः Adobe, MS और Google द्वारा कार्यान्वित) अन्य में | एप्लिकेशन विशिष्ट भाषाओं को कई अलग-अलग श्रेणियों में विभाजित किया जा सकता है, अर्थात स्टैंडअलोन आधारित ऐप भाषाएँ (निष्पादन योग्य) या आंतरिक एप्लिकेशन विशिष्ट भाषाएँ (पोस्टस्क्रिप्ट, xml, gscript कुछ व्यापक रूप से वितरित स्क्रिप्ट के रूप में, क्रमशः Adobe, MS और Google द्वारा कार्यान्वित) अन्य में सम्मिलित हैं एप्लिकेशन उपयोगकर्ता की आवश्यकताओं के अनुरूप एक मुहावरेदार स्क्रिप्टिंग भाषा। इसी तरह, कई कंप्यूटर गेम प्रणाली गैर-खिलाड़ी पात्रों और खेल के वातावरण के क्रमादेशित कार्यों को व्यक्त करने के लिए एक कस्टम स्क्रिप्टिंग भाषा का उपयोग करते हैं। इस प्रकार की भाषाएँ एक ही एप्लिकेशन के लिए डिज़ाइन की गई हैं; और, जबकि वे सतही रूप से एक विशिष्ट सामान्य-उद्देश्य वाली भाषा से मिलते-जुलते हो सकते हैं (उदाहरण के लिए क्वेकसी, सी के बाद प्रतिरूपित), उनके पास कस्टम विशेषताएं हैं जो उन्हें अलग करती हैं। Emacs Lisp, जबकि Lisp (प्रोग्रामिंग भाषा) की पूरी तरह से गठित और सक्षम बोली, में कई विशेष विशेषताएं सम्मिलित हैं जो इसे Emacs के संपादन कार्यों को विस्तारित करने के लिए सबसे उपयोगी बनाती हैं। एक एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषा को एक [[डोमेन-विशिष्ट प्रोग्रामिंग भाषा]] के रूप में देखा जा सकता है जो एकल एप्लिकेशन के लिए विशिष्ट है। | ||
===विस्तार/एम्बेड करने योग्य भाषाएं=== | ===विस्तार/एम्बेड करने योग्य भाषाएं=== | ||
एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषाओं को एप्लिकेशन प्रोग्राम में एम्बेड करने योग्य बनाने के उद्देश्य से कई भाषाओं को डिज़ाइन किया गया है। एप्लिकेशन प्रोग्रामर (सी या अन्य | एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषाओं को एप्लिकेशन प्रोग्राम में एम्बेड करने योग्य बनाने के उद्देश्य से कई भाषाओं को डिज़ाइन किया गया है। एप्लिकेशन प्रोग्रामर (सी या अन्य प्रणाली भाषा में काम कर रहे) में हुक सम्मिलित हैं जहां स्क्रिप्टिंग भाषा एप्लिकेशन को नियंत्रित कर सकती है। ये भाषाएँ तकनीकी रूप से किसी एप्लिकेशन-विशिष्ट एक्सटेंशन भाषा के समतुल्य हो सकती हैं, लेकिन जब कोई एप्लिकेशन एक सामान्य भाषा को एम्बेड करता है, तो उपयोगकर्ता को एप्लिकेशन से एप्लिकेशन में कौशल स्थानांतरित करने में सक्षम होने का लाभ मिलता है। एक अधिक सामान्य विकल्प केवल एक लाइब्रेरी (अक्सर एक सी लाइब्रेरी) प्रदान करना है, जिसका उपयोग सामान्य-उद्देश्य वाली भाषा विशिष्ट डोमेन के लिए भाषा को संशोधित किए बिना, एप्लिकेशन को नियंत्रित करने के लिए कर सकती है। | ||
जावास्क्रिप्ट के रूप में | जावास्क्रिप्ट के रूप में प्रारम्भ हुआ और मुख्य रूप से अभी भी वेब ब्राउज़र के अंदर स्क्रिप्टिंग के लिए एक भाषा है; हालाँकि, ECMAScript के रूप में भाषा के मानकीकरण ने इसे सामान्य-उद्देश्य वाली एम्बेड करने योग्य भाषा के रूप में लोकप्रिय बना दिया है। विशेष रूप से, [[mozilla]] कार्यान्वयन स्पाइडरमोन्की (जावास्क्रिप्ट इंजन) याहू जैसे कई वातावरणों में सन्निहित है! विजेट इंजन। ईसीएमएस्क्रिप्ट कार्यान्वयन को एम्बेड करने वाले अन्य एप्लिकेशनों में [[एडोब सिस्टम्स|एडोब प्रणाली्स]] उत्पाद [[एडोब फ्लैश]] ([[ ActionScript ]]) और [[एडोबी एक्रोबैट]] ([[पीडीएफ]] फाइलों की स्क्रिप्टिंग के लिए) सम्मिलित हैं। | ||
टीसीएल को एक विस्तार भाषा के रूप में बनाया गया था, लेकिन पायथन (प्रोग्रामिंग भाषा), पर्ल, और रूबी (प्रोग्रामिंग भाषा) जैसी भूमिकाओं में एक सामान्य-उद्देश्य वाली भाषा के रूप में अधिक बार उपयोग किया जाने लगा है। दूसरी ओर, रेक्स मूल रूप से एक | टीसीएल को एक विस्तार भाषा के रूप में बनाया गया था, लेकिन पायथन (प्रोग्रामिंग भाषा), पर्ल, और रूबी (प्रोग्रामिंग भाषा) जैसी भूमिकाओं में एक सामान्य-उद्देश्य वाली भाषा के रूप में अधिक बार उपयोग किया जाने लगा है। दूसरी ओर, रेक्स मूल रूप से एक कार्य नियंत्रण भाषा के रूप में बनाया गया था, लेकिन व्यापक रूप से एक विस्तार भाषा के साथ-साथ एक सामान्य-उद्देश्य वाली भाषा के रूप में उपयोग किया जाता है। पर्ल एक सामान्य-उद्देश्य वाली भाषा है, लेकिन इसमें ऑपरल (1990) बोली थी, जिसमें पर्ल 4 बाइनरी सम्मिलित थी जिसमें [[ओरेकल कॉल इंटरफ़ेस]] संकलित था। हालांकि इसे बाद में एक लाइब्रेरी (पर्ल मॉड्यूल), [https://metacpan] द्वारा बदल दिया गया है। .org/module/DBD::Oracle DBD::Oracle]।<ref>[https://metacpan.org/module/Oraperl Oraperl], CPAN]</ref><ref> | ||
[http://www.orafaq.com/wiki/Perl Perl], ''Underground Oracle FAQ''</ref> | [http://www.orafaq.com/wiki/Perl Perl], ''Underground Oracle FAQ''</ref> | ||
अन्य जटिल और कार्य-उन्मुख एप्लिकेशन एक एम्बेडेड प्रोग्रामिंग भाषा को | अन्य जटिल और कार्य-उन्मुख एप्लिकेशन एक एम्बेडेड प्रोग्रामिंग भाषा को सम्मिलित और उजागर कर सकते हैं ताकि उनके उपयोगकर्ताओं को अधिक नियंत्रण की अनुमति मिल सके और उन्हें उपयोगकर्ता इंटरफ़ेस के माध्यम से उपलब्ध होने की तुलना में अधिक कार्यक्षमता प्रदान की जा सके, चाहे वह कितना भी परिष्कृत क्यों न हो। उदाहरण के लिए, [[ Autodesk माया ]] 3डी संलेखन उपकरण [[माया एंबेडेड भाषा]], या [[ब्लेंडर (सॉफ्टवेयर)]] को एम्बेड करता है जो इस भूमिका को भरने के लिए पायथन (प्रोग्रामिंग भाषा) का उपयोग करता है। | ||
कुछ अन्य प्रकार के एप्लिकेशन जिन्हें तेज फीचर जोड़ने या ट्वीक-एंड-रन साइकिल (जैसे [[खेल यंत्र]]) की आवश्यकता होती है, वे भी एक एम्बेडेड भाषा का उपयोग करते हैं। विकास के दौरान, यह उन्हें प्रोटोटाइप सुविधाओं को तेजी से और अधिक स्वतंत्र रूप से ट्वीक करने की अनुमति देता है, बिना उपयोगकर्ता को एप्लिकेशन के आंतरिक कामकाज के गहन ज्ञान की आवश्यकता के बिना या प्रत्येक ट्वीक के बाद इसे फिर से बनाने के लिए (जिसमें काफी समय लग सकता है) . इस उद्देश्य के लिए उपयोग की जाने वाली स्क्रिप्टिंग भाषाएँ अधिक सामान्य और अधिक प्रसिद्ध लुआ (प्रोग्रामिंग भाषा) और पायथन (प्रोग्रामिंग भाषा) से लेकर [[एंजेलस्क्रिप्ट]] और [[गिलहरी (प्रोग्रामिंग भाषा)]] जैसी कम-ज्ञात हैं। | कुछ अन्य प्रकार के एप्लिकेशन जिन्हें तेज फीचर जोड़ने या ट्वीक-एंड-रन साइकिल (जैसे [[खेल यंत्र]]) की आवश्यकता होती है, वे भी एक एम्बेडेड भाषा का उपयोग करते हैं। विकास के दौरान, यह उन्हें प्रोटोटाइप सुविधाओं को तेजी से और अधिक स्वतंत्र रूप से ट्वीक करने की अनुमति देता है, बिना उपयोगकर्ता को एप्लिकेशन के आंतरिक कामकाज के गहन ज्ञान की आवश्यकता के बिना या प्रत्येक ट्वीक के बाद इसे फिर से बनाने के लिए (जिसमें काफी समय लग सकता है) . इस उद्देश्य के लिए उपयोग की जाने वाली स्क्रिप्टिंग भाषाएँ अधिक सामान्य और अधिक प्रसिद्ध लुआ (प्रोग्रामिंग भाषा) और पायथन (प्रोग्रामिंग भाषा) से लेकर [[एंजेलस्क्रिप्ट]] और [[गिलहरी (प्रोग्रामिंग भाषा)]] जैसी कम-ज्ञात हैं। |
Revision as of 10:38, 23 March 2023
एक स्क्रिप्टिंग भाषा या स्क्रिप्ट भाषा एक प्रोग्रामिंग भाषा है जिसका उपयोग किसी वर्तमान प्रणाली की सुविधाओं में युक्तियोजित करने, अनुकूलित करने और स्वचालित करने के लिए किया जाता है।[1] स्क्रिप्टिंग भाषा सामान्यतः संकलक के अतिरिक्त क्रम (निष्पादन जीवनचक्र चरण) पर इंटरप्रेटर (कंप्यूटिंग) होती हैं।
एक स्क्रिप्टिंग भाषा की भाषा साधारण सामान्यतः प्राथमिक कार्य या एपीआई कॉल होती हैं,[clarification needed] और स्क्रिप्टिंग भाषा उन्हें अधिक प्रोग्रामों में संयोजित करने की अनुमति देती है। स्क्रिप्टिंग के माध्यम से स्वचालित किए जा सकने वाले वातावरण में एप्लिकेशन सॉफ्टवेयर, टेक्स्ट एडिटर्स , वेब पृष्ठ , ऑपरेटिंग सिस्टम शैल स्क्रिप्ट , अंतः स्थापित प्रणाली और कंप्यूटर खेल सम्मिलित हैं। किसी विशेष वातावरण के लिए एक स्क्रिप्टिंग भाषा को एक डोमेन-विशिष्ट भाषा के रूप में देखा जा सकता है; किसी एप्लिकेशन को स्क्रिप्ट करने के की स्थिति में, इसे एक्सटेंशन भाषा के रूप में भी जाना जाता है। स्क्रिप्टिंग भाषाओं को कभी-कभी बहु उच्च स्तरीय प्रोग्रामिंग भाषा रूप में भी संदर्भित किया जाता है, क्योंकि वे कभी-कभी उच्च स्तर के अमूर्तता पर या नियंत्रण भाषाओं के रूप में संचालित होती हैं, विशेष रूप से मेनफ्रेम पर कार्य नियंत्रण भाषाओं के लिए।
'स्क्रिप्टिंग भाषा' शब्द का प्रयोग व्यापक अर्थ में भी किया जाता है, अर्थात्, गतिशील प्रोग्रामिंग भाषा उच्च स्तरीय भाषा / हाई-लेवल सामान्य प्रयोजन प्रोग्रामिंग भाषा सामान्य रूप से संदर्भित करने के लिए; कुछ दृढ़ता से व्याख्या की जाने वाली भाषाएं हैं, जबकि अन्य संकलन के एक रूप का उपयोग करते हैं। इस संदर्भ में, स्क्रिप्ट शब्द ऐसी भाषा में एक छोटे प्रोग्राम को संदर्भित करता है; सामान्यतः , एकल फ़ाइल में समाहित होता है, और कोड की कुछ हज़ार पंक्तियों से बड़ा नहीं होता है।
स्क्रिप्टिंग भाषाओं का विस्तार छोटे से लेकर बड़े और अत्यधिक डोमेन-विशिष्ट भाषा से लेकर सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषाओं तक होता है। एक भाषा छोटी और अत्यधिक डोमेन-विशिष्ट के रूप में प्रारम्भ हो सकती है और बाद में एक पोर्टेबल और सामान्य-उद्देश्य वाली भाषा में विकसित हो सकती है; इसके विपरीत, एक सामान्य-उद्देश्य वाली भाषा बाद में विशेष डोमेन-विशिष्ट उपभाषाओं का विकास कर सकती है।
उदाहरण
- एडब्ल्यूके, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा है, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है।
- बैश (यूनिक्स शेल), यूनिक्स, जीएनयू और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम और वातावरण पर उपयोग के लिए एक व्याख्या की गई स्क्रिप्टिंग भाषा।
- ग्रूवी (प्रोग्रामिंग भाषा) जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग भाषा है, जो पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा) और स्मॉलटॉक (प्रोग्रामिंग भाषा) के समान है।
- एकमा स्क्रिप्ट (बाद में: ईसीएमएस्क्रिप्ट), मूल रूप से एक बहुत छोटी, अत्यधिक डोमेन-विशिष्ट भाषा, जो वेब पेज को गतिशील रूप से संशोधित करने के लिए एक वेब ब्राउज़र के भीतर चलने तक सीमित है, जो बाद में व्यापक रूप से पोर्टेबल सामान्य प्रयोजन प्रोग्रामिंग भाषा में विकसित हुई।
- लिस्प (प्रोग्रामिंग भाषा), विशिष्ट एप्लिकेशनों के लिए सामान्य-उद्देश्य वाली भाषाओं और विस्तार भाषाओं का एक परिवार, उदा। Emacs Lisp, Emacs एडिटर्स के लिए।
- लुआ (प्रोग्रामिंग भाषा) , सामान्य रूप से एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में उपयोग करने के लिए डिज़ाइन की गई भाषा, कई अलग-अलग एप्लिकेशनों द्वारा उपयोग की जाती है।
- पर्ल,[2] एक टेक्स्ट-प्रोसेसिंग भाषा जो बाद में एक सामान्य-उद्देश्य वाली भाषा के रूप में विकसित हुई, जिसे विभिन्न एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में भी इस्तेमाल किया गया।
- PowerShell, एक स्क्रिप्टिंग भाषा जो मूल रूप से Microsoft Windows के साथ उपयोग के लिए है लेकिन बाद में macOS और Linux के लिए भी उपलब्ध है।
- पायथन (प्रोग्रामिंग भाषा), सरल सिंटैक्स वाली एक सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषा, विशेष रूप से टेक्स्ट प्रोसेसिंग के अनुकूल और एक विस्तार भाषा के रूप में भी उपयोग की जाती है।
- Rexx, IBM के VM/SP R3 में एक स्क्रिप्टिंग भाषा। NetRexx और Object Rexx REXX पर आधारित हैं। कई प्लेटफॉर्म पर उपयोग किया जाता है। एप्लिकेशनों के लिए विस्तार भाषाओं के रूप में भी उपयोग किया जाता है।
- रूबी_ (प्रोग्रामिंग_भाषा), एक सामान्य प्रयोजन प्रोग्रामिंग भाषा जो कई प्रोग्रामिंग प्रतिमानों का समर्थन करती है। इसे उत्पादकता और सरलता पर जोर देने के साथ डिजाइन किया गया था।
- sed, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है।
- टीसीएल,[3] यूनिक्स जैसे वातावरण के लिए एक स्क्रिप्टिंग भाषा, जो 1990 के दशक में लोकप्रिय थी। जीयूआई एप्लिकेशनों को विकसित करने के लिए टीसी (सॉफ्टवेयर) के संयोजन के साथ प्रयोग किया जा सकता है।
- एप्लिकेशनों के लिए विज़ुअल बेसिक (VBA), विशेष रूप से Microsoft Office एप्लिकेशनों के लिए विकसित एक विस्तार भाषा है, और कई गैर-Microsoft एप्लिकेशनों में कम से कम आंशिक रूप से लागू की गई है।
कुछ गेम प्रणाली को व्यापक रूप से कस्टम भाषाओं का उपयोग करके स्क्रिप्टिंग एक्सटेंशन द्वारा कार्यक्षमता में विस्तारित किया गया है, विशेष रूप से दूसरा जीवन आभासी दुनिया (लिंडन स्क्रिप्टिंग भाषा का उपयोग करके) और रेलरोड सिमुलेटर के ट्रेन्ज़ फ़्रैंचाइज़ी (ट्रेनज़स्क्रिप्ट का उपयोग करके)। कुछ खेलों में, जैसे वेस्नोथ, उपयोगकर्ता उपयोगकर्ता द्वारा योगदान की गई स्क्रिप्ट द्वारा परिभाषित गेम के कस्टम संस्करण खेल सकते हैं।
विशेषताएं
विशिष्ट स्क्रिप्टिंग भाषाओं को सीखने और लिखने के लिए बहुत तेज़ होने का इरादा है, या तो लघु स्रोत कोड फ़ाइलों के रूप में या अंतःक्रियात्मक रूप से रीड-इवल-प्रिंट लूप (आरईपीएल, भाषा शेल) में।[4] यह सामान्यतः अपेक्षाकृत सरल वाक्यविन्यास (प्रोग्रामिंग भाषा) और शब्दार्थ (कंप्यूटर विज्ञान) का तात्पर्य है; सामान्यतः एक स्क्रिप्ट (स्क्रिप्टिंग भाषा में लिखा गया कोड) को स्क्रिप्ट के रूप में प्रारम्भ से अंत तक निष्पादित किया जाता है, जिसमें कोई स्पष्ट प्रवेश बिंदु नहीं होता है।
उदाहरण के लिए, जावा (प्रोग्रामिंग भाषा) को एक स्क्रिप्टिंग भाषा के रूप में वर्णित करना असामान्य है क्योंकि इसके लंबे सिंटैक्स और नियमों के बारे में कि कौन सी फाइलें किस वर्ग में मौजूद हैं, और जावा को अंतःक्रियात्मक रूप से निष्पादित करना सीधे संभव नहीं है, क्योंकि स्रोत फ़ाइलों में केवल परिभाषाएँ हो सकती हैं जिसे किसी मेजबान आवेदन या एप्लिकेशन लॉन्चर द्वारा बाहरी रूप से लागू किया जाना चाहिए।
public class HelloWorld {
public void printHelloWorld() {
System.out.println("Hello World");
}
}
कोड का यह टुकड़ा हैलो वर्ल्ड को प्रिंट करने के लिए कुछ भी नहीं करता है क्योंकि मुख्य () को 'हैलोवर्ल्ड' वर्ग में घोषित नहीं किया गया है, हालांकि नीचे वाला उपयोगी होगा।
public class HelloWorld {
public void printHelloWorld() {
System.out.println("Hello World");
}
public static void main(String[] args) {
printHelloWorld();
}
}
उपरोक्त उदाहरण में, मुख्य परिभाषित किया गया है और इसलिए इसे लॉन्चर द्वारा लागू किया जा सकता है, हालांकि यह अभी भी अंतःक्रियात्मक रूप से निष्पादित नहीं किया जा सकता है। इसके विपरीत, पायथन (कंप्यूटर भाषा) एक फ़ाइल में कुछ कार्यों की परिभाषा की अनुमति देता है, या कार्यों से पूरी तरह से बचने और अनिवार्य प्रोग्रामिंग शैली का उपयोग करने या यहां तक कि इसे अंतःक्रियात्मक रूप से उपयोग करने की अनुमति देता है।
print("Hello World")
पायथन कोड की यह एक पंक्ति हैलो वर्ल्ड प्रिंट करती है; यहाँ main() जैसा कोई घोषणात्मक कथन आवश्यक नहीं है।
एक स्क्रिप्टिंग भाषा सामान्यतः स्रोत कोड या बाईटकोड से व्याख्या की गई भाषा होती है।[5] इसके विपरीत, जिस सॉफ़्टवेयर वातावरण (दुभाषिया) के लिए स्क्रिप्ट लिखी जाती है, वह सामान्यतः एक संकलित भाषा में लिखी जाती है और मशीन कोड के रूप में वितरित की जाती है।
स्क्रिप्टिंग भाषाओं को प्रोग्राम के अंतिम उपयोगकर्ताओं द्वारा उपयोग के लिए डिज़ाइन किया जा सकता है - अंतिम उपयोगकर्ता विकास - या केवल डेवलपर्स द्वारा आंतरिक उपयोग के लिए हो सकता है, इसलिए वे स्क्रिप्टिंग भाषा में प्रोग्राम के अंश लिख सकते हैं। स्क्रिप्टिंग भाषाएं सामान्यतः अमूर्त (कंप्यूटर विज्ञान) का उपयोग करती हैं, जो सूचना छिपाने का एक रूप है, उपयोगकर्ताओं को आंतरिक चर प्रकार, डेटा भंडारण और मेमोरी प्रबंधन के विवरण को अलग करने के लिए।
लिपियों को अक्सर निष्पादित करने वाले व्यक्ति द्वारा बनाया या संशोधित किया जाता है,[6] लेकिन उन्हें अक्सर वितरित भी किया जाता है, जैसे कि जब गेम के बड़े हिस्से को स्क्रिप्टिंग भाषा में लिखा जाता है, विशेष रूप से Google क्रोम टी-रेक्स गेम।
इतिहास
शुरुआती मेनफ़्रेम कंप्यूटर (1950 के दशक में) प्रचय संसाधन का उपयोग करने के अतिरिक्त गैर-संवादात्मक थे। IBM की कार्य नियंत्रण भाषा (JCL) बैच प्रोसेसिंग को नियंत्रित करने के लिए इस्तेमाल की जाने वाली भाषाओं का मूलरूप है।[7] पहली इंटरएक्टिव खोल (कंप्यूटिंग) को 1960 के दशक में पहली बार साझा करने वाली प्रणालियों के दूरस्थ संचालन को सक्षम करने के लिए विकसित किया गया था, और ये शेल स्क्रिप्ट्स का उपयोग करते थे, जो कंप्यूटर प्रोग्राम, शेल के भीतर चलने वाले कंप्यूटर प्रोग्राम को नियंत्रित करते थे। अपनी टीआरएसी (प्रोग्रामिंग भाषा) भाषा में केल्विन मूर्स को सामान्यतः कमांड प्रतिस्थापन का आविष्कार करने का श्रेय दिया जाता है, जो स्क्रिप्ट में कमांड को एम्बेड करने की क्षमता होती है, जब व्याख्या की जाती है तो स्क्रिप्ट में एक वर्ण स्ट्रिंग डालें।[8] मॉलटिक्स इन सक्रिय कार्यों को कहते हैं।[9] लुई पॉज़िन ने 1964 के आसपास संगत समय-साझाकरण प्रणाली के लिए RUNCOM नामक कमांड स्क्रिप्ट के लिए एक प्रारंभिक प्रोसेसर लिखा। MIT में स्टुअर्ट मैडनिक ने 1966 में IBM के CP/CMS के लिए एक स्क्रिप्टिंग भाषा लिखी। उन्होंने मूल रूप से इस प्रोसेसर को COMMAND कहा, जिसे बाद में CMS EXEC नाम दिया गया।[10] मल्टिक्स में CTSS RUNCOM की एक शाखा सम्मिलित है, जिसे RUNCOM भी कहा जाता है।[11] CMS EXEC को अंततः EXEC 2 और REXX द्वारा बदल दिया गया।
Tcl और Lua (प्रोग्रामिंग भाषा) जैसी भाषाओं को विशेष रूप से सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं के रूप में डिज़ाइन किया गया था जिसे किसी भी एप्लिकेशन में एम्बेड किया जा सकता है। अन्य भाषाओं जैसे एप्लिकेशनों के लिए विजुअल बेसिक (वीबीए) ने अंतर्निहित प्रणाली की स्वचालन सुविधाओं के साथ मजबूत एकीकरण प्रदान किया। प्रत्येक एप्लिकेशन के लिए एक नई भाषा विकसित करने के अतिरिक्त ऐसी सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं को एम्बेड करना भी स्पष्ट लाभ था, जिससे एप्लिकेशन डेवलपर को भाषा अनुवादक को स्क्रैच से कोड करने की आवश्यकता से राहत मिली और उपयोगकर्ता को कहीं और सीखे गए कौशल को लागू करने की अनुमति मिली।
कुछ सॉफ़्टवेयर में कई अलग-अलग स्क्रिप्टिंग भाषाएँ सम्मिलित होती हैं। आधुनिक वेब ब्राउज़र सामान्यतः ब्राउज़र को एक्सटेंशन लिखने के लिए एक भाषा प्रदान करते हैं, और ब्राउज़र को नियंत्रित करने के लिए कई मानक एम्बेडेड भाषाएं प्रदान करते हैं, जिनमें जावास्क्रिप्ट (ईसीएमएस्क्रिप्ट की एक बोली) या एक्सयूएल सम्मिलित है।
प्रकार
स्क्रिप्टिंग भाषाओं को कई अलग-अलग प्रकारों में वर्गीकृत किया जा सकता है, जिनमें प्रकारों के बीच काफी हद तक ओवरलैप होता है।
गोंद भाषाएं
This section does not cite any sources. (March 2007) (Learn how and when to remove this template message) |
स्क्रिप्टिंग की तुलना अक्सर प्रणाली प्रोग्रामिंग से की जाती है, जैसा कि ऑस्टरहाउट के द्विभाजन या बड़े में प्रोग्रामिंग और छोटे में प्रोग्रामिंग। इस दृष्टि से, स्क्रिप्टिंग गोंद कोड है, जो सॉफ्टवेयर घटकों को जोड़ता है, और इस उद्देश्य के लिए विशेषीकृत भाषा ग्लू भाषा है। पाइपलाइन और शेल स्क्रिप्टिंग गोंद भाषाओं के मूल उदाहरण हैं, और पर्ल को प्रारम्भ में इसी भूमिका को भरने के लिए विकसित किया गया था। वेब विकास को ग्लू भाषा का उपयोग माना जा सकता है, जो डेटाबेस और वेब सर्वर के बीच इंटरफेसिंग करता है। लेकिन अगर स्क्रिप्ट में पर्याप्त मात्रा में तर्क लिखा जाता है, तो इसे केवल एक अन्य सॉफ्टवेयर घटक के रूप में जाना जाता है, न कि गोंद के रूप में।
ग्लू भाषा विशेष रूप से लिखने और बनाए रखने के लिए उपयोगी हैं:
- कमांड शेल के लिए कस्टम कमांड;[12]
- उन प्रोग्रामों की तुलना में छोटे प्रोग्राम जिन्हें संकलित भाषा में बेहतर तरीके से कार्यान्वित किया जाता है;[13]
- एक्जीक्यूटेबल्स के लिए रैपर प्रोग्राम, जैसे एक बैच फ़ाइल जो फ़ाइलों को स्थानांतरित या युक्तियोजित करती है और ऑपरेटिंग सिस्टम के साथ अन्य काम करती है जैसे वर्ड प्रोसेसर, स्प्रेडशीट, डेटा बेस, असेंबलर, कंपाइलर, आदि;[14]
- लिपियाँ जो बदल सकती हैं;[15]
- एक समाधान का तेजी से एप्लिकेशन विकास अंततः दूसरे, सामान्यतः संकलित, भाषा में कार्यान्वित किया जाता है।[citation needed]
गोंद भाषा उदाहरण:
- एप्पलस्क्रिप्ट
- ठंडा गलन
- डिजिटल कमांड भाषा
- एम्बेड करने योग्य सामान्य लिस्प
- ईसीएल प्रोग्रामिंग भाषा
- एरलांग (प्रोग्रामिंग भाषा)
- सीएमएस कार्यकारी
- EXEC2
- नौकरी नियंत्रण भाषा
- कॉफीस्क्रिप्ट
- जूलिया (प्रोग्रामिंग भाषा)
- जेस्क्रिप्ट और जावास्क्रिप्ट
- लुआ (प्रोग्रामिंग भाषा)
- एम 4 (कंप्यूटर भाषा)
- पर्ल (5 और राकू (प्रोग्रामिंग भाषा))
- पीएचपी
- विंडोज पॉवरशेल
- शुद्ध (प्रोग्रामिंग भाषा)
- पायथन (प्रोग्रामिंग भाषा)
- रिबोल
- लाल (प्रोग्रामिंग भाषा)
- रेक्स
- नेटरेक्स
- रूबी (प्रोग्रामिंग भाषा)
- योजना (प्रोग्रामिंग भाषा)
- टीसीएल
- यूनिक्स शैल स्क्रिप्ट (के शेल , सी खोल , बैश (यूनिक्स शेल), बॉर्न शेल और अन्य)
- वीबीस्क्रिप्ट
- कार्य प्रवाह भाषा
- एक्सएसएलटी
ऑपरेटिंग सिस्टम या एप्लिकेशन घटकों के संपर्क में आने वाली मैक्रो (कंप्यूटर साइंस) भाषाएं गोंद भाषाओं के रूप में काम कर सकती हैं। इनमें एप्लिकेशन के लिए विजुअल बेसिक, वर्डबेसिक, लोटसस्क्रिप्ट, CorelScript, हमिंगबर्ड बेसिक, क्विकस्क्रिप्ट, Rexx, सम्मिलित हैं। us/library/ms994312.aspx SaxBasic, और WinWrap Basic। एडब्ल्यूके जैसे अन्य उपकरणों को भी गोंद भाषा माना जा सकता है, जैसा कि Windows स्क्रिप्ट होस्ट इंजन (VBScript, JScript और VBA द्वारा विंडोज़ में डिफ़ॉल्ट रूप से लागू किया जा सकता है और Rexx, Perl, Tcl, Python, XSLT के कार्यान्वयन सहित तृतीय-पक्ष इंजन, रूबी, मॉडर्न पास्कल, डेल्फी और सी)। अधिकांश एप्लिकेशन वस्तु मॉडल या अपने स्वयं के कार्यों के माध्यम से ऑपरेटिंग सिस्टम घटकों का उपयोग और उपयोग कर सकते हैं।
प्रोग्रामेबल कैलकुलेटर जैसे अन्य उपकरणों में भी ग्लू भाषा हो सकती हैं; विंडोज सीई जैसे पीडीए के ऑपरेटिंग सिस्टम में देशी या तीसरे पक्ष के मैक्रो उपकरण उपलब्ध हो सकते हैं जो सामान्य गोंद भाषाओं के कार्यान्वयन के अलावा एप्लिकेशनों को एक साथ जोड़ते हैं - जिसमें विंडोज एनटी, डॉस और कुछ यूनिक्स खोल , रेक्स, मॉडर्न पास्कल, पीएचपी सम्मिलित हैं। , और पर्ल। OS संस्करण के आधार पर, WSH और डिफ़ॉल्ट स्क्रिप्ट इंजन (VBScript और JScript) उपलब्ध हैं।
प्रोग्राम करने योग्य कैलकुलेटर को गोंद भाषाओं में तीन तरीकों से प्रोग्राम किया जा सकता है। उदाहरण के लिए, टेक्सस उपकरण TI-92, फ़ैक्टरी डिफ़ॉल्ट रूप से कमांड स्क्रिप्ट भाषा के साथ प्रोग्राम किया जा सकता है। कैलकुलेटर की TI-NSpire श्रृंखला में स्क्रिप्टिंग और गोंद भाषा Lua (प्रोग्रामिंग भाषा) को सम्मिलित करने को इसके उत्तराधिकारी के रूप में देखा जा सकता है। अधिकांश रेखांकन कैलकुलेटरों की प्राथमिक ऑन-बोर्ड उच्च-स्तरीय प्रोग्रामिंग भाषाएं (अक्सर मूल वेरिएंट, कभी-कभी लिस्प डेरिवेटिव, और अधिक असामान्य रूप से, सी डेरिवेटिव) कई मामलों में कैलकुलेटर फ़ंक्शंस को एक साथ चिपका सकती हैं - जैसे ग्राफ़, सूचियाँ, मैट्रिसेस, आदि। अधिक व्यापक मूल संस्करण के तृतीय-पक्ष कार्यान्वयन जो इस लेख में गोंद भाषाओं के रूप में सूचीबद्ध वेरिएंट के करीब हो सकते हैं- और टीआई और एचपी ग्राफिंग कैलकुलेटर पर पर्ल, रेक्स या विभिन्न ऑपरेटिंग सिस्टम शेल को लागू करने के प्रयासों का भी उल्लेख किया गया है। कुछ टीआई और एचपी मशीनों के लिए पीसी-आधारित सी पार compilers का उपयोग उन उपकरणों के साथ किया जाता है जो सी और पर्ल, रेक्स, एडब्ल्यूके, और शेल स्क्रिप्ट को पर्ल, मॉडर्न पास्कल, वीबीस्क्रिप्ट से और पर्ल के बीच कनवर्ट करते हैं और प्रोग्राम लिखना संभव बनाते हैं। कैलकुलेटर पर अंतिम कार्यान्वयन (संकलित प्रोग्राम के रूप में) के लिए एक गोंद भाषा में।[citation needed]
एडिटर्स भाषाएं
कई टेक्स्ट एडिटर्स एडिटर्स में निर्मित मैक्रो भाषा का उपयोग करके लिखे गए मैक्रोज़ का समर्थन करते हैं, उदाहरण के लिए, सेमवेयर एडिटर्स (टीएसई), विम (टेक्स्ट एडिटर्स ) (वीआईएम), या बाहरी कार्यान्वयन का उपयोग करते हुए, उदाहरण के लिए, एक्सईडीआईटी, या दोनों, उदा। , KEDIT । कभी-कभी टेक्स्ट एडिटर्स और एडिट मैक्रोज़ का उपयोग अन्य एप्लिकेशन प्रदान करने के लिए कवर के तहत किया जाता है, उदाहरण के लिए, संवादी मॉनिटर प्रणाली में फाइललिस्ट और आरडीआरएलआईएसटी।
कार्य नियंत्रण भाषाएं और खोल
स्क्रिप्टिंग भाषाओं का एक प्रमुख वर्ग कार्य नियंत्रण (कंप्यूटिंग) के स्वचालन से विकसित हुआ है, जो प्रणाली प्रोग्राम के व्यवहार को प्रारम्भ करने और नियंत्रित करने से संबंधित है।[16] (इस अर्थ में, कोई गोले को आईबीएम की जेसीएल, या जॉब कंट्रोल भाषा के वंशज होने के बारे में सोच सकता है, जिसका उपयोग इस उद्देश्य के लिए किया गया था)। इनमें से कई भाषाओं के दुभाषिए यूनिक्स शेल या MS-DOS जैसे कमांड-लाइन दुभाषियों के रूप में दोगुने हैं COMMAND.COM
. अन्य, जैसे कि AppleScript स्क्रिप्ट बनाने के लिए अंग्रेजी जैसी कमांड का उपयोग करने की पेशकश करते हैं।
जीयूआई स्क्रिप्टिंग
ग्राफिकल यूजर इंटरफेस के आगमन के साथ, कंप्यूटर को नियंत्रित करने के लिए एक विशेष प्रकार की स्क्रिप्टिंग भाषा का उदय हुआ। ये भाषाएं उन्हीं ग्राफ़िक विंडो, मेनू, बटन आदि के साथ इंटरैक्ट करती हैं, जो एक मानव उपयोगकर्ता करता है। वे उपयोगकर्ता के कार्यों का अनुकरण करके ऐसा करते हैं। इन भाषाओं का उपयोग सामान्यतः उपयोगकर्ता क्रियाओं को स्वचालित करने के लिए किया जाता है। ऐसी भाषाओं को मैक्रो (कंप्यूटर विज्ञान) # कीबोर्ड और माउस मैक्रोज़ भी कहा जाता है जब नियंत्रण सिम्युलेटेड कुंजी प्रेस या माउस क्लिक के माध्यम से होता है, साथ ही टच-सक्रिय स्क्रीन पर टैपिंग या प्रेसिंग के माध्यम से होता है।
सिद्धांत रूप में इन भाषाओं का उपयोग किसी भी जीयूआई एप्लिकेशन को नियंत्रित करने के लिए किया जा सकता है; लेकिन, व्यवहार में उनका उपयोग सीमित है क्योंकि उनके उपयोग के लिए एप्लिकेशन और ऑपरेटिंग सिस्टम से समर्थन की आवश्यकता होती है। इस सीमा के कुछ अपवाद हैं। कुछ जीयूआई स्क्रिप्टिंग भाषाएं ग्राफिकल ऑब्जेक्ट्स को उनके डिस्प्ले स्क्रीन पिक्सेल से पहचानने पर आधारित होती हैं। ये GUI स्क्रिप्टिंग भाषाएँ ऑपरेटिंग सिस्टम या एप्लिकेशन के समर्थन पर निर्भर नहीं करती हैं।
जब जीयूआई उपयुक्त इंटरफेस प्रदान करता है, जैसे कि आईबीएम कार्यस्थल खोल में, एक सामान्य स्क्रिप्टिंग भाषा, उदा। OREXX, जीयूआई स्क्रिप्ट लिखने के लिए इस्तेमाल किया जा सकता है।
एप्लिकेशन-विशिष्ट भाषाएं
एप्लिकेशन विशिष्ट भाषाओं को कई अलग-अलग श्रेणियों में विभाजित किया जा सकता है, अर्थात स्टैंडअलोन आधारित ऐप भाषाएँ (निष्पादन योग्य) या आंतरिक एप्लिकेशन विशिष्ट भाषाएँ (पोस्टस्क्रिप्ट, xml, gscript कुछ व्यापक रूप से वितरित स्क्रिप्ट के रूप में, क्रमशः Adobe, MS और Google द्वारा कार्यान्वित) अन्य में सम्मिलित हैं एप्लिकेशन उपयोगकर्ता की आवश्यकताओं के अनुरूप एक मुहावरेदार स्क्रिप्टिंग भाषा। इसी तरह, कई कंप्यूटर गेम प्रणाली गैर-खिलाड़ी पात्रों और खेल के वातावरण के क्रमादेशित कार्यों को व्यक्त करने के लिए एक कस्टम स्क्रिप्टिंग भाषा का उपयोग करते हैं। इस प्रकार की भाषाएँ एक ही एप्लिकेशन के लिए डिज़ाइन की गई हैं; और, जबकि वे सतही रूप से एक विशिष्ट सामान्य-उद्देश्य वाली भाषा से मिलते-जुलते हो सकते हैं (उदाहरण के लिए क्वेकसी, सी के बाद प्रतिरूपित), उनके पास कस्टम विशेषताएं हैं जो उन्हें अलग करती हैं। Emacs Lisp, जबकि Lisp (प्रोग्रामिंग भाषा) की पूरी तरह से गठित और सक्षम बोली, में कई विशेष विशेषताएं सम्मिलित हैं जो इसे Emacs के संपादन कार्यों को विस्तारित करने के लिए सबसे उपयोगी बनाती हैं। एक एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषा को एक डोमेन-विशिष्ट प्रोग्रामिंग भाषा के रूप में देखा जा सकता है जो एकल एप्लिकेशन के लिए विशिष्ट है।
विस्तार/एम्बेड करने योग्य भाषाएं
एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषाओं को एप्लिकेशन प्रोग्राम में एम्बेड करने योग्य बनाने के उद्देश्य से कई भाषाओं को डिज़ाइन किया गया है। एप्लिकेशन प्रोग्रामर (सी या अन्य प्रणाली भाषा में काम कर रहे) में हुक सम्मिलित हैं जहां स्क्रिप्टिंग भाषा एप्लिकेशन को नियंत्रित कर सकती है। ये भाषाएँ तकनीकी रूप से किसी एप्लिकेशन-विशिष्ट एक्सटेंशन भाषा के समतुल्य हो सकती हैं, लेकिन जब कोई एप्लिकेशन एक सामान्य भाषा को एम्बेड करता है, तो उपयोगकर्ता को एप्लिकेशन से एप्लिकेशन में कौशल स्थानांतरित करने में सक्षम होने का लाभ मिलता है। एक अधिक सामान्य विकल्प केवल एक लाइब्रेरी (अक्सर एक सी लाइब्रेरी) प्रदान करना है, जिसका उपयोग सामान्य-उद्देश्य वाली भाषा विशिष्ट डोमेन के लिए भाषा को संशोधित किए बिना, एप्लिकेशन को नियंत्रित करने के लिए कर सकती है।
जावास्क्रिप्ट के रूप में प्रारम्भ हुआ और मुख्य रूप से अभी भी वेब ब्राउज़र के अंदर स्क्रिप्टिंग के लिए एक भाषा है; हालाँकि, ECMAScript के रूप में भाषा के मानकीकरण ने इसे सामान्य-उद्देश्य वाली एम्बेड करने योग्य भाषा के रूप में लोकप्रिय बना दिया है। विशेष रूप से, mozilla कार्यान्वयन स्पाइडरमोन्की (जावास्क्रिप्ट इंजन) याहू जैसे कई वातावरणों में सन्निहित है! विजेट इंजन। ईसीएमएस्क्रिप्ट कार्यान्वयन को एम्बेड करने वाले अन्य एप्लिकेशनों में एडोब प्रणाली्स उत्पाद एडोब फ्लैश (ActionScript ) और एडोबी एक्रोबैट (पीडीएफ फाइलों की स्क्रिप्टिंग के लिए) सम्मिलित हैं।
टीसीएल को एक विस्तार भाषा के रूप में बनाया गया था, लेकिन पायथन (प्रोग्रामिंग भाषा), पर्ल, और रूबी (प्रोग्रामिंग भाषा) जैसी भूमिकाओं में एक सामान्य-उद्देश्य वाली भाषा के रूप में अधिक बार उपयोग किया जाने लगा है। दूसरी ओर, रेक्स मूल रूप से एक कार्य नियंत्रण भाषा के रूप में बनाया गया था, लेकिन व्यापक रूप से एक विस्तार भाषा के साथ-साथ एक सामान्य-उद्देश्य वाली भाषा के रूप में उपयोग किया जाता है। पर्ल एक सामान्य-उद्देश्य वाली भाषा है, लेकिन इसमें ऑपरल (1990) बोली थी, जिसमें पर्ल 4 बाइनरी सम्मिलित थी जिसमें ओरेकल कॉल इंटरफ़ेस संकलित था। हालांकि इसे बाद में एक लाइब्रेरी (पर्ल मॉड्यूल), [1] द्वारा बदल दिया गया है। .org/module/DBD::Oracle DBD::Oracle]।[17][18] अन्य जटिल और कार्य-उन्मुख एप्लिकेशन एक एम्बेडेड प्रोग्रामिंग भाषा को सम्मिलित और उजागर कर सकते हैं ताकि उनके उपयोगकर्ताओं को अधिक नियंत्रण की अनुमति मिल सके और उन्हें उपयोगकर्ता इंटरफ़ेस के माध्यम से उपलब्ध होने की तुलना में अधिक कार्यक्षमता प्रदान की जा सके, चाहे वह कितना भी परिष्कृत क्यों न हो। उदाहरण के लिए, Autodesk माया 3डी संलेखन उपकरण माया एंबेडेड भाषा, या ब्लेंडर (सॉफ्टवेयर) को एम्बेड करता है जो इस भूमिका को भरने के लिए पायथन (प्रोग्रामिंग भाषा) का उपयोग करता है।
कुछ अन्य प्रकार के एप्लिकेशन जिन्हें तेज फीचर जोड़ने या ट्वीक-एंड-रन साइकिल (जैसे खेल यंत्र) की आवश्यकता होती है, वे भी एक एम्बेडेड भाषा का उपयोग करते हैं। विकास के दौरान, यह उन्हें प्रोटोटाइप सुविधाओं को तेजी से और अधिक स्वतंत्र रूप से ट्वीक करने की अनुमति देता है, बिना उपयोगकर्ता को एप्लिकेशन के आंतरिक कामकाज के गहन ज्ञान की आवश्यकता के बिना या प्रत्येक ट्वीक के बाद इसे फिर से बनाने के लिए (जिसमें काफी समय लग सकता है) . इस उद्देश्य के लिए उपयोग की जाने वाली स्क्रिप्टिंग भाषाएँ अधिक सामान्य और अधिक प्रसिद्ध लुआ (प्रोग्रामिंग भाषा) और पायथन (प्रोग्रामिंग भाषा) से लेकर एंजेलस्क्रिप्ट और गिलहरी (प्रोग्रामिंग भाषा) जैसी कम-ज्ञात हैं।
Ch (कंप्यूटर प्रोग्रामिंग) उद्योग के लिए C/C++ एप्लिकेशन प्रोग्राम में एम्बेड करने के लिए एक और C संगत स्क्रिप्टिंग विकल्प है।
यह भी देखें
- आर्किटेक्चर विवरण भाषा
- संलेखन भाषा
- स्वचालन बनाएँ[19]
- विन्यास फाइल
- दुभाषिया निर्देश / शेबांग (यूनिक्स)
- टेंपलेटिंग भाषा
संदर्भ
- ↑ "ECMAScript 2019 Language Specification". www.ecma-international.org. Retrieved 2018-04-02.
- ↑ Sheppard, Doug (2000-10-16). "शुरुआती लोगों के लिए पर्ल का परिचय". dev.perl.org. Retrieved 2011-01-08.
- ↑ Programming is Hard, Let's Go Scripting…, Larry Wall, December 6, 2007
- ↑ Hey, Tony; Pápay, Gyuri (2014). The Computing Universe: A Journey through a Revolution. Cambridge University Press. p. 76. ISBN 978-1-31612322-5, "A major characteristic of modern scripting languages is their interactivity, sometimes referred to as a REPL programming environment. […] The characteristics of ease of use and immediate execution with a REPL environment are sometimes taken as the definition of a scripting language."
{{cite book}}
: CS1 maint: postscript (link) - ↑ Brown, Vicki. "स्क्रिप्टिंग भाषाएँ". MacTech | The journal of Apple technology. (in English). Retrieved 2009-07-22.
{{cite web}}
: CS1 maint: url-status (link) - ↑ Loui, Ronald (2008). "पटकथा की प्रशंसा में". IEEE Computer. Archived from the original on 2015-09-23. Retrieved 2013-08-27.
- ↑ IBM Corporation (1967). IBM System/360 Operating System Job Control Language (C28-6529-4) (PDF).
- ↑ Mooers, Calvin. "टीआरएसी, प्रतिक्रियाशील टाइपराइटर के लिए एक प्रक्रिया-वर्णन भाषा". Archived from the original on 2001-04-25. Retrieved March 9, 2012.
- ↑ Van Vleck, Thomas (ed.). "Multics Glossary – A — (active function)". Retrieved March 9, 2012.
- ↑ Varian, Melinda. "VM AND THE VM COMMUNITY: Past, Present, and Future" (PDF). Retrieved March 9, 2012.
- ↑ Van Vleck, Thomas (ed.). "Multics Glossary – R — (RUNCOM)". Retrieved March 9, 2012.
- ↑ "What is glue code (glue code language)? - Definition from WhatIs.com". WhatIs.com (in English). Retrieved 2022-01-31.
- ↑ Larson, Quincy (10 January 2020). "व्याख्या बनाम संकलित प्रोग्रामिंग भाषाएँ". Free Code Camp. Retrieved 23 February 2022.
{{cite web}}
: CS1 maint: url-status (link) - ↑ Balkis, Anton. "लिपियाँ है". Raja Tips. Retrieved 23 February 2022.
{{cite web}}
: CS1 maint: url-status (link) - ↑ Axelsson, Mats. "शेल स्क्रिप्ट - आप क्या बदल सकते हैं". Linux Hint. Retrieved 23 February 2022.
{{cite web}}
: CS1 maint: url-status (link) - ↑ "जॉब कंट्रोल बेसिक्स (बैश रेफरेंस मैनुअल)". www.gnu.org. Retrieved 2022-05-20.
- ↑ Oraperl, CPAN]
- ↑ Perl, Underground Oracle FAQ
- ↑ van Rossum, Guido (January 6–8, 1998). "यह सब एक साथ गोंद". Glue It All Together With Python. python.org.
अग्रिम पठन
- Barron, David William (2001). The World of Scripting Languages. ISBN 0-471-99886-9.
बाहरी संबंध
- Patterns for Scripted Applications at the Wayback Machine (archived October 10, 2004)