लिंगो (प्रोग्रामिंग लैंग्वेज)

लिंगो एक वर्बोज़ ऑब्जेक्ट-ओरिएंटेड (OO) स्क्रिप्टिंग लैंग्वेज है जिसे जॉन थॉम्पसन (आविष्कारक) कहा जाता है | जॉन एच. थॉम्पसन द्वारा एडोब निदेशक  (पूर्व में मैक्रोमीडिया डायरेक्टर) में उपयोग के लिए विकसित किया गया है। लिंगो का उपयोग डेस्कटॉप अनुप्रयोग प्रक्रिया सामग्री, इंटरैक्टिव कियोस्क,  सीडी रॉम  और एडोब शॉकवेव सामग्री विकसित करने के लिए किया जाता है।

लिंगो एडोब शॉकवेव प्लेटफॉर्म पर प्राथमिक प्रोग्रामिंग लैंग्वेज है, जो 1990 के दशक के दौरान पारस्परिक बहुमाध्यमिक उत्पाद बाजार पर हावी थी। 1990 के दशक के दौरान लिंगो के साथ विभिन्न ग्राफिक साहसिक खेल विकसित किए गए, जिनमें द जर्नीमैन प्रोजेक्ट, पूर्ण विकृति, मियाज़ लैंग्वेज साहस: द किडनैप कैपर मियाज़ लैंग्वेज साहस, मियाज़ विज्ञान साहस: रोमाईन्स न्यू हैट मियाज़ विज्ञान साहस, और दीदी और डिट्टो श्रृंखला सम्मिलित होता हैं। लिंगो का उपयोग करके सैकड़ों मुफ्त ऑनलाइन वीडियो खेल विकसित किए गए,और अंतरिक्ष और शॉकवेयर .कॉम जैसी वेबसाइटों पर प्रकाशित किए गए थे।

लिंगो का उपयोग यूजर अंतरफलक बनाने, रेखापुंज ग्राफिक्स, वेक्टर ग्राफिक्स और 3D कंप्यूटर ग्राफिक्स और अन्य डेटा प्रोसेसिंग कार्यों में परिवर्तन करने के लिए किया जा सकता है। लिंगो छवि प्रसंस्करण और 3D ऑब्जेक्ट परिवर्तन के लिए विशेष वाक्यविन्यास का समर्थन करता है। लिंगो का उपयोग करके तुरंत 3D जाल भी बनाए जा सकते हैं।

इतिहास
लिंगो का आविष्कार जॉन थॉम्पसन ने किया था | जॉन एच. थॉम्पसन ने 1989 में मैक्रोमाइंड में किया था, और इसे पहली बार निर्देशक 2.2 के साथ रिलीज़ किया गया था। जेफ टान्नर ने डायरेक्टर 2.2 और 3.0 के लिए लिंगो को विकसित और परीक्षण किया, विभिन्न मीडिया डिवाइस उत्पादकों के लिए कस्टम Xऑब्जेक्ट बनाए, Xफैक्टरी आवेदन प्रोग्रामिंग अंतरफलक (एपीआई) सहित Xफैक्टरी का उपयोग करके लैंग्वेज विस्तार उदाहरण बनाए, और लिंगो का उपयोग करने के तरीके पर प्रारंभिक संरक्षक लिखे गए थे। डेव शील्ड्स ने निदेशक 3.13 और 4.0 के लिए ऑब्जेक्ट-आधारित लिंगो का परीक्षण और दस्तावेजीकरण किया था। उन्होंने परीक्षण के लिए साप्ताहिक रिलीज़ बनाने के लिए निर्माण आलेख चलाई, मैक्रोमीडिया ज्ञानकोश की प्रारम्भ की, C++ में लिंगो अत्यधिक प्लग-इन लिखने के उदाहरण बनाए, और मैक्रोमीडिया डायरेक्टर के गोल्डन मास्टर डिस्क को इकट्ठा किया जिन्हें डुप्लिकेटर में भेज दिया गया था।

1990 के दशक के दौरान तेजी से बढ़ते मल्टीमीडिया समुदाय द्वारा लिंगो को अपनाया गया और यह पहले से ही लोकप्रिय निदेशक उत्पाद था। प्रारंभ में, लगभग 90% उपयोगकर्ताओं ने लिंगो की केवल 10% सुविधाओं का उपयोग किया; प्रमुख रूप से  संरक्षक और प्रस्तुतियों के मल्टीमीडिया लेखकों द्वारा किया गया था | चूकि,10% उपयोगकर्ता खेल निर्माता थे | जिन्होंने अपनी स्वयं की Xफैक्टरी /Xऑब्जेक्ट बनाकर अपने स्वयं के फ़ंक्शन विस्तार सहित इसकी अन्य 90% क्षमताओं में व्यापक रुचि ली थी। जर्नीमैन प्रोजेक्ट इसका एक प्रमुख उदाहरण होता है।

सुविधाएँ
लिंगो को एडोब डायरेक्टर में एम्बेड किया गया है, और इसे ऑब्जेक्ट या समयरेखा पर आलेख के रूप में जोड़ा जा सकता है। लिंगो एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) लैंग्वेज है, और स्मॉलटॉक-जैसे वर्बोज़ सिंटैक्स, ओओ डॉट सिंटैक्स और विरासत का समर्थन करता है।

वर्बोज़ सिंटैक्स
जब लिंगो बनाया गया था, तो मौखिक लैंग्वेज की नकल करने के लिए एक वर्बोज़ सिंटैक्स डिज़ाइन किया गया था, जिससे कि नए उपयोगकर्ताओं के लिए यह आसान होता है। उपयोगकर्ता हाइपरटॉक जैसे वाक्य लिख सकते हैं जैसे: गो टू स्टेटमेंट्स में, टू वैकल्पिक है, और अन्य प्रोग्रामिंग लैंग्वेजओं के विपरीत, गो स्टेटमेंट्स निदेशक के स्कोर में संदर्भ फ्रेम होते हैं, विशिष्ट कोड रेखा नहीं थी।

लिंगो प्रारम्भ में अवधारणा के माध्यम से वस्तु निर्माण प्रदान करके बहुत सशक्त था, जिसके कारण बाहरी फ़ैक्टरियों (Xफैक्टरी) या Xऑब्जेक्ट के माध्यम से लैंग्वेज का विस्तार हुआ था। निदेशक 3.13 और बाद के संस्करणों के लिए, माइक्रोसॉफ्ट कंपोनेंट ऑब्जेक्ट प्रतिमान (कॉम) के आधार पर एक्सटीआरए नामक एक अलग प्रकार के प्लग-इन के माध्यम से विस्तारणीयता उत्पन्न हुई थी।

डॉट सिंटैक्स
चूकि वर्बोज़ सिंटैक्स का उपयोग करना अभी भी संभव है, लैंग्वेज का वर्तमान संस्करण पूरी तरह से ओओ डॉट सिंटैक्स का समर्थन करता है, जिससे कि कोड अत्यधिक मानक प्रोग्रामिंग लैंग्वेजओं जैसे जावास्क्रिप्ट या C++ जैसा दिखे गए थे।

नई स्क्रिप्टिंग शैली में समतुल्य होगा: यह प्रारूप डायरेक्टर एमएक्स 2004 में पेश किए गए डायरेक्टर ऑब्जेक्ट प्रतिमान के तत्वों का उपयोग करता है। पिछले संस्करणों में सिंटैक्स इस प्रकार होगा:

स्क्रिप्टिंग
डायरेक्टर में 4 प्रकार की लिंगो आलेख होता हैं, प्रत्येक का एक विशिष्ट उद्देश्य होता है। प्रत्येक प्रकार की आलेख को कुछ विशेष प्रकार की संगत वस्तुओं में जोड़ा जा सकता है।


 * कास्ट आलेख केवल उनके सदस्य के साथ काम करती हैं, सभी घटनाओं का उपयोग उनके साथ नहीं किया जा सकता है।
 * व्यवहार आलेख एक स्प्राइट से जुड़ी होती हैं या एक फ्रेम में डाली जाती हैं। स्प्राइट व्यवहार का उपयोग अधिकांशतः स्प्राइट के गुणों और गति पर नियंत्रण देने के लिए किया जाता है। फ़्रेम व्यवहार का उपयोग स्कोर में एक निश्चित फ़्रेम के भीतर विराम या विलंब बनाने के लिए किया जा सकता है। व्यवहार ऑब्जेक्ट-ओरिएंटेड तरीके से प्रोग्राम करना आसान बनाते हैं, क्योंकि आप प्रोग्रामिंग और जिस वस्तु से वे जुड़े हुए हैं, उसके बीच संबंध को सीधे देख सकते हैं। वे अन्य स्प्राइटों को नियंत्रित या उनके साथ बातचीत भी कर सकते हैं, जिससे वे वास्तविक वस्तु बन सकते हैं।
 * मूवी आलेख स्प्राइट से जुड़ी नहीं होती हैं और न ही उन्हें ऑब्जेक्ट के रूप में तुरंत किया जा सकता है। वे पूरे प्रोग्राम (मूवी) में उपलब्ध हैं और विशेष रूप से वैश्विक हैंडलर रखने और फिल्म के आरंभ या अंत में वैश्विक चर प्रारंभ करने के लिए उपयोगी होता हैं।
 * नए कमांड का उपयोग करके किसी ऑब्जेक्ट को वेरिएबल में जन्म देने (उदाहरण बनाने) के लिए मूल आलेख का उपयोग किया जाता है। ये ऑब्जेक्ट किसी एक स्प्राइट से जुड़े बिना, स्प्राइट और अन्य मीडिया को दूर से नियंत्रित कर सकते हैं, डेटा या अन्य गैर-प्रदर्शित वस्तुओं को नियंत्रित करने के लिए उपयोग किया जा सकता है, और पाथफाइंडिंग जैसे रिकर्सन रूटीन के लिए उपयोगी होता हैं। किसी ऑब्जेक्ट को किसी भी समय बनाने या नष्ट करने के लिए समूह आलेख का उपयोग किया जा सकता है, जिससे उन्हें उस स्कोर की सीमा से मुक्त किया जा सकता है जिस तक व्यवहार सीमित होता है।

व्यवहार और मूल आलेख अच्छे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को प्रोत्साहित करते हैं। मूवी आलेख ओओपी-उन्मुख नहीं होता हैं। चूकि, उनका उपयोग अभी भी ब्लैक-बॉक्स संचालक बनाने के लिए किया जा सकता है, जहां अन्य ऑब्जेक्ट बॉक्स की आंतरिक कार्यप्रणाली को जाने बिना, कच्चे डेटा को इनपुट कर सकते हैं और उत्तर प्राप्त कर सकते हैं। ओओपी के फायदों के साथ निदेशक की प्रोग्रामिंग पद्धति की शक्तियों और उपयोग में आसानी का उपयोग एक शक्तिशाली और तेज़ प्रोग्रामिंग वातावरण बनाता है।

विरासत
लिंगो थोड़े विशिष्ट सिस्टम द्वारा ऑब्जेक्ट वंशानुक्रम (वस्तु-उन्मुख प्रोग्रामिंग)  का समर्थन करता है: एक में हो सकता है   संपत्ति जो किसी अन्य वस्तु को संदर्भित करती है (सामान्यतौर पर एक आलेख भी, चूकि अन्य वस्तुएं जैसे कास्ट सदस्य भी पूर्वज हो सकते हैं)। पूर्वज के गुण और तरीके माता-पिता को विरासत में मिलते हैं। व्यवहार आलेख भी स्प्राइट के एक प्रकार के पूर्वज हैं जिनसे वे जुड़े हुए हैं, क्योंकि व्यवहार के गुणों और तरीकों को स्प्राइट के संदर्भ में ही अतिरिक्त किया जा सकता है। इस स्थितियां में, यह एक प्रकार की एकाधिक विरासत है, क्योंकि एक स्प्राइट में कई व्यवहार हो सकते हैं।

Xऑब्जेक्ट
लिंगो 3.0 को बाहरी फैक्ट्रीज़ (Xफैक्ट्रीज) या Xऑब्जेक्ट (बाद में एडोब शॉकवेव एक्सट्रा द्वारा प्रतिस्थापित) के माध्यम से भी विस्तारणीय किया गया था, जो निदेशक को प्रोग्रामेटिक विस्तार प्रदान करता था। उदाहरण के लिए, मैकिंटोश सीरियलपोर्ट के माध्यम से सीडी-रोम और वीडियो टेप प्लेयर जैसे बाहरी मीडिया उपकरणों को नियंत्रित करना था। Xऑब्जेक्ट एपीआई विकासकर्ता और मीडिया डिवाइस निर्माताओं के लिए खुले तौर पर उपलब्ध था, जिससे लिंगो की लोकप्रियता और बहुमुखी प्रतिभा में इजाफा हुआ था। लिंगो के माध्यम से सहयोग करने के लिए बाहरी मीडिया उपकरणों के लिए Xऑब्जेक्ट एपीआई को मानक के रूप में स्थापित करने में मैक्रोमाइंड बहुत सक्रिय था; और मानक के रूप में इसकी रुचि ने मल्टीमीडिया संगठन नामक एक तदर्थ समूह के माध्यम से प्रमुख और उभरती मीडिया उत्पाद कंपनियों की बहुत अत्यधिक भागीदारी हासिल की थी।

एक्स्ट्रा
डायरेक्टर संस्करण 4.0 से प्रारम्भ होकर, लिंगो को एक्स्ट्राज़ नामक बाहरी प्लगइन के नए बेहतर वर्ग के माध्यम से विस्तार योग्य बनाया गया था। एक्स्ट्रा को माइक्रोसॉफ्ट घटक वस्तु प्रतिमान (कॉम) का उपयोग करके C++ में विकसित किया गया था। कॉम के साथ मानकीकरण ने विकासकर्ता को ऐसे प्लग-इन के लिए बाजार बनाने के लिए आकर्षित करने में मदद की थी।

इमेजिंग लिंगो
इमेजिंग लिंगो को डायरेक्टर 8.0 के साथ पेश किया गया था,और विकासकर्ता को सरल सिंटैक्स का उपयोग करके उच्च-प्रदर्शन छवि परिवर्तन कमांड लिखने की अनुमति दी गई थी। छवि अनुप्रयोगों (जैसे फोटोशॉप) के कार्यों में कुछ समानताएं हैं, जो गतिशील, कोड-आधारित दृश्य प्रभाव बनाना आसान बनाती हैं। बिटमैपडेटा वर्ग के साथ एक्शन स्क्रिप्ट 3.0 में छवि परिवर्तन भी जोड़ा गया था। चूंकि इसमें अत्यधिक परिष्कृत कमांड सम्मिलित थे, निदेशक को बिटमैपडेटा ऑब्जेक्ट और इसकी अपनी छवि ऑब्जेक्ट के बीच रूपांतरण की अनुमति देने के लिए भी अपडेट किया गया था।

3D
निदेशक 8.5 ने एक डायरेक्टएक्स 3D इंजन पेश किया जिसे लिंगो के साथ स्क्रिप्ट किया जा सकता था। नई 3D वस्तुओं का समर्थन करने के लिए लिंगो को काफी हद तक अद्यतन किया गया था और अब इसमें 3D कमांड का पूर्ण विशेषताओं वाला समुच्चय सम्मिलित होता है। डायरेक्टर 11 में हॉक (सॉफ्टवेयर) 3D भौतिक इंजन और बाद में एजीईआईए भौतिक इंजन के उपयोग को सक्षम करने के लिए एक्स्ट्रा भी बनाया गया था।

अन्य लैंग्वेजएँ
ये अन्य लैंग्वेजएँ शायद मैक्रोमीडिया लैंग्वेज जितनी प्रसिद्ध नहीं होता हैं। चूकि, यूके में एक कानूनी विसंगति बनी हुई है कि 'लिंगो' शब्द का ट्रेडमार्क लिन स्मार्ट कंप्यूटिंग के पास होता है।


 * विंडोज़ के अंतर्गत सॉफ्टवेयर विकास के लिए लिंगो नामक लैंग्वेज जारी की गई थी। इस संस्करण को एक संकलित उच्च स्तरीय प्रोग्रामिंग लैंग्वेज के रूप में डिज़ाइन किया गया था।
 * स्कॉटलैंड, यूके में लिन स्मार्ट कंप्यूटिंग द्वारा विकसित रिकर्सिवली प्रोसेसर के लिए स्मॉलटॉक पर आधारित एक प्रोग्रामिंग लैंग्वेज विकसित की गई थी। इस लैंग्वेज का नाम लिंगो रखा गया और यह महत्वपूर्ण है क्योंकि इसके निर्माताओं ने यूके में सफलतापूर्वक ट्रेडमार्क प्राप्त कर लिया है।
 * लिंगो रैखिक, अरेखीय और पूर्णांक अनुकूलन समस्याओं को हल करने के लिए एक प्रोग्रामिंग लैंग्वेज भी है, जिसे पहली बार 1988 में लिंडो सिस्टम्स इंक द्वारा विकसित किया गया था। यह लैंग्वेज अभी भी उत्पादन में होता है।

बाहरी संबंध

 * , at Adobe.com, Director Support Center