स्क्रिप्टिंग भाषा
एक स्क्रिप्टिंग भाषा या स्क्रिप्ट भाषा एक प्रोग्रामिंग भाषा है जिसका उपयोग किसी वर्तमान प्रणाली की सुविधाओं में युक्तियोजित करने, अनुकूलित करने और स्वचालित करने के लिए किया जाता है।[1] स्क्रिप्टिंग भाषा सामान्यतः संकलक के अतिरिक्त क्रम (निष्पादन जीवनचक्र चरण) पर इंटरप्रेटर (कंप्यूटिंग) होती हैं।
एक स्क्रिप्टिंग भाषा की भाषा साधारण सामान्यतः प्राथमिक कार्य या एपीआई कॉल होती हैं,[clarification needed] और स्क्रिप्टिंग भाषा उन्हें अधिक प्रोग्रामों में संयोजित करने की अनुमति देती है। स्क्रिप्टिंग के माध्यम से स्वचालित किए जा सकने वाले वातावरण में एप्लिकेशन सॉफ्टवेयर, टेक्स्ट एडिटर्स , वेब पृष्ठ , ऑपरेटिंग सिस्टम शैल स्क्रिप्ट , अंतः स्थापित प्रणाली और कंप्यूटर गेम सम्मिलित हैं। किसी विशेष वातावरण के लिए एक स्क्रिप्टिंग भाषा को एक डोमेन-विशिष्ट भाषा के रूप में देखा जा सकता है; किसी एप्लिकेशन को स्क्रिप्ट करने के की स्थिति में, इसे एक्सटेंशन भाषा के रूप में भी जाना जाता है। स्क्रिप्टिंग भाषाओं को कभी-कभी बहु उच्च स्तरीय प्रोग्रामिंग भाषा रूप में भी संदर्भित किया जाता है, क्योंकि वे कभी-कभी उच्च स्तर के अमूर्तता पर या नियंत्रण भाषाओं के रूप में संचालित होती हैं, विशेष रूप से मेनफ्रेम पर कार्य नियंत्रण भाषाओं के लिए।
'स्क्रिप्टिंग भाषा' शब्द का प्रयोग व्यापक अर्थ में भी किया जाता है, अर्थात्, गतिशील प्रोग्रामिंग भाषा उच्च स्तरीय भाषा / हाई-लेवल सामान्य उद्देश्य प्रोग्रामिंग भाषा सामान्य रूप से संदर्भित करने के लिए; कुछ दृढ़ता से व्याख्या की जाने वाली भाषाएं हैं, जबकि अन्य संकलन के एक रूप का उपयोग करते हैं। इस संदर्भ में, स्क्रिप्ट शब्द ऐसी भाषा में एक छोटे प्रोग्राम को संदर्भित करता है; सामान्यतः , एकल फ़ाइल में समाहित होता है, और कोड की कुछ हज़ार पंक्तियों से बड़ा नहीं होता है।
स्क्रिप्टिंग भाषाओं का विस्तार छोटे से लेकर बड़े और अत्यधिक डोमेन-विशिष्ट भाषा से लेकर सामान्य-उद्देश्य वाली प्रोग्रामिंग भाषाओं तक होता है। एक भाषा छोटी और अत्यधिक डोमेन-विशिष्ट के रूप में प्रारम्भ हो सकती है और बाद में एक पोर्टेबल और सामान्य-उद्देश्य वाली भाषा में विकसित हो सकती है; इसके विपरीत, एक सामान्य-उद्देश्य वाली भाषा बाद में विशेष डोमेन-विशिष्ट उपभाषाओं का विकास कर सकती है।
उदाहरण
- एडब्ल्यूके, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा है, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है।
- बैश (यूनिक्स शेल), यूनिक्स, जीएनयू और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम और वातावरण पर उपयोग के लिए एक व्याख्या की गई स्क्रिप्टिंग भाषा।
- ग्रूवी (प्रोग्रामिंग भाषा) जावा प्लेटफॉर्म के लिए एक ऑब्जेक्ट-ओरिएंटेड स्क्रिप्टिंग भाषा है, जो पायथन (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा) और स्मॉलटॉक (प्रोग्रामिंग भाषा) के समान है।
- एकमा स्क्रिप्ट (बाद में: ईसीएमएस्क्रिप्ट), मूल रूप से एक बहुत छोटी, अत्यधिक डोमेन-विशिष्ट भाषा, जो वेब पेज को गतिशील रूप से संशोधित करने के लिए एक वेब ब्राउज़र के भीतर चलने तक सीमित है, जो बाद में व्यापक रूप से पोर्टेबल सामान्य उद्देश्य प्रोग्रामिंग भाषा में विकसित हुई।
- लिस्प (प्रोग्रामिंग भाषा), विशिष्ट एप्लिकेशनों के लिए सामान्य-उद्देश्य वाली भाषाओं और विस्तार भाषाओं का एक वर्ग, उदा. एमेक्स लिस्प, एमेक्स एडिटर्स के लिए।
- लुआ (प्रोग्रामिंग भाषा) , सामान्य रूप से एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में उपयोग करने के लिए डिज़ाइन की गई भाषा, कई अलग-अलग एप्लिकेशनों द्वारा उपयोग की जाती है।
- पर्ल,[2] एक टेक्स्ट-प्रोसेसिंग भाषा जो बाद में एक सामान्य-उद्देश्य वाली भाषा के रूप में विकसित हुई, जिसे विभिन्न एप्लिकेशनों के लिए एक विस्तार भाषा के रूप में भी उपयोग किया गया।
- पावरशेल, एक स्क्रिप्टिंग भाषा जो मूल रूप से माइक्रोसॉफ़्ट विंडोज़ के साथ उपयोग के लिए है परन्तु बाद में मैक ओएस और लिनक्स के लिए भी उपलब्ध है।
- पायथन (प्रोग्रामिंग भाषा), सरल सिंटैक्स वाली एक सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषा, विशेष रूप से टेक्स्ट प्रोसेसिंग के अनुकूल और एक विस्तार भाषा के रूप में भी उपयोग की जाती है।
- रेक्स, आईबीएम के वीएम/एसपी आर3 में एक स्क्रिप्टिंग भाषा। नेटरेक्स और ऑब्जेक्ट रेक्स रेक्स पर आधारित हैं। कई प्लेटफार्मों पर उपयोग किया जाता है। एप्लिकेशनों के लिए विस्तार भाषाओं के रूप में भी उपयोग किया जाता है।
- रूबी_ (प्रोग्रामिंग_भाषा), एक सामान्य उद्देश्य प्रोग्रामिंग भाषा जो कई प्रोग्रामिंग प्रतिमानों का समर्थन करती है। इसे उत्पादकता और सरलता पर प्रमुखता देने के साथ डिजाइन किया गया था।
- एसईडी, अधिकांश यूनिक्स जैसे ऑपरेटिंग सिस्टम में उपलब्ध एक टेक्स्ट-प्रोसेसिंग भाषा, जिसे अन्य ऑपरेटिंग सिस्टम में पोर्ट किया गया है।
- टीसीएल,[3] यूनिक्स जैसे वातावरण के लिए एक स्क्रिप्टिंग भाषा, जो 1990 के दशक में लोकप्रिय थी। जीयूआई एप्लिकेशनों को विकसित करने के लिए टीसी (सॉफ्टवेयर) के संयोजन के साथ प्रयोग किया जा सकता है।
- एप्लिकेशनों के लिए विज़ुअल बेसिक (वीबीए), विशेष रूप से माइक्रोसॉफ़्ट ऑफिस एप्लिकेशनों के लिए विकसित एक विस्तार भाषा है, और कई गैर-माइक्रोसॉफ़्ट एप्लिकेशनों में कम से कम आंशिक रूप से लागू की गई है।
कुछ गेम प्रणाली को व्यापक रूप से विशिष्ट भाषाओं का उपयोग करके स्क्रिप्टिंग एक्सटेंशन द्वारा कार्यक्षमता में विस्तारित किया गया है, विशेष रूप से सेकंड लाइफ वर्चुअल वर्ल्ड (लिंडन स्क्रिप्टिंग भाषा का उपयोग करके) और रेलरोड सिमुलेटर के ट्रेन्ज़ फ़्रैंचाइज़ी (ट्रेनज़स्क्रिप्ट का उपयोग करके)। कुछ गेमों में, जैसे वेस्नोथ, उपयोगकर्ता उपयोगकर्ता द्वारा योगदान की गई स्क्रिप्ट द्वारा परिभाषित गेम के विशिष्ट संस्करण गेम सकते हैं।
विशेषताएं
विशिष्ट स्क्रिप्टिंग भाषाओं को सीखने और लिखने के लिए बहुत तीव्र होने का विचार है, या तो लघु स्रोत कोड फ़ाइलों के रूप में या अंतःक्रियात्मक रूप से रीड-इवल-प्रिंट लूप (आरईपीएल, भाषा शेल) में।[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] परन्तु उन्हें प्रायः वितरित भी किया जाता है, जैसे कि जब गेम के बड़े भाग को स्क्रिप्टिंग भाषा में लिखा जाता है, विशेष रूप से गूगल क्रोम टी-रेक्स गेम।
इतिहास
प्रारंभिक मेनफ़्रेम कंप्यूटर (1950 के दशक में) बैच प्रोसेसिंग का उपयोग करने के अतिरिक्त गैर-अन्योन्यक्रिया थे। आईबीएम की कार्य नियंत्रण भाषा (जेसीएल) बैच प्रोसेसिंग को नियंत्रित करने के लिए उपयोग की जाने वाली भाषाओं का मूलरूप है।[7]
प्रथम अन्योन्यक्रिया शेल (कंप्यूटिंग) को 1960 के दशक में प्रथम बार साझा करने वाली प्रणालियों के दूरस्थ संचालन को सक्षम करने के लिए विकसित किया गया था, और ये शेल स्क्रिप्ट् का उपयोग करते थे, जो कंप्यूटर प्रोग्राम, शेल के भीतर चलने वाले कंप्यूटर प्रोग्राम को नियंत्रित करते थे। अपनी टीआरएसी (प्रोग्रामिंग भाषा) भाषा में केल्विन मूर्स को सामान्यतः कमांड प्रतिस्थापन का आविष्कार करने का श्रेय दिया जाता है, जो स्क्रिप्ट में कमांड को अंत: स्थापित करने की क्षमता होती है, जब व्याख्या की जाती है तो स्क्रिप्ट में एक वर्ण स्ट्रिंग डालें।[8] मॉलटिक्स इन सक्रिय कार्यों को कहते हैं।[9] लुई पॉज़िन ने 1964 के समीप संगत समय-साझाकरण प्रणाली के लिए रनकॉम नामक कमांड स्क्रिप्ट के लिए एक प्रारंभिक प्रोसेसर लिखा। एमआईटी में स्टुअर्ट मैडनिक ने 1966 में आईबीएम के सीपी/सीएमएस के लिए एक स्क्रिप्टिंग भाषा लिखी। उन्होंने मूल रूप से इस प्रोसेसर को COMMAND कहा, जिसे बाद में सीएमएस ईएक्सईसी नाम दिया गया।[10] मल्टिक्स में CTSS रनकॉम की एक शाखा सम्मिलित है, जिसे रनकॉम भी कहा जाता है।[11] सीएमएस ईएक्सईसी को अंततः ईएक्सईसी 2 और रेक्स द्वारा बदल दिया गया।
टीसीएल और लुआ (प्रोग्रामिंग भाषा) जैसी भाषाओं को विशेष रूप से सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं के रूप में डिज़ाइन किया गया था जिसे किसी भी एप्लिकेशन में अंत: स्थापित किया जा सकता है। अन्य भाषाओं जैसे एप्लिकेशनों के लिए विजुअल बेसिक (वीबीए) ने अंतर्निहित प्रणाली की स्वचालन सुविधाओं के साथ सुस्थिर एकीकरण प्रदान किया। प्रत्येक एप्लिकेशन के लिए एक नवीन भाषा विकसित करने के अतिरिक्त ऐसी सामान्य-उद्देश्य वाली स्क्रिप्टिंग भाषाओं को अंत: स्थापित करना भी स्पष्ट लाभ था, जिससे एप्लिकेशन डेवलपर को भाषा अनुवादक को स्क्रैच से कोड करने की आवश्यकता से राहत मिली और उपयोगकर्ता को कहीं और सीखे गए कौशल को लागू करने की अनुमति मिली।
कुछ सॉफ़्टवेयर में कई अलग-अलग स्क्रिप्टिंग भाषाएँ सम्मिलित होती हैं। आधुनिक वेब ब्राउज़र सामान्यतः ब्राउज़र को एक्सटेंशन लिखने के लिए एक भाषा प्रदान करते हैं, और ब्राउज़र को नियंत्रित करने के लिए कई मानक अंत: स्थापित भाषाएं प्रदान करते हैं, जिनमें जावास्क्रिप्ट (ईसीएमएस्क्रिप्ट की एक उपभाषा) या एक्सयूएल सम्मिलित है।
प्रकार
स्क्रिप्टिंग भाषाओं को कई अलग-अलग प्रकारों में वर्गीकृत किया जा सकता है, जिनमें प्रकारों के बीच काफी हद तक ओवरलैप होता है।
गोंद भाषाएं
स्क्रिप्टिंग की तुलना प्रायः प्रणाली प्रोग्रामिंग से की जाती है, जैसा कि ऑस्टरहाउट के द्विभाजन या बड़े में प्रोग्रामिंग और छोटे में प्रोग्रामिंग। इस दृष्टि से, स्क्रिप्टिंग गोंद कोड है, जो सॉफ्टवेयर घटकों को जोड़ता है, और इस उद्देश्य के लिए विशेषीकृत भाषा ग्लू भाषा है। पाइपलाइन और शेल स्क्रिप्टिंग गोंद भाषाओं के मूल उदाहरण हैं, और पर्ल को प्रारम्भ में इसी भूमिका को भरने के लिए विकसित किया गया था। वेब विकास को ग्लू भाषा का उपयोग माना जा सकता है, जो डेटाबेस और वेब सर्वर के बीच इंटरफेसिंग करता है। परन्तु अगर स्क्रिप्ट में पर्याप्त मात्रा में तर्क लिखा जाता है, तो इसे मात्र एक अन्य सॉफ्टवेयर घटक के रूप में जाना जाता है, न कि गोंद के रूप में।
ग्लू भाषा विशेष रूप से लिखने और बनाए रखने के लिए उपयोगी हैं:
- कमांड शेल के लिए विशिष्ट कमांड;[12]
- उन प्रोग्रामों की तुलना में छोटे प्रोग्राम जिन्हें संकलित भाषा में बेहतर तरीके से कार्यान्वित किया जाता है;[13]
- एक्जीक्यूटेबल्स के लिए रैपर प्रोग्राम, जैसे एक बैच फ़ाइल जो फ़ाइलों को स्थानांतरित या युक्तियोजित करती है और ऑपरेटिंग सिस्टम के साथ अन्य काम करती है जैसे वर्ड प्रोसेसर, स्प्रेडशीट, डेटा बेस, असेंबलर, कंपाइलर, आदि;[14]
- लिपियाँ जो बदल सकती हैं;[15]
- एक समाधान का तेजी से एप्लिकेशन विकास अंततः दूसरे, सामान्यतः संकलित, भाषा में कार्यान्वित किया जाता है।[citation needed]
गोंद भाषा उदाहरण:
- एप्पलस्क्रिप्ट
- ठंडा गलन
- डिजिटल कमांड भाषा
- एम्बेड करने योग्य सामान्य लिस्प
- ईसीएल प्रोग्रामिंग भाषा
- एरलांग (प्रोग्रामिंग भाषा)
- सीएमएस कार्यकारी
- EXEC2
- नौकरी नियंत्रण भाषा
- कॉफीस्क्रिप्ट
- जूलिया (प्रोग्रामिंग भाषा)
- जेस्क्रिप्ट और जावास्क्रिप्ट
- लुआ (प्रोग्रामिंग भाषा)
- एम 4 (कंप्यूटर भाषा)
- पर्ल (5 और राकू (प्रोग्रामिंग भाषा))
- पीएचपी
- विंडोज पॉवरशेल
- शुद्ध (प्रोग्रामिंग भाषा)
- पायथन (प्रोग्रामिंग भाषा)
- रिबोल
- लाल (प्रोग्रामिंग भाषा)
- रेक्स
- नेटरेक्स
- रूबी (प्रोग्रामिंग भाषा)
- योजना (प्रोग्रामिंग भाषा)
- टीसीएल
- यूनिक्स शैल स्क्रिप्ट (के शेल , सी खोल , बैश (यूनिक्स शेल), बॉर्न शेल और अन्य)
- वीबीस्क्रिप्ट
- कार्य प्रवाह भाषा
- एक्सएसएलटी
ऑपरेटिंग सिस्टम या एप्लिकेशन घटकों के संपर्क में आने वाली मैक्रो (कंप्यूटर साइंस) भाषाएं गोंद भाषाओं के रूप में काम कर सकती हैं। इनमें एप्लिकेशन के लिए विजुअल बेसिक, वर्डबेसिक, लोटसस्क्रिप्ट, CorelScript, हमिंगबर्ड बेसिक, क्विकस्क्रिप्ट, रेक्स, सम्मिलित हैं। us/library/ms994312.aspx SaxBasic, और WinWrap Basic। एडब्ल्यूके जैसे अन्य उपकरणों को भी गोंद भाषा माना जा सकता है, जैसा कि विंडोज़ स्क्रिप्ट होस्ट इंजन (VBScript, JScript और वीबीए द्वारा विंडोज़ में डिफ़ॉल्ट रूप से लागू किया जा सकता है और रेक्स, Perl, टीसीएल, Python, XSLT के कार्यान्वयन सहित तृतीय-पक्ष इंजन, रूबी, मॉडर्न पास्कल, डेल्फी और सी)। अधिकांश एप्लिकेशन वस्तु मॉडल या अपने स्वयं के कार्यों के माध्यम से ऑपरेटिंग सिस्टम घटकों का उपयोग और उपयोग कर सकते हैं।
प्रोग्रामेबल कैलकुलेटर जैसे अन्य उपकरणों में भी ग्लू भाषा हो सकती हैं; विंडोज सीई जैसे पीडीए के ऑपरेटिंग सिस्टम में देशी या तीसरे पक्ष के मैक्रो उपकरण उपलब्ध हो सकते हैं जो सामान्य गोंद भाषाओं के कार्यान्वयन के अलावा एप्लिकेशनों को एक साथ जोड़ते हैं - जिसमें विंडोज एनटी, डॉस और कुछ यूनिक्स शेल , रेक्स, मॉडर्न पास्कल, पीएचपी सम्मिलित हैं। , और पर्ल। OS संस्करण के आधार पर, WSH और डिफ़ॉल्ट स्क्रिप्ट इंजन (VBScript और JScript) उपलब्ध हैं।
प्रोग्राम करने योग्य कैलकुलेटर को गोंद भाषाओं में तीन तरीकों से प्रोग्राम किया जा सकता है। उदाहरण के लिए, टेक्सस उपकरण TI-92, फ़ैक्टरी डिफ़ॉल्ट रूप से कमांड स्क्रिप्ट भाषा के साथ प्रोग्राम किया जा सकता है। कैलकुलेटर की TI-NSpire श्रृंखला में स्क्रिप्टिंग और गोंद भाषा लुआ (प्रोग्रामिंग भाषा) को सम्मिलित करने को इसके उत्तराधिकारी के रूप में देखा जा सकता है। अधिकांश रेखांकन कैलकुलेटरों की प्राथमिक ऑन-बोर्ड उच्च-स्तरीय प्रोग्रामिंग भाषाएं (प्रायः मूल वेरिएंट, कभी-कभी लिस्प डेरिवेटिव, और अधिक असामान्य रूप से, सी डेरिवेटिव) कई मामलों में कैलकुलेटर फ़ंक्शंस को एक साथ चिपका सकती हैं - जैसे ग्राफ़, सूचियाँ, मैट्रिसेस, आदि। अधिक व्यापक मूल संस्करण के तृतीय-पक्ष कार्यान्वयन जो इस लेख में गोंद भाषाओं के रूप में सूचीबद्ध वेरिएंट के करीब हो सकते हैं- और टीआई और एचपी ग्राफिंग कैलकुलेटर पर पर्ल, रेक्स या विभिन्न ऑपरेटिंग सिस्टम शेल को लागू करने के प्रयासों का भी उल्लेख किया गया है। कुछ टीआई और एचपी मशीनों के लिए पीसी-आधारित सी पार compilers का उपयोग उन उपकरणों के साथ किया जाता है जो सी और पर्ल, रेक्स, एडब्ल्यूके, और शेल स्क्रिप्ट को पर्ल, मॉडर्न पास्कल, वीबीस्क्रिप्ट से और पर्ल के बीच कनवर्ट करते हैं और प्रोग्राम लिखना संभव बनाते हैं। कैलकुलेटर पर अंतिम कार्यान्वयन (संकलित प्रोग्राम के रूप में) के लिए एक गोंद भाषा में।[citation needed]
एडिटर्स भाषाएं
कई टेक्स्ट एडिटर्स एडिटर्स में निर्मित मैक्रो भाषा का उपयोग करके लिखे गए मैक्रोज़ का समर्थन करते हैं, उदाहरण के लिए, सेमवेयर एडिटर्स (टीएसई), विम (टेक्स्ट एडिटर्स ) (वीआईएम), या बाहरी कार्यान्वयन का उपयोग करते हुए, उदाहरण के लिए, एक्सईडीआईटी, या दोनों, उदा। , KEDIT । कभी-कभी टेक्स्ट एडिटर्स और एडिट मैक्रोज़ का उपयोग अन्य एप्लिकेशन प्रदान करने के लिए कवर के तहत किया जाता है, उदाहरण के लिए, संवादी मॉनिटर प्रणाली में फाइललिस्ट और आरडीआरएलआईएसटी।
कार्य नियंत्रण भाषाएं और शेल
स्क्रिप्टिंग भाषाओं का एक प्रमुख वर्ग कार्य नियंत्रण (कंप्यूटिंग) के स्वचालन से विकसित हुआ है, जो प्रणाली प्रोग्राम के व्यवहार को प्रारम्भ करने और नियंत्रित करने से संबंधित है।[16] (इस अर्थ में, कोई गोले को आईबीएम की जेसीएल, या जॉब कंट्रोल भाषा के वंशज होने के विषय में सोच सकता है, जिसका उपयोग इस उद्देश्य के लिए किया गया था)। इनमें से कई भाषाओं के दुभाषिए यूनिक्स शेल या MS-DOS जैसे कमांड-लाइन दुभाषियों के रूप में दोगुने हैं COMMAND.COM
. अन्य, जैसे कि AppleScript स्क्रिप्ट बनाने के लिए अंग्रेजी जैसी कमांड का उपयोग करने की पेशकश करते हैं।
जीयूआई स्क्रिप्टिंग
ग्राफिकल यूजर इंटरफेस के आगमन के साथ, कंप्यूटर को नियंत्रित करने के लिए एक विशेष प्रकार की स्क्रिप्टिंग भाषा का उदय हुआ। ये भाषाएं उन्हीं ग्राफ़िक विंडो, मेनू, बटन आदि के साथ इंटरैक्ट करती हैं, जो एक मानव उपयोगकर्ता करता है। वे उपयोगकर्ता के कार्यों का अनुकरण करके ऐसा करते हैं। इन भाषाओं का उपयोग सामान्यतः उपयोगकर्ता क्रियाओं को स्वचालित करने के लिए किया जाता है। ऐसी भाषाओं को मैक्रो (कंप्यूटर विज्ञान) # कीबोर्ड और माउस मैक्रोज़ भी कहा जाता है जब नियंत्रण सिम्युलेटेड कुंजी प्रेस या माउस क्लिक के माध्यम से होता है, साथ ही टच-सक्रिय स्क्रीन पर टैपिंग या प्रेसिंग के माध्यम से होता है।
सिद्धांत रूप में इन भाषाओं का उपयोग किसी भी जीयूआई एप्लिकेशन को नियंत्रित करने के लिए किया जा सकता है; परन्तु, व्यवहार में उनका उपयोग सीमित है क्योंकि उनके उपयोग के लिए एप्लिकेशन और ऑपरेटिंग सिस्टम से समर्थन की आवश्यकता होती है। इस सीमा के कुछ अपवाद हैं। कुछ जीयूआई स्क्रिप्टिंग भाषाएं ग्राफिकल ऑब्जेक्ट्स को उनके डिस्प्ले स्क्रीन पिक्सेल से पहचानने पर आधारित होती हैं। ये GUI स्क्रिप्टिंग भाषाएँ ऑपरेटिंग सिस्टम या एप्लिकेशन के समर्थन पर निर्भर नहीं करती हैं।
जब जीयूआई उपयुक्त इंटरफेस प्रदान करता है, जैसे कि आईबीएम कार्यस्थल शेल में, एक सामान्य स्क्रिप्टिंग भाषा, उदा। Oरेक्स, जीयूआई स्क्रिप्ट लिखने के लिए उपयोग किया जा सकता है।
एप्लिकेशन-विशिष्ट भाषाएं
एप्लिकेशन विशिष्ट भाषाओं को कई अलग-अलग श्रेणियों में विभाजित किया जा सकता है, अर्थात स्टैंडअलोन आधारित ऐप भाषाएँ (निष्पादन योग्य) या आंतरिक एप्लिकेशन विशिष्ट भाषाएँ (पोस्टस्क्रिप्ट, xml, gscript कुछ व्यापक रूप से वितरित स्क्रिप्ट के रूप में, क्रमशः Adobe, MS और गूगल द्वारा कार्यान्वित) अन्य में सम्मिलित हैं एप्लिकेशन उपयोगकर्ता की आवश्यकताओं के अनुरूप एक मुहावरेदार स्क्रिप्टिंग भाषा। इसी तरह, कई कंप्यूटर गेम प्रणाली गैर-खिलाड़ी पात्रों और गेम के वातावरण के क्रमादेशित कार्यों को व्यक्त करने के लिए एक विशिष्ट स्क्रिप्टिंग भाषा का उपयोग करते हैं। इस प्रकार की भाषाएँ एक ही एप्लिकेशन के लिए डिज़ाइन की गई हैं; और, जबकि वे सतही रूप से एक विशिष्ट सामान्य-उद्देश्य वाली भाषा से मिलते-जुलते हो सकते हैं (उदाहरण के लिए क्वेकसी, सी के बाद प्रतिरूपित), उनके समीप विशिष्ट विशेषताएं हैं जो उन्हें अलग करती हैं। एमेक्स लिस्प, जबकि लिस्प (प्रोग्रामिंग भाषा) की पूर्ण रूप से गठित और सक्षम उपभाषा, में कई विशेष विशेषताएं सम्मिलित हैं जो इसे एमेक्स के संपादन कार्यों को विस्तारित करने के लिए सबसे उपयोगी बनाती हैं। एक एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषा को एक डोमेन-विशिष्ट प्रोग्रामिंग भाषा के रूप में देखा जा सकता है जो एकल एप्लिकेशन के लिए विशिष्ट है।
विस्तार/ अंत: स्थापित करने योग्य भाषाएं
एप्लिकेशन-विशिष्ट स्क्रिप्टिंग भाषाओं को एप्लिकेशन प्रोग्राम में अंत: स्थापित करने योग्य बनाने के उद्देश्य से कई भाषाओं को डिज़ाइन किया गया है। एप्लिकेशन प्रोग्रामर (सी या अन्य प्रणाली भाषा में काम कर रहे) में हुक सम्मिलित हैं जहां स्क्रिप्टिंग भाषा एप्लिकेशन को नियंत्रित कर सकती है। ये भाषाएँ तकनीकी रूप से किसी एप्लिकेशन-विशिष्ट एक्सटेंशन भाषा के समतुल्य हो सकती हैं, परन्तु जब कोई एप्लिकेशन एक सामान्य भाषा को अंत: स्थापित करता है, तो उपयोगकर्ता को एप्लिकेशन से एप्लिकेशन में कौशल स्थानांतरित करने में सक्षम होने का लाभ मिलता है। एक अधिक सामान्य विकल्प मात्र एक लाइब्रेरी (प्रायः एक सी लाइब्रेरी) प्रदान करना है, जिसका उपयोग सामान्य-उद्देश्य वाली भाषा विशिष्ट डोमेन के लिए भाषा को संशोधित किए बिना, एप्लिकेशन को नियंत्रित करने के लिए कर सकती है।
जावास्क्रिप्ट के रूप में प्रारम्भ हुआ और मुख्य रूप से अभी भी वेब ब्राउज़र के अंदर स्क्रिप्टिंग के लिए एक भाषा है; यद्यपि, 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)