स्क्रिप्टिंग भाषा: Difference between revisions
(Created page with "{{Short description|Programming language for run-time events}} thumb|जीडीस्क्रिप्ट3.4एक स्क्रिप्टि...") |
m (Sugatha moved page भाषा का अंकन to स्क्रिप्टिंग भाषा without leaving a redirect) |
(No difference)
|
Revision as of 15:57, 22 March 2023
एक स्क्रिप्टिंग भाषा या स्क्रिप्ट भाषा एक प्रोग्रामिंग भाषा है जिसका उपयोग किसी मौजूदा सिस्टम की सुविधाओं में हेरफेर करने, अनुकूलित करने और स्वचालित करने के लिए किया जाता है।[1] स्क्रिप्टिंग लैंग्वेज आमतौर पर संकलक के बजाय रनटाइम (कार्यक्रम जीवनचक्र चरण) पर इंटरप्रेटर (कंप्यूटिंग) होती हैं।
एक स्क्रिप्टिंग भाषा की भाषा आदिम आमतौर पर प्राथमिक कार्य या एपीआई कॉल होती हैं,[clarification needed] और स्क्रिप्टिंग भाषा उन्हें अधिक कार्यक्रमों में संयोजित करने की अनुमति देती है। स्क्रिप्टिंग के माध्यम से स्वचालित किए जा सकने वाले वातावरण में अनुप्रयोग प्रक्रिया सामग्री, पाठ संपादक , वेब पृष्ठ , ऑपरेटिंग सिस्टम शैल स्क्रिप्ट , अंतः स्थापित प्रणाली और कंप्यूटर खेल शामिल हैं। किसी विशेष वातावरण के लिए एक स्क्रिप्टिंग भाषा को एक डोमेन-विशिष्ट भाषा के रूप में देखा जा सकता है; किसी एप्लिकेशन को स्क्रिप्ट करने के मामले में, इसे एक्सटेंशन लैंग्वेज के रूप में भी जाना जाता है। स्क्रिप्टिंग भाषाओं को कभी-कभी बहुत उच्च स्तरीय प्रोग्रामिंग भाषा रूप में भी संदर्भित किया जाता है, क्योंकि वे कभी-कभी उच्च स्तर के अमूर्तता पर या नियंत्रण भाषाओं के रूप में संचालित होती हैं, विशेष रूप से मेनफ्रेम पर नौकरी नियंत्रण भाषाओं के लिए।
'स्क्रिप्टिंग लैंग्वेज' शब्द का प्रयोग व्यापक अर्थ में भी किया जाता है, अर्थात्, गतिशील प्रोग्रामिंग भाषा उच्च स्तरीय भाषा | हाई-लेवल सामान्य प्रयोजन प्रोग्रामिंग भाषा सामान्य रूप से संदर्भित करने के लिए; कुछ कड़ाई से व्याख्या की जाने वाली भाषाएं हैं, जबकि अन्य संकलन के एक रूप का उपयोग करते हैं। इस संदर्भ में, स्क्रिप्ट शब्द ऐसी भाषा में एक छोटे कार्यक्रम को संदर्भित करता है; आम तौर पर, एक फ़ाइल में समाहित होता है, और कोड की कुछ हज़ार पंक्तियों से बड़ा नहीं होता है।
स्क्रिप्टिंग भाषाओं का स्पेक्ट्रम छोटे से लेकर बड़े और अत्यधिक डोमेन-विशिष्ट भाषा से लेकर सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषाओं तक होता है। एक भाषा छोटी और अत्यधिक डोमेन-विशिष्ट के रूप में शुरू हो सकती है और बाद में एक पोर्टेबल और सामान्य-उद्देश्य वाली भाषा में विकसित हो सकती है; इसके विपरीत, एक सामान्य-उद्देश्य वाली भाषा बाद में विशेष डोमेन-विशिष्ट बोलियों का विकास कर सकती है।
उदाहरण
- AWK, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा है, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है।
- बैश (यूनिक्स शेल), यूनिक्स, जीएनयू और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम और वातावरण पर उपयोग के लिए एक व्याख्या की गई स्क्रिप्टिंग भाषा।
- ग्रूवी (प्रोग्रामिंग भाषा) जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग लैंग्वेज है, जो पायथन (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग भाषा) और स्मॉलटॉक (प्रोग्रामिंग लैंग्वेज) के समान है।
- एकमा स्क्रिप्ट (बाद में: ईसीएमएस्क्रिप्ट), मूल रूप से एक बहुत छोटी, अत्यधिक डोमेन-विशिष्ट भाषा, जो वेब पेज को गतिशील रूप से संशोधित करने के लिए एक वेब ब्राउज़र के भीतर चलने तक सीमित है, जो बाद में व्यापक रूप से पोर्टेबल सामान्य प्रयोजन प्रोग्रामिंग भाषा में विकसित हुई।
- लिस्प (प्रोग्रामिंग भाषा), विशिष्ट अनुप्रयोगों के लिए सामान्य-उद्देश्य वाली भाषाओं और विस्तार भाषाओं का एक परिवार, उदा। 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। AWK जैसे अन्य उपकरणों को भी गोंद भाषा माना जा सकता है, जैसा कि 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)