सबसे पहले, स्क्रिप्टिंग भाषाओं का उपयोग नहीं किया जाता है । यह आम तौर पर स्क्रिप्टिंग भाषाओं के रूप में उन्हें परिभाषित करने का एक बड़ा हिस्सा है। वे अक्सर इसके बजाय, "व्याख्या की जाती हैं।" इसका अनिवार्य रूप से मतलब यह है कि एक और भाषा है (एक है जो संकलित है, अधिक बार नहीं) जो पाठ में पढ़ रहा है, वास्तविक समय में, और संचालन, लाइन-बाय-लाइन।
इस और अन्य भाषाओं के बीच अंतर यह है कि स्क्रिप्टिंग भाषाएं सरल होती हैं (आमतौर पर "उच्च स्तर" के रूप में जाना जाता है)। हालांकि, वे थोड़ा धीमा भी होते हैं, क्योंकि कंपाइलर बहुत सारे मुद्दों को अनुकूलित करते हैं जो कोडिंग के "मानव तत्व" के साथ आते हैं, और परिणामस्वरूप बाइनरी मशीन के लिए पढ़ने में छोटा और तेज़ हो जाता है। इसके अतिरिक्त, संकलित कार्यक्रमों के साथ चलाए जा रहे कोड को पढ़ने के लिए चलाने के लिए दूसरे प्रोग्राम की जरूरत से कम ओवरहेड है ।
अब, आप सोच रहे होंगे, "ठीक है, मुझे लगता है कि यह थोड़ा आसान है, लेकिन धरती पर कोई व्यक्ति उस सारे प्रदर्शन को उपयोग की थोड़ी अतिरिक्त आसानी के लिए क्यों छोड़ देगा?"
आप इस धारणा में अकेले नहीं होंगे, हालाँकि आप अपने साथ जो कर रहे हैं, उसके आधार पर स्क्रिप्टिंग भाषाओं के साथ सहजता का स्तर, प्रदर्शन में बलिदान के लायक हो सकता है।
मूल रूप से: ऐसे उदाहरणों के लिए जहां कार्यक्रम की गति से विकास की गति अधिक महत्वपूर्ण है- एक स्क्रिप्टिंग भाषा का उपयोग करें। खेल के विकास में इस तरह की परिस्थितियाँ हैं। विशेष रूप से जब उच्च-स्तरीय ईवेंट हैंडलिंग जैसी तुच्छ चीजों से निपटते हैं।
संपादित करें: लुआ खेल विकास में अधिक लोकप्रिय है क्योंकि यह यकीनन सबसे तेज (यदि सबसे तेज नहीं है) सार्वजनिक रूप से उपलब्ध स्क्रिप्टिंग भाषाओं में से एक है। हालांकि, इस अतिरिक्त गति के साथ, इसने अपनी कुछ सुविधा का त्याग किया है। यह कहा जा रहा है, यह अभी भी सीधे सी या सी ++ के साथ काम करने की तुलना में अधिक सुविधाजनक है।
महत्वपूर्ण संपादित करें: आगे के शोध पर, मैंने पाया है कि एक स्क्रिप्टिंग भाषा की परिभाषा पर बहुत अधिक विवाद है (देखें ऑस्टरहॉट्स डाइकोटॉमी )। किसी भाषा को "स्क्रिप्टिंग भाषा" के रूप में परिभाषित करने की प्राथमिक आलोचना यह है कि यह न तो वाक्यविन्यास के लिए महत्वपूर्ण है और न ही भाषा के शब्दार्थ की व्याख्या या संकलन किया गया है।
जबकि आमतौर पर "स्क्रिप्टिंग लैंग्वेज" मानी जाने वाली भाषाओं को आमतौर पर पारंपरिक रूप से व्याख्या की जाती है, संकलित करने के बजाय, "स्क्रिप्टिंग लैंग्वेज" के रूप में उनकी परिभाषा का लंबा और छोटा होना वास्तव में इस बात का मेल है कि लोग उन्हें कैसे देखते हैं, और उनके रचनाकारों ने उन्हें कैसे परिभाषित किया।
आम तौर पर, एक भाषा को आसानी से एक स्क्रिप्टिंग भाषा माना जा सकता है (यदि आप Ousterhout के द्विभाजन से सहमत हैं) यदि यह निम्नलिखित मानदंडों को पूरा करता है (लेख से जुड़े लेख के अनुसार, ऊपर):
- वे गतिशील रूप से टाइप किए जाते हैं
- उनके पास जटिल डेटा संरचनाओं के लिए बहुत कम या कोई प्रावधान नहीं है
- उनमें (लिपियों) कार्यक्रमों की व्याख्या की जाती है
इसके अतिरिक्त, यह अक्सर स्वीकार किया जाता है कि एक भाषा एक स्क्रिप्टिंग भाषा है यदि इसे किसी अन्य प्रोग्रामिंग भाषा के साथ बातचीत करने और कार्य करने के लिए डिज़ाइन किया गया है (आमतौर पर एक जिसे स्क्रिप्टिंग भाषा नहीं माना जाता है)।