आईडीएल (प्रोग्रामिंग लैंग्वेज): Difference between revisions

From Vigyanwiki
No edit summary
 
(17 intermediate revisions by 4 users not shown)
Line 15: Line 15:
|influenced_by =
|influenced_by =
}}
}}
आईडीएल, इंटरएक्टिव डेटा लैंग्वेज के लिए संक्षिप्त, एक [[प्रोग्रामिंग भाषा]] है। जिसका उपयोग [[डेटा विश्लेषण]] के लिए किया जाता है। यह विज्ञान के विशेष क्षेत्रों में अत्यधिक प्रचलित है, जैसे कि [[खगोल]] विज्ञान, [[वायुमंडलीय भौतिकी]] और चिकित्सा इमेजिंग।{{Citation needed|date=March 2019}} आईडीएल [[पीवी-वेव]] के साथ एक सामान्य [[ सिंटेक्स (प्रोग्रामिंग भाषाएं) |सिंटेक्स (प्रोग्रामिंग भाषाएं)]] करता है और उसी [[ codebase |कोडबेस]] से उत्पन्न होता है। चूंकि इसके बाद में भाषाओं में विस्तार से परिवर्तन आया है। [[जीएनयू डेटा भाषा]] (जीडीएल) और [http://www.flxpert.hu/fl/ दोषपूर्ण भाषा] (एफएल) जैसे [[मुफ्त सॉफ्टवेयर|फ्री सॉफ्टवेयर]] या [[फ्रीवेयर]] कार्यान्वयन भी इसके साथ सम्मिलित किया गया हैं।
'''आईडीएल''', इंटरएक्टिव डेटा लैंग्वेज के लिए संक्षिप्त, एक [[प्रोग्रामिंग भाषा]] है। जिसका उपयोग [[डेटा विश्लेषण]] के लिए किया जाता है। यह विज्ञान के विशेष क्षेत्रों में अत्यधिक प्रचलित है, जैसे कि [[खगोल]] विज्ञान, [[वायुमंडलीय भौतिकी]] और चिकित्सा इमेजिंग। '''आईडीएल''' [[पीवी-वेव]] के साथ एक सामान्य [[ सिंटेक्स (प्रोग्रामिंग भाषाएं) |सिंटेक्स (प्रोग्रामिंग भाषाएं)]] करता है और उसी [[ codebase |कोडबेस]] से उत्पन्न होता है। चूंकि इसके बाद में भाषाओं में विस्तार से परिवर्तन आया है। [[जीएनयू डेटा भाषा]] (जीडीएल) और [http://www.flxpert.hu/fl/ त्रुटिपूर्ण भाषा] (एफएल) जैसे [[मुफ्त सॉफ्टवेयर|फ्री सॉफ्टवेयर]] या [[फ्रीवेयर]] कार्यान्वयन भी इसके साथ सम्मिलित किया गया हैं।


== अवलोकन ==
== अवलोकन ==
Line 28: Line 28:
  {{mono|findgen}en}} उपरोक्त उदाहरण में फ़ंक्शन फ़्लोटिंग पॉइंट नंबरों की एक-आयामी सरणी देता है, जिसमें 0 से शुरू होने वाली पूर्णांक की श्रृंखला के बराबर मान होते हैं।
  {{mono|findgen}en}} उपरोक्त उदाहरण में फ़ंक्शन फ़्लोटिंग पॉइंट नंबरों की एक-आयामी सरणी देता है, जिसमें 0 से शुरू होने वाली पूर्णांक की श्रृंखला के बराबर मान होते हैं।


ध्यान देने योग्य विषय यह है कि दूसरी पंक्ति में ऑपरेशन पहली पंक्ति में बनाए गए पूरे 100-तत्व सरणी के लिए सदिश प्रकार से संचालित किया जाता है, सामान्य उद्देश्य सरणी प्रोग्रामिंग भाषाओं (जैसे [[एपीएल प्रोग्रामिंग भाषा]], [[जे प्रोग्रामिंग भाषा|J प्रोग्रामिंग भाषा]] या [[के प्रोग्रामिंग भाषा|K प्रोग्रामिंग भाषा]]) के । इस उदाहरण में शून्य से विभाजन है। आईडीएल एक [[अंकगणितीय अतिप्रवाह]] की रिपोर्ट करेगा और y सरणी (पहले वाले) के संबंधित तत्व में एक [[NaN]] मान संग्रहीत करेगा, किन्तु अन्य सरणी तत्व परिमित होंगे। NaN को इसके {{mono|plot}} कमांड के द्वारा उत्पन्न विज़ुअलाइज़ेशन से बाहर रखा गया है।  
ध्यान देने योग्य विषय यह है कि दूसरी पंक्ति में ऑपरेशन पहली पंक्ति में बनाए गए पूरे 100-तत्व सरणी के लिए सदिश प्रकार से संचालित किया जाता है, सामान्य उद्देश्य सरणी प्रोग्रामिंग भाषाओं (जैसे [[एपीएल प्रोग्रामिंग भाषा]], [[जे प्रोग्रामिंग भाषा|J प्रोग्रामिंग भाषा]] या [[के प्रोग्रामिंग भाषा|K प्रोग्रामिंग भाषा]]) के । इस उदाहरण में शून्य से विभाजन है। आईडीएल एक [[अंकगणितीय अतिप्रवाह]] की रिपोर्ट करेगा और y सरणी (पहले वाले) के संबंधित तत्व में एक [[NaN]] मान संग्रहीत करेगा, किन्तु अन्य सरणी तत्व परिमित होंगे। NaN को इसके {{mono|plot}} कमांड के द्वारा उत्पन्न विज़ुअलाइज़ेशन से बाहर रखा गया है।  


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


== इतिहास ==
== इतिहास ==
आईडीएल के पूर्ववर्ती संस्करणों को 1970 के दशक में बोल्डर में कोलोराडो विश्वविद्यालय में वायुमंडलीय और अंतरिक्ष भौतिकी (एलएएसपी) की प्रयोगशाला में आविष्कार किया गया था। एलएएसपी में, डेविड स्टर्न वैज्ञानिकों को व्यक्तिगत अनुप्रयोगों को लिखने या संशोधित करने के लिए प्रोग्रामर को नियोजित किए बिना परिकल्पनाओं का परीक्षण करने की स्वीकृति देने के प्रयासों में सम्मिलित किये गये थे। आईडीएल की विकासवादी श्रृंखला में प्रथम प्रोग्राम जिसे स्टर्न ने विकसित किया था, उसका नाम रूफस रखा गया था। यह एक साधारण वेक्टर-ओरिएन्टेड कैलकुलेटर था, जो [[PDP-12|पीडीपी-12]] पर प्रयोग किया जाता था। यह दो-अक्षर के कोड को स्वीकार करता है, जो कि एक अंकगणितीय ऑपरेशन निर्दिष्ट करता है। ऑपरेंड के रूप में सर्विस करने के लिए इनपुट रजिस्टर और गंतव्य रजिस्टर। [[पीडीपी-8]] पर विकसित रूफस का एक संस्करण मार्स मेरिनर स्पेक्ट्रम एडिटर (एमएमईडी) था। एलएएसपी वैज्ञानिकों द्वारा [[मेरिनर 7]] और [[मेरिनर 9]] से डेटा की व्याख्या करने के लिए एमएमईडी का उपयोग किया गया था। बाद में स्टर्न ने एसओएल नामक एक कार्यक्रम लिखा, जो पीडीपी-8 पर भी प्रयोग किया गया। अपने पूर्ववर्तियों के विपरीत, यह फोरट्रान-जैसे सिंटैक्स के साथ एक ट्रू प्रोग्रामिंग भाषा थी। एसओएल कुछ पुराने ग्राफिक्स क्षमताओं के साथ एक ऐरे-ओरिएन्टेड भाषा थी।<ref name="idl_faq">{{cite web |last1=Schienle |first1=Mike |title=आईडीएल अक्सर पूछे जाने वाले प्रश्न|url=http://www.faculty.virginia.edu/rwoclass/astr511/IDLresources/idl-faq-ivsoft-v4.html |access-date=8 February 2019 |date=1991-01-19}}</ref>
आईडीएल के पूर्ववर्ती संस्करणों को 1970 के दशक में बोल्डर में कोलोराडो विश्वविद्यालय में वायुमंडलीय और अंतरिक्ष भौतिकी (एलएएसपी) की प्रयोगशाला में आविष्कार किया गया था। एलएएसपी में, डेविड स्टर्न वैज्ञानिकों को व्यक्तिगत अनुप्रयोगों को लिखने या संशोधित करने के लिए प्रोग्रामर को नियोजित किए बिना परिकल्पनाओं का परीक्षण करने की स्वीकृति देने के प्रयासों में सम्मिलित किये गये थे। आईडीएल की विकासवादी श्रृंखला में प्रथम प्रोग्राम जिसे स्टर्न ने विकसित किया था, उसका नाम रूफस रखा गया था। यह एक साधारण वेक्टर-ओरिएन्टेड कैलकुलेटर था, जो [[PDP-12|पीडीपी-12]] पर प्रयोग किया जाता था। यह दो-अक्षर के कोड को स्वीकार करता है, जो कि एक अंकगणितीय ऑपरेशन निर्दिष्ट करता है। ऑपरेंड के रूप में सर्विस करने के लिए इनपुट रजिस्टर और गंतव्य रजिस्टर। [[पीडीपी-8]] पर विकसित रूफस का एक संस्करण मार्स मेरिनर स्पेक्ट्रम एडिटर (एमएमईडी) था। एलएएसपी वैज्ञानिकों द्वारा [[मेरिनर 7]] और [[मेरिनर 9]] से डेटा की व्याख्या करने के लिए एमएमईडी का उपयोग किया गया था। बाद में स्टर्न ने एसओएल नामक एक कार्यक्रम लिखा, जो पीडीपी-8 पर भी प्रयोग किया गया। अपने पूर्ववर्तियों के विपरीत, यह फोरट्रान-जैसे सिंटैक्स के साथ एक ट्रू प्रोग्रामिंग भाषा थी। एसओएल कुछ पुराने ग्राफिक्स क्षमताओं के साथ एक ऐरे-ओरिएन्टेड भाषा थी।<ref name="idl_faq">{{cite web |last1=Schienle |first1=Mike |title=आईडीएल अक्सर पूछे जाने वाले प्रश्न|url=http://www.faculty.virginia.edu/rwoclass/astr511/IDLresources/idl-faq-ivsoft-v4.html |access-date=8 February 2019 |date=1991-01-19}}</ref>


स्टर्न ने 1977 में LASP को छोड़कर रिसर्च सिस्टम्स इंक. (RSI) की स्थापना की। पहला RSI उत्पाद PDP-11 के लिए आईडीएल था।<ref name ="idl_faq"/>इस रिलीज में, आईडीएल द्वारा समर्थित ग्राफिक्स मुख्य रूप से टेक्ट्रोनिक्स टर्मिनल और रास्टर ग्राफिक्स डिस्प्ले थे। RSI ने अपना पहला आईडीएल लाइसेंस नासा के [[ गोडार्ड अंतरिक्ष उड़ान केंद्र ]] और बॉल एयरोस्पेस एंड टेक्नोलॉजीज कार्पोरेशन को 1979 में बेचा। दो साल बाद RSI ने आईडीएल का एक प्रारंभिक VAX/VMS संस्करण जारी किया, जिसे [[VAX MACRO]] और FORTRAN में लिखा गया था। इसने VAX वर्चुअल मेमोरी और 32-बिट एड्रेस स्पेस का लाभ उठाया।<ref name ="idl_faq"/>[[वायुमंडलीय अनुसंधान के लिए राष्ट्रीय केंद्र]] (एनसीएआर), मिशिगन विश्वविद्यालय, बोल्डर में कोलोराडो विश्वविद्यालय और [[नौसेना अनुसंधान प्रयोगशाला]] ने इस संस्करण के साथ आईडीएल का उपयोग करना शुरू कर दिया।
स्टर्न ने 1977 में एलएएसपी को त्यागकर रिसर्च सिस्टम्स इंक. (आरएसआई) की स्थापना की। प्रथम आरएसआई उत्पाद पीपीडी-11 के लिए आईडीएल था।<ref name ="idl_faq"/> इस रिलीज में, आईडीएल द्वारा समर्थित ग्राफिक्स मुख्य रूप से टेक्ट्रोनिक्स टर्मिनल और रास्टर ग्राफिक्स डिस्प्ले किये गये थे। आरएसआई ने अपना प्रथम आईडीएल लाइसेंस नासा के [[ गोडार्ड अंतरिक्ष उड़ान केंद्र |गोडार्ड अंतरिक्ष उड़ान केंद्र]] और बॉल एयरोस्पेस एंड टेक्नोलॉजीज कार्पोरेशन को 1979 में बेचा। दो साल बाद आरएसआई ने आईडीएल का एक प्रारंभिक वीएएक्स/वीएमएस संस्करण को नियमित करते हुए संचालित किया। जिसे [[VAX MACRO|वैक्स मैक्रो]] और फोर्टरॉन में लिखा गया था। इसने वैक्स वर्चुअल मेमोरी और 32-बिट एड्रेस स्पेस का लाभ प्राप्त किया।<ref name ="idl_faq"/> [[वायुमंडलीय अनुसंधान के लिए राष्ट्रीय केंद्र]] (एनसीएआर), मिशिगन विश्वविद्यालय, बोल्डर में कोलोराडो विश्वविद्यालय और [[नौसेना अनुसंधान प्रयोगशाला]] ने इस संस्करण के साथ आईडीएल का उपयोग करना प्रारम्भ कर दिया था।


1987 में RSI ने आईडीएल के विकास कार्य को [[यूनिक्स]] वातावरण में स्थानांतरित कर दिया, जिसके लिए VAX आईडीएल के मौजूदा संस्करण के पोर्ट के बजाय C में कोड को फिर से लिखने की आवश्यकता थी। <ref name ="idl_faq"/>स्टर्न और अली बहरामी ने सन 3 पर यूनिक्स के लिए आईडीएल को फिर से लिखा, भाषा को बढ़ाने और सुधारने के लिए फिर से लिखने का लाभ उठाया। इसके बाद, आईडीएल को और विस्तारित किया गया और यूनिक्स, वीएमएस, लिनक्स, माइक्रोसॉफ्ट विंडोज (1992) और मैक ओएस (1994) के कई रूपों में पोर्ट किया गया।
1987 में आरएसआई ने आईडीएल के विकास कार्य को [[यूनिक्स]] इनवायरमेन्ट में स्थानांतरित कर दिया। जिसके लिए वैक्स आईडीएल के उपस्थित संस्करण के पोर्ट के स्थान पर C में कोड को पुनः लिखने की आवश्यकता थी।<ref name ="idl_faq"/> स्टर्न और अली बहरामी ने सन 3 पर यूनिक्स के लिए आईडीएल को पुनः लिखा, भाषा को बढ़ाने और सुधारने के लिए पुनः लिखने का लाभ प्राप्त किया। इसके पश्चात आईडीएल को विस्तारित किया गया और यूनिक्स, वीएमएस, लिनक्स, माइक्रोसॉफ्ट विंडोज (1992) और मैक ओएस (1994) के कई रूपों में परिवर्तित किया गया।


1992 में आईडीएल में विजेट्स जोड़े गए, जो [[ ग्राफिकल यूज़र इंटरफ़ेस ]] के साथ [[घटना-संचालित प्रोग्रामिंग]] प्रदान करते हैं। 1997 में आईओएन (आईडीएल ऑन द नेट), एक वेब सर्वर-आधारित प्रणाली, व्यावसायिक रूप से जारी की गई थी। [[ईएनवीआई (सॉफ्टवेयर)]] का पहला संस्करण, [[रिमोट सेंसिंग]] [[मल्टीस्पेक्ट्रल]] और [[हाइपरस्पेक्ट्रल]] छवि विश्लेषण के लिए आईडीएल में लिखा गया एक एप्लिकेशन, 1994 में जारी किया गया था। ईएनवीआई (सॉफ्टवेयर) बेटर सॉल्यूशंस कंसल्टिंग, एलएलसी द्वारा बनाया, विकसित और स्वामित्व में था, जब तक कि इसे खरीदा नहीं गया था। ईस्टमैन कोडक द्वारा अक्टूबर 2000 में BSC संयोगवश उनकी RSI की खरीद के साथ हुई। RSI ने 1994 से अक्टूबर 2000 तक BSC, LLC के साथ लाइसेंस समझौते की शर्तों के तहत ENVI (सॉफ्टवेयर) को बेचा, विपणन और समर्थन किया। 1997 में आईडीएल में नई वस्तु और सूचक प्रकार और सीमित वस्तु-उन्मुख प्रोग्रामिंग क्षमताएं जोड़ी गईं।
1992 में आईडीएल में विजेट्स जोड़े गए, जो [[ ग्राफिकल यूज़र इंटरफ़ेस |ग्राफिकल यूज़र इंटरफ़ेस]] के साथ [[घटना-संचालित प्रोग्रामिंग]] प्रदान करते हैं। 1997 में आईओएन (आईडीएल ऑन द नेट), एक वेब सर्वर-आधारित प्रणाली, व्यावसायिक रूप से संचालित की गई थी। [[ईएनवीआई (सॉफ्टवेयर)]] का प्रथम संस्करण, [[रिमोट सेंसिंग]] [[मल्टीस्पेक्ट्रल]] और [[हाइपरस्पेक्ट्रल]] इमेज विश्लेषण के लिए आईडीएल में लिखा गया एक एप्लिकेशन 1994 में संचालित किया गया था। ईएनवीआई (सॉफ्टवेयर) बेटर सॉल्यूशंस कंसल्टिंग, एलएलसी द्वारा बनाया, विकसित और स्वामित्व में था, जब तक कि इसे आयात नहीं गया था। ईस्टमैन कोडक द्वारा अक्टूबर 2000 में बीएससी अकस्मात उनकी आरएसआई की आयात के साथ हुई। आरएसआई ने 1994 से अक्टूबर 2000 तक बीएससी, एलएलसी के साथ लाइसेंस समझौते को नियत के अनुसार ईएनवीआई (सॉफ्टवेयर) को बेचा, विपणन किया और समर्थन किया। 1997 में आईडीएल में नई वस्तु और सूचक प्रकार और सीमित ऑब्जेक्ट-ओरिएन्टेड प्रोग्रामिंग क्षमताएं जोड़ी गईं।


आईडीएल को व्यापक रूप से अंतरिक्ष विज्ञान में लागू किया गया है, उदाहरण के लिए [[solarsoft]] में। [[यूरोपीय अंतरिक्ष एजेंसी]] ने [[Giotto (अंतरिक्ष यान)]] अंतरिक्ष यान द्वारा लिए गए हैली के धूमकेतु के लगभग सभी चित्रों को संसाधित करने के लिए आईडीएल का उपयोग किया। [[हबल अंतरिक्ष सूक्ष्मदर्शी]] की मरम्मत करने वाली टीम ने मुख्य दर्पण में विसंगतियों का निदान करने में सहायता के लिए आईडीएल का उपयोग किया। 1995 में, एक अंतरिक्ष यान पर सवार अंतरिक्ष यात्रियों ने पराबैंगनी विकिरण का अध्ययन करने के लिए लैपटॉप पर लोड किए गए आईडीएल का उपयोग किया। वर्तमान में, अन्य अनुप्रयोगों के बीच, आईडीएल का उपयोग [[संयुक्त राज्य नौसेना अनुसंधान प्रयोगशाला]], यूएसए और रदरफोर्ड एपलटन लेबोरेटरी, यूके में [[STEREO]] मिशन के SECCHI भाग के अधिकांश विश्लेषण के लिए किया जा रहा है।
आईडीएल को व्यापक रूप से अंतरिक्ष विज्ञान में संचालित किया गया है, उदाहरण के लिए [[solarsoft|सोलरसॉफ्ट]] में। [[यूरोपीय अंतरिक्ष एजेंसी]] ने [[Giotto (अंतरिक्ष यान)|गिओटो]] अंतरिक्ष यान द्वारा लिए गए हैली के धूमकेतु के लगभग सभी चित्रों को संसाधित करने के लिए आईडीएल का उपयोग किया गया। [[हबल अंतरिक्ष सूक्ष्मदर्शी]] की त्रुटिनिवारण करने वाली टीम ने मुख्य दर्पण में विसंगतियों का निदान करने में सहायता के लिए आईडीएल का उपयोग किया। 1995 में एक अंतरिक्ष यान पर सवार अंतरिक्ष यात्रियों ने पराबैंगनी विकिरण का अध्ययन करने के लिए लैपटॉप पर लोड किए गए आईडीएल का उपयोग किया। वर्तमान में, अन्य अनुप्रयोगों के बीच, आईडीएल का उपयोग [[संयुक्त राज्य नौसेना अनुसंधान प्रयोगशाला]], यूएसए और रदरफोर्ड एपलटन लेबोरेटरी, यूके में [[STEREO|स्टेरियो]] मिशन के सेकची भाग के अधिकांश विश्लेषण के लिए किया जा रहा है।


RSI मार्च 2004 में [[आईटीटी उद्योग]] की पूर्ण स्वामित्व वाली सहायक कंपनी बन गई। 15 मई 2006 तक, RSI ने [[ITT Visual Information Solutions]] के रूप में व्यवसाय करना शुरू कर दिया। प्रभावी 31 अक्टूबर 2011, पुनर्गठन के परिणामस्वरूप, वह कंपनी [[एक्सेलिस दृश्य सूचना समाधान]] बन गई। {{as of|2015}}, आईडीएल का स्वामित्व और रख-रखाव [[ हैरिस भू-स्थानिक ]] के पास है।
आरएसआई मार्च 2004 में [[आईटीटी उद्योग]] की पूर्ण अधिकार वाली सहायक कंपनी का निर्माण किया। 15 मई 2006 तक, आरएसआई ने [[ITT Visual Information Solutions|आईटीटी दृश्य सूचना समाधान]] के रूप में व्यवसाय करना प्रारम्भ कर दिया। प्रभावी 31 अक्टूबर 2011, पुनर्गठन के परिणामस्वरूप वह कंपनी [[एक्सेलिस दृश्य सूचना समाधान]] बन गई। 2015 तक, आईडीएल का अधिकार और देखरेख [[ हैरिस भू-स्थानिक |हैरिस भू-स्थानिक]] के पास है।


== विशेषताएं ==
== विशेषताएं ==
कंप्यूटर भाषा के रूप में, आईडीएल:
कंप्यूटर भाषा के रूप में, आईडीएल:
* [[गतिशील रूप से टाइप किया गया]] है।
* [[गतिशील रूप से टाइप किया गया]] है।
* चर, कार्यों और प्रक्रियाओं के लिए अलग-अलग [[नामस्थान]] हैं, किन्तु कोई नामस्थान पदानुक्रम नहीं है।
* वैरिएबल, फलनों और प्रक्रियाओं के लिए [[नामस्थान|नेमस्पेस]] हैं, किन्तु कोई नेमस्पेस पदानुक्रम नहीं है।
* मूल रूप से सिंगल थ्रेडेड था किन्तु अब इसमें कई मल्टी-थ्रेडेड फ़ंक्शन और प्रक्रियाएं हैं।
* मूल रूप से सिंगल थ्रेडेड था, किन्तु अब इसमें कई मल्टी-थ्रेडेड फलन और प्रक्रियाएं हैं।
* सभी कार्य तर्क हैं मूल्यांकन रणनीति # संदर्भ द्वारा कॉल करें; किन्तु समस्याओं को नीचे देखें।
* संदर्भ द्वारा पारित सभी फलन तर्क हैं, किन्तु नीचे "समस्याएं" देखें।
* में [[नामित पैरामीटर]] हैं जिन्हें कीवर्ड कहा जाता है जो संदर्भ द्वारा पारित किए जाते हैं।
* इसमें [[नामित पैरामीटर|नेम्ड पैरामीटर]] हैं। जिन्हें कीवर्ड कहा जाता है, जो संदर्भ द्वारा पारित किए जाते हैं।
* संदर्भ या मान द्वारा नेस्टेड रूटीन कॉल में नामित पैरामीटर इनहेरिटेंस प्रदान करता है।
* संदर्भ या मान द्वारा नेस्टेड रूटीन कॉल में नेम्ड पैरामीटर इनहेरिटेंस प्रदान करता है।
* चर को पूर्व घोषित करने की आवश्यकता नहीं है।
* वैरिएबल को पूर्व घोषित करने की आवश्यकता नहीं है।
* दिनचर्या के बीच वैश्विक मूल्यों को साझा करने के लिए सामान्य ब्लॉक घोषणाएं और सिस्टम चर प्रदान करता है।
* दिनचर्या के बीच वैश्विक मूल्यों को साझा करने के लिए सामान्य ब्लॉक घोषणाएं और प्रणाली वैरिएबल प्रदान करता है।
* [[ऑपरेटर ओवरलोडिंग]] के साथ-साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का एक मूल रूप प्रदान करता है, जो कुछ हद तक स्मॉलटाक के समान है।
* [[ऑपरेटर ओवरलोडिंग]] के साथ-साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का एक मूल रूप प्रदान करता है, जो कुछ सीमा तक स्मॉलटाक के समान होते हैं।
* कचरा संग्रह के लिए संदर्भ गणना का उपयोग करते हुए, सूचक और वस्तु चर के एक सतत, वैश्विक ढेर को लागू करता है।
* गारबेज संग्रहण के लिए संदर्भ गणना का उपयोग करते हुए सूचक और वस्तु वैरिएबल के एक सतत, वैश्विक समूह को संचालित करता है।
* एक व्याख्या किए गए, स्टैक-आधारित इंटरमीडिएट पी-कोड (ए ला [[जावा वर्चुअल मशीन]]) के लिए संकलित करता है।
* एक व्याख्या किए गए स्टैक-आधारित इंटरमीडिएट पी-कोड (ए ला [[जावा वर्चुअल मशीन]]) के लिए संकलित करता है।
* बड़े सरणियों से डेटा निकालने के लिए एक सरल और कुशल इंडेक्स स्लाइस सिंटैक्स प्रदान करता है।
* बड़े सारणियों से डेटा को प्राप्त करने के लिए एक सरल और कुशल इंडेक्स स्लाइस सिंटैक्स प्रदान करता है।
* विभिन्न पूर्णांक आकार, साथ ही सिंगल और डबल सटीक फ़्लोटिंग पॉइंट वास्तविक और जटिल संख्याएँ प्रदान करता है।
* विभिन्न पूर्णांक आकार, साथ ही सिंगल और डबल स्पष्ट फ़्लोटिंग पॉइंट वास्तविक और जटिल संख्याएँ प्रदान करता है।
* संयुक्त डेटा प्रकार प्रदान करता है जैसे कि वर्ण तार, सजातीय प्रकार की सरणियाँ, सूचियाँ, [[हैश तालिका]]एँ, और मिश्रित डेटा प्रकारों की सरल (गैर-श्रेणीबद्ध) रिकॉर्ड संरचनाएँ।
* संयुक्त डेटा प्रकार प्रदान करता है, जैसे कि कैरेक्टर स्ट्रिंग्स, एक समान प्रकार की सारणियाँ, सूचियाँ, [[हैश तालिका|हैश सारणियाँ]] और मिश्रित डेटा प्रकारों की सरल (गैर-श्रेणीबद्ध) रिकॉर्ड संरचनाएँ।


== समस्याएं ==
== समस्याएं ==
{{original research|section|date=August 2014}}
इन सुविधाओं में से कुछ, जो आईडीएल को अंतःक्रियात्मक रूप से उपयोग करने के लिए बहुत सरल बनाती हैं, बड़े कार्यक्रमों के निर्माण के समय भी कठिनाइयों का कारण बनती हैं। एकल नामस्थान विशेष रूप से कठिनता से परिपूर्ण है। उदाहरण के लिए, नए अंतर्निर्मित फलनों को सम्मिलित करने वाले भाषा अद्यतनों ने संभवतः बड़े वैज्ञानिक पुस्तकालयों को अमान्य कर दिया है।<ref>{{cite web|last1=Fanning|first1=David|title=Program Naming Conflicts in IDL 8|url=https://www.idlcoyote.com/ng_tips/idl8_name_conflicts.html|access-date=30 September 2014|archive-url=https://web.archive.org/web/20140306211336/http://www.idlcoyote.com/ng_tips/idl8_name_conflicts.html|archive-date=6 March 2014|url-status=dead}}</ref>
इन सुविधाओं में से कुछ, जो आईडीएल को अंतःक्रियात्मक रूप से उपयोग करने के लिए बहुत आसान बनाती हैं, बड़े कार्यक्रमों के निर्माण के दौरान भी कठिनाइयों का कारण बनती हैं। एकल नामस्थान विशेष रूप से समस्याग्रस्त है; उदाहरण के लिए, नए अंतर्निर्मित कार्यों को सम्मिलित करने वाले भाषा अद्यतनों ने कभी-कभी बड़े वैज्ञानिक पुस्तकालयों को अमान्य कर दिया है।<ref>{{cite web|last1=Fanning|first1=David|title=Program Naming Conflicts in IDL 8|url=https://www.idlcoyote.com/ng_tips/idl8_name_conflicts.html|access-date=30 September 2014|archive-url=https://web.archive.org/web/20140306211336/http://www.idlcoyote.com/ng_tips/idl8_name_conflicts.html|archive-date=6 March 2014|url-status=dead}}</ref>
सरणियों को संदर्भ द्वारा पारित किया जाता है, और यह तंत्र एक उपनेमका से डेटा वापस पास करने के लिए भाषा की एक विज्ञापित विशेषता है - इसके विपरीत, सरणी स्लाइस को पारित होने से पहले कॉपी किया जाता है, ताकि डेटा संशोधन वापस सरणी श्रेणियों में प्रवाहित न हों (बाद में) सबरूटीन बाहर निकलता है), कम से कम आश्चर्य के सिद्धांत का उल्लंघन करता है।


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


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


इस संकलक विकल्प का उपयोग करके पूर्ववर्ती समस्या को कम किया जा सकता है:
इस संकलक विकल्प का उपयोग करके पूर्ववर्ती समस्या को कम किया जा सकता है:
Line 75: Line 75:
  COMPILE_OPT STRICTARR
  COMPILE_OPT STRICTARR


* ITT विज़ुअल इंफॉर्मेशन सॉल्यूशंस | ITT विज़ुअल इंफॉर्मेशन सॉल्यूशंस (ITT VIS), आईडीएल के डेवलपर्स, ने अन्य वातावरणों के साथ [[बाईटकोड]] संगतता को रोकने के लिए स्पष्ट कदम उठाए हैं। संकलित रूटीन वाली फ़ाइलें एक बाइनरी टैग-डेटा-संरचना प्रारूप का उपयोग करती हैं जिसे आधिकारिक तौर पर प्रकाशित नहीं किया गया है किन्तु उपयोगकर्ताओं द्वारा इसकी जांच और दस्तावेज किया गया है<ref>{{Cite web| last = Markwardt | first = Craig
* आईटीटी विज़ुअल इंफॉर्मेशन सॉल्यूशंस (आईटीटी वीआईएस), आईडीएल के डेवलपर्स ने अन्य वातावरणों के साथ [[बाईटकोड]] संगतता को रोकने के लिए स्पष्ट प्रयास किये हैं। संकलित रूटीन वाली फ़ाइलें एक बाइनरी टैग-डेटा-संरचना प्रारूप का उपयोग करती हैं। जिसे आधिकारिक रूप से प्रकाशित नहीं किया गया है। किन्तु उपयोगकर्ताओं द्वारा इसकी जांच और लेखों को संकलित किया गया है।<ref>{{Cite web| last = Markwardt | first = Craig
| title = Unofficial Format Specification of the IDL "SAVE" File
| title = Unofficial Format Specification of the IDL "SAVE" File
| date = 2011-12-21
| date = 2011-12-21
| url = http://www.physics.wisc.edu/~craigm/idl/savefmt/
| url = http://www.physics.wisc.edu/~craigm/idl/savefmt/
| access-date = 2013-02-13}}</ref> किन्तु प्रत्येक सहेजी गई फ़ाइल के भीतर एम्बेडेड ASCII पाठ के रूप में निम्नलिखित सूचना भी सम्मिलित है: आईडीएल सहेजें/पुनर्स्थापना फ़ाइलें आईडीएल प्रोग्राम के बारे में अप्रकाशित स्वामित्व वाली जानकारी का प्रतीक हैं। इसलिए इस फाइल की रिवर्स इंजीनियरिंग आईडीएल एंड यूजर लाइसेंस एग्रीमेंट (आईडीएल ईयूएलए) की शर्तों के तहत प्रतिबंधित है। सभी आईडीएल उपयोगकर्ताओं को आईडीएल स्थापित करते समय आईडीएल EULA की शर्तों को पढ़ना और उनसे सहमत होना आवश्यक है। आईडीएल सहेजें/पुनर्स्थापना प्रारूप में फ़ाइलों को पढ़ने या लिखने वाले सॉफ़्टवेयर के पास ITT Visual Information Solutions का लाइसेंस होना चाहिए जो स्पष्ट रूप से ऐसा करने का अधिकार प्रदान करता हो। इस मामले में, आपके निरीक्षण के लिए लाइसेंस को सॉफ्टवेयर के साथ सम्मिलित किया जाएगा। कृपया आईटीटी विज़ुअल इंफॉर्मेशन सॉल्यूशंस को ऐसे सॉफ़्टवेयर की रिपोर्ट करें जिसके पास ऐसा लाइसेंस नहीं है... {{As of|2010|2}}, कथन का न्यायालय में परीक्षण नहीं किया गया है।
| access-date = 2013-02-13}}</ref> किन्तु प्रत्येक संकलित की गई फ़ाइल के अन्दर एम्बेडेड आस्काई लेसन के रूप में निम्नलिखित सूचना भी सम्मिलित है: आईडीएल सहेजें/पुनर्स्थापना फ़ाइलें आईडीएल प्रोग्राम के विषय में अप्रकाशित अधिकार वाली जानकारी का प्रतीक हैं। इसलिए इस फाइल की रिवर्स इंजीनियरिंग आईडीएल एंड यूजर लाइसेंस एग्रीमेंट (आईडीएल ईयूएलए) की नियमों के अनुसार प्रतिबंधित है। सभी आईडीएल उपयोगकर्ताओं को आईडीएल स्थापित करते समय आईडीएल ईयूएलए के नियमों को पढ़ना और उनसे सहमत होना आवश्यक है। आईडीएल सहेजें/पुनर्स्थापना प्रारूप में फ़ाइलों को पढ़ने या लिखने वाले सॉफ़्टवेयर के पास आईटीटी दृश्य सूचना समाधान का लाइसेंस होना चाहिए। जो स्पष्ट रूप से ऐसा करने का अधिकार प्रदान करता हो। इस स्थिति में आपके निरीक्षण के लिए लाइसेंस को सॉफ्टवेयर के साथ सम्मिलित किया जाएगा। कृपया आईटीटी विज़ुअल इंफॉर्मेशन समाधान को ऐसे सॉफ़्टवेयर की रिपोर्ट करें, जिसके पास ऐसा लाइसेंस नहीं है। फरवरी 2010 तक कथन का न्यायालय में परीक्षण नहीं किया गया है।
साथ ही, धारा [http://www.austlii.edu.au/au/legis/cth/consol_act/ca1968133/s47d.html 47D] और [http] के परिणामस्वरूप ऑस्ट्रेलिया में आईडीएल EULA के उस प्रावधान का कोई प्रभाव नहीं है उस देश के कॉपीराइट अधिनियम का ://www.austlii.edu.au/au/legis/cth/consol_act/ca1968133/s47h.html 47H]।
साथ ही, आईडीएल ईयूएलए के प्रावधान का उस देश के कॉपीराइट अधिनियम की धारा [http://www.austlii.edu.au/au/legis/cth/consol_act/ca1968133/s47d.html 47D] और 47H के परिणामस्वरूप ऑस्ट्रेलिया में कोई प्रभाव नहीं है।   
 
'''<big><u>उदाहरण-</u></big>'''


== उदाहरण ==
निम्नलिखित ग्राफिक्स आईडीएल (स्रोत कोड सम्मिलित ) के साथ बनाए गए थे:
निम्नलिखित ग्राफिक्स आईडीएल (स्रोत कोड सम्मिलित ) के साथ बनाए गए थे:


*[[:Image:Random-data-plus-trend-r2.png|रैंडम डेटा प्लस ट्रेंड की इमेज, बेस्ट-फिट लाइन और अलग-अलग स्मूथिंग के साथ
*रैंडम डेटा प्लस ट्रेंड की इमेज, बेस्ट-फिट लाइन और विभिन्न स्मूथिंग के साथ
*[[:Image:Epica-vostok-40kyr.png|उम्र और गहराई के खिलाफ डेल्टा-ओ-18 के भूखंड (ईपिका और वोस्तोक से)
*आयु और गहराई के विरुद्ध डेल्टा-ओ-18 के भूखंड (ईपिका और वोस्तोक से)
*[http://www.idlcoyote.com/gallery/index.html कोयोट आईडीएल गैलरी] आईडीएल इमेजिंग के उदाहरण
*[http://www.idlcoyote.com/gallery/index.html कोयोट आईडीएल गैलरी] आईडीएल इमेजिंग के उदाहरण


== यह भी देखें ==
== यह भी देखें ==
<nowiki>*</nowiki> [[संख्यात्मक-विश्लेषण सॉफ्टवेयर की सूची]]
<nowiki>*</nowiki> [[संख्यात्मक-विश्लेषण सॉफ्टवेयर की सूची]]
<nowiki>*</nowiki> ईएनवीआई (सॉफ्टवेयर) - आईडीएल में निर्मित एक इमेज प्रोसेसिंग सॉफ्टवेयर पैकेज
 
<nowiki>*</nowiki> [[IRAF]] - NOAO द्वारा निर्मित एक मुक्त, चित्रमय डेटा कटौती वातावरण
<nowiki>*</nowiki> ईएनवीआई (सॉफ्टवेयर) - आईडीएल में निर्मित एक इमेज प्रोसेसिंग सॉफ्टवेयर पैकेज।
* [[MATLAB]] - आईडीएल के समान क्षमता प्रदान करने वाला एक तकनीकी कंप्यूटिंग वातावरण
 
<nowiki>*</nowiki> [[NumPy]] - Python (प्रोग्रामिंग भाषा) के लिए एक एक्सटेंशन जो इसे आईडीएल के समान सरणी गणित क्षमताएं देता है
<nowiki>*</nowiki> [[IRAF|आईआरएएफ]] - नोओ द्वारा निर्मित एक मुक्त, चित्रमय डेटा कमी का वातावरण।
<nowiki>*</nowiki> [[[[पर्ल]] डेटा लैंग्वेज]] (पीडीएल) - पर्ल का एक विस्तार जो इसे आईडीएल के समान सरणी गणित क्षमताएं देता है
* [[MATLAB|मैटलैब]] - आईडीएल के समान क्षमता प्रदान करने वाला एक विधि कंप्यूटिंग वातावरण।
* [[साइलैब]] - एक उच्च-स्तरीय, संख्यात्मक रूप से उन्मुख प्रोग्रामिंग भाषा जिसे वैज्ञानिक कंप्यूटिंग और इंटरफेस के लिए डिज़ाइन किया गया है
<nowiki>*</nowiki> [[NumPy]] - पायथन (प्रोग्रामिंग भाषा) के लिए एक एक्सटेंशन, जो इसे आईडीएल के समान सरणी गणित क्षमताएं प्रदान करता है।
* Solarsoft - आईडीएल में मुख्य रूप से लिखे गए सौर डेटा विश्लेषण और अंतरिक्ष यान संचालन गतिविधियों के लिए पुस्तकालय
 
* GNU डेटा लैंग्वेज - GNU डेटा लैंग्वेज, आईडीएल के समान एक निःशुल्क कार्यान्वयन।
<nowiki>*</nowiki> [[पर्ल]] डेटा लैंग्वेज (पीडीएल) - पर्ल का एक विस्तार, जो इसे आईडीएल के समान सारणी गणित क्षमताएं प्रदान करता है।
* [[साइलैब|स्काईलैब]] - एक उच्च-स्तरीय, संख्यात्मक रूप से ओरिएन्टेड प्रोग्रामिंग भाषा, जिसे वैज्ञानिक कंप्यूटिंग और इंटरफेस के लिए प्रारूपित किया गया है।
* सोलरसॉफ्ट - आईडीएल में मुख्य रूप से लिखे गए सौर डेटा विश्लेषण और अंतरिक्ष यान संचालन गतिविधियों के लिए पुस्तकालय।
* जीएनयू डेटा लैंग्वेज - जीएनयू डेटा लैंग्वेज, आईडीएल के समान एक निःशुल्क कार्यान्वयन।
* [http://www.flxpert.hu/fl/ फॉल्टी लैंग्वेज] - फॉल्टी लैंग्वेज एक आईडीएल8 (इंटरएक्टिव डेटा लैंग्वेज) संगत कंपाइलर है।
* [http://www.flxpert.hu/fl/ फॉल्टी लैंग्वेज] - फॉल्टी लैंग्वेज एक आईडीएल8 (इंटरएक्टिव डेटा लैंग्वेज) संगत कंपाइलर है।


Line 114: Line 118:
{{Statistical software}}
{{Statistical software}}
{{Image processing software}}
{{Image processing software}}
[[Category: ऐरे प्रोग्रामिंग भाषाएँ]] [[Category: पृथ्वी विज्ञान ग्राफिक्स सॉफ्टवेयर]] [[Category: संख्यात्मक प्रोग्रामिंग भाषाएँ]] [[Category: प्लॉटिंग सॉफ्टवेयर]] [[Category: 1977 में बनाई गई प्रोग्रामिंग लैंग्वेज]]


[[Category: Machine Translated Page]]
[[Category:1977 में बनाई गई प्रोग्रामिंग लैंग्वेज]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Collapse templates]]
[[Category:Created On 23/05/2023]]
[[Category:Created On 23/05/2023]]
[[Category:Image processing software]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:ऐरे प्रोग्रामिंग भाषाएँ]]
[[Category:पृथ्वी विज्ञान ग्राफिक्स सॉफ्टवेयर]]
[[Category:प्लॉटिंग सॉफ्टवेयर]]
[[Category:संख्यात्मक प्रोग्रामिंग भाषाएँ]]

Latest revision as of 16:50, 8 September 2023

आईडीएल (इंटरएक्टिव डेटा लैंग्वेज)
Paradigmऐरे प्रोग्रामिंग वेक्टर उन्मुख प्रोग्रामिंग
द्वारा डिज़ाइन किया गयाडेविड स्टर्न
Developerडेविड स्टर्न और आईटीटी विजुअल इंफॉर्मेशन सॉल्यूशंस (आईटीटी विस)
पहली प्रस्तुति1977
Stable release
IDL 8.9 / मई 3, 2023
टाइपिंग अनुशासनगतिशील टाइपिंग
Major implementations
आईडीएल, जीएनयू डेटा लैंग्वेज, फॉल्टी लैंग्वेज

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

अवलोकन

आईडीएल ऐरे प्रोग्रामिंग, संख्यात्मक विश्लेषण और इंटरएक्टिव है और सामान्यतः बड़ी मात्रा में डेटा ( इमेज प्रोसेसिंग सहित) के इंटरेक्टिव प्रोसेसिंग के लिए उपयोग किया जाता है। सिंटैक्स में फोरट्रान से कई निर्माण और सी (प्रोग्रामिंग भाषा) से कुछ सम्मिलित किये गये हैं।

आईडीएल का प्रारम्भ, प्रारम्भिक ओपेन वीएमएस फोरट्रान से हुई थी और इसका सिंटैक्स इस समय भी इसके पूर्व समय को प्रदर्शित करता है:

 x = findgen(100)/10
 y = sin(x)/x
 plot,x,y
findgen}en उपरोक्त उदाहरण में फ़ंक्शन फ़्लोटिंग पॉइंट नंबरों की एक-आयामी सरणी देता है, जिसमें 0 से शुरू होने वाली पूर्णांक की श्रृंखला के बराबर मान होते हैं।

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

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

इतिहास

आईडीएल के पूर्ववर्ती संस्करणों को 1970 के दशक में बोल्डर में कोलोराडो विश्वविद्यालय में वायुमंडलीय और अंतरिक्ष भौतिकी (एलएएसपी) की प्रयोगशाला में आविष्कार किया गया था। एलएएसपी में, डेविड स्टर्न वैज्ञानिकों को व्यक्तिगत अनुप्रयोगों को लिखने या संशोधित करने के लिए प्रोग्रामर को नियोजित किए बिना परिकल्पनाओं का परीक्षण करने की स्वीकृति देने के प्रयासों में सम्मिलित किये गये थे। आईडीएल की विकासवादी श्रृंखला में प्रथम प्रोग्राम जिसे स्टर्न ने विकसित किया था, उसका नाम रूफस रखा गया था। यह एक साधारण वेक्टर-ओरिएन्टेड कैलकुलेटर था, जो पीडीपी-12 पर प्रयोग किया जाता था। यह दो-अक्षर के कोड को स्वीकार करता है, जो कि एक अंकगणितीय ऑपरेशन निर्दिष्ट करता है। ऑपरेंड के रूप में सर्विस करने के लिए इनपुट रजिस्टर और गंतव्य रजिस्टर। पीडीपी-8 पर विकसित रूफस का एक संस्करण मार्स मेरिनर स्पेक्ट्रम एडिटर (एमएमईडी) था। एलएएसपी वैज्ञानिकों द्वारा मेरिनर 7 और मेरिनर 9 से डेटा की व्याख्या करने के लिए एमएमईडी का उपयोग किया गया था। बाद में स्टर्न ने एसओएल नामक एक कार्यक्रम लिखा, जो पीडीपी-8 पर भी प्रयोग किया गया। अपने पूर्ववर्तियों के विपरीत, यह फोरट्रान-जैसे सिंटैक्स के साथ एक ट्रू प्रोग्रामिंग भाषा थी। एसओएल कुछ पुराने ग्राफिक्स क्षमताओं के साथ एक ऐरे-ओरिएन्टेड भाषा थी।[1]

स्टर्न ने 1977 में एलएएसपी को त्यागकर रिसर्च सिस्टम्स इंक. (आरएसआई) की स्थापना की। प्रथम आरएसआई उत्पाद पीपीडी-11 के लिए आईडीएल था।[1] इस रिलीज में, आईडीएल द्वारा समर्थित ग्राफिक्स मुख्य रूप से टेक्ट्रोनिक्स टर्मिनल और रास्टर ग्राफिक्स डिस्प्ले किये गये थे। आरएसआई ने अपना प्रथम आईडीएल लाइसेंस नासा के गोडार्ड अंतरिक्ष उड़ान केंद्र और बॉल एयरोस्पेस एंड टेक्नोलॉजीज कार्पोरेशन को 1979 में बेचा। दो साल बाद आरएसआई ने आईडीएल का एक प्रारंभिक वीएएक्स/वीएमएस संस्करण को नियमित करते हुए संचालित किया। जिसे वैक्स मैक्रो और फोर्टरॉन में लिखा गया था। इसने वैक्स वर्चुअल मेमोरी और 32-बिट एड्रेस स्पेस का लाभ प्राप्त किया।[1] वायुमंडलीय अनुसंधान के लिए राष्ट्रीय केंद्र (एनसीएआर), मिशिगन विश्वविद्यालय, बोल्डर में कोलोराडो विश्वविद्यालय और नौसेना अनुसंधान प्रयोगशाला ने इस संस्करण के साथ आईडीएल का उपयोग करना प्रारम्भ कर दिया था।

1987 में आरएसआई ने आईडीएल के विकास कार्य को यूनिक्स इनवायरमेन्ट में स्थानांतरित कर दिया। जिसके लिए वैक्स आईडीएल के उपस्थित संस्करण के पोर्ट के स्थान पर C में कोड को पुनः लिखने की आवश्यकता थी।[1] स्टर्न और अली बहरामी ने सन 3 पर यूनिक्स के लिए आईडीएल को पुनः लिखा, भाषा को बढ़ाने और सुधारने के लिए पुनः लिखने का लाभ प्राप्त किया। इसके पश्चात आईडीएल को विस्तारित किया गया और यूनिक्स, वीएमएस, लिनक्स, माइक्रोसॉफ्ट विंडोज (1992) और मैक ओएस (1994) के कई रूपों में परिवर्तित किया गया।

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

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

आरएसआई मार्च 2004 में आईटीटी उद्योग की पूर्ण अधिकार वाली सहायक कंपनी का निर्माण किया। 15 मई 2006 तक, आरएसआई ने आईटीटी दृश्य सूचना समाधान के रूप में व्यवसाय करना प्रारम्भ कर दिया। प्रभावी 31 अक्टूबर 2011, पुनर्गठन के परिणामस्वरूप वह कंपनी एक्सेलिस दृश्य सूचना समाधान बन गई। 2015 तक, आईडीएल का अधिकार और देखरेख हैरिस भू-स्थानिक के पास है।

विशेषताएं

कंप्यूटर भाषा के रूप में, आईडीएल:

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

समस्याएं

इन सुविधाओं में से कुछ, जो आईडीएल को अंतःक्रियात्मक रूप से उपयोग करने के लिए बहुत सरल बनाती हैं, बड़े कार्यक्रमों के निर्माण के समय भी कठिनाइयों का कारण बनती हैं। एकल नामस्थान विशेष रूप से कठिनता से परिपूर्ण है। उदाहरण के लिए, नए अंतर्निर्मित फलनों को सम्मिलित करने वाले भाषा अद्यतनों ने संभवतः बड़े वैज्ञानिक पुस्तकालयों को अमान्य कर दिया है।[2]

सारणियों को संदर्भ द्वारा पारित किया जाता है और यह तंत्र एक उपनेमका से डेटा वापस पास करने के लिए भाषा की एक विज्ञापित विशेषता है। इसके विपरीत, सारणी स्लाइस को पारित होने से पहले कॉपी किया जाता है। जिससे डेटा संशोधन वापस सारणी श्रेणियों में प्रवाहित न हों (बाद में सबरूटीन बाहर निकलता है) और न्यूनतम आश्चर्य के सिद्धांत का उल्लंघन करता है।

कई ऐतिहासिक अनियमितताएं भाषा की प्रारंभिक उत्तराधिकार से बची हुई हैं, जिसके लिए प्रोग्रामर द्वारा विभिन्न वर्कअराउंड की आवश्यकता होती है। उदहारण के लिए:

  • ऐरे इंडेक्सिंग और सबरूटीन एंट्री दोनों को बिल्कुल एक ही सिंटैक्स (कोष्ठक) के साथ किया जा सकता है। यह अस्पष्टता, सभी वेरिएबल्स और सबरूटीन्स के लिए एकल नामस्थान के साथ मिलकर, कोड को काम करना बंद कर सकती है। जब नए परिभाषित सबरूटीन्स या भाषा एक्सटेंशन स्थानीय चर नामों के साथ संघर्ष करते हैं। आईडीएल प्रोग्रामर एरे इंडेक्सिंग के लिए स्क्वायर ब्रैकेट्स का उपयोग करके इनमें से कई समस्याओं से बच सकते हैं। जिससे फलन नामों के साथ टकराव की स्थिति से बचा जा सकता है। जो कोष्ठक का उपयोग करते हैं।

इस संकलक विकल्प का उपयोग करके पूर्ववर्ती समस्या को कम किया जा सकता है:

COMPILE_OPT STRICTARR
  • आईटीटी विज़ुअल इंफॉर्मेशन सॉल्यूशंस (आईटीटी वीआईएस), आईडीएल के डेवलपर्स ने अन्य वातावरणों के साथ बाईटकोड संगतता को रोकने के लिए स्पष्ट प्रयास किये हैं। संकलित रूटीन वाली फ़ाइलें एक बाइनरी टैग-डेटा-संरचना प्रारूप का उपयोग करती हैं। जिसे आधिकारिक रूप से प्रकाशित नहीं किया गया है। किन्तु उपयोगकर्ताओं द्वारा इसकी जांच और लेखों को संकलित किया गया है।[3] किन्तु प्रत्येक संकलित की गई फ़ाइल के अन्दर एम्बेडेड आस्काई लेसन के रूप में निम्नलिखित सूचना भी सम्मिलित है: आईडीएल सहेजें/पुनर्स्थापना फ़ाइलें आईडीएल प्रोग्राम के विषय में अप्रकाशित अधिकार वाली जानकारी का प्रतीक हैं। इसलिए इस फाइल की रिवर्स इंजीनियरिंग आईडीएल एंड यूजर लाइसेंस एग्रीमेंट (आईडीएल ईयूएलए) की नियमों के अनुसार प्रतिबंधित है। सभी आईडीएल उपयोगकर्ताओं को आईडीएल स्थापित करते समय आईडीएल ईयूएलए के नियमों को पढ़ना और उनसे सहमत होना आवश्यक है। आईडीएल सहेजें/पुनर्स्थापना प्रारूप में फ़ाइलों को पढ़ने या लिखने वाले सॉफ़्टवेयर के पास आईटीटी दृश्य सूचना समाधान का लाइसेंस होना चाहिए। जो स्पष्ट रूप से ऐसा करने का अधिकार प्रदान करता हो। इस स्थिति में आपके निरीक्षण के लिए लाइसेंस को सॉफ्टवेयर के साथ सम्मिलित किया जाएगा। कृपया आईटीटी विज़ुअल इंफॉर्मेशन समाधान को ऐसे सॉफ़्टवेयर की रिपोर्ट करें, जिसके पास ऐसा लाइसेंस नहीं है। फरवरी 2010 तक कथन का न्यायालय में परीक्षण नहीं किया गया है।

साथ ही, आईडीएल ईयूएलए के प्रावधान का उस देश के कॉपीराइट अधिनियम की धारा 47D और 47H के परिणामस्वरूप ऑस्ट्रेलिया में कोई प्रभाव नहीं है।

उदाहरण-

निम्नलिखित ग्राफिक्स आईडीएल (स्रोत कोड सम्मिलित ) के साथ बनाए गए थे:

  • रैंडम डेटा प्लस ट्रेंड की इमेज, बेस्ट-फिट लाइन और विभिन्न स्मूथिंग के साथ
  • आयु और गहराई के विरुद्ध डेल्टा-ओ-18 के भूखंड (ईपिका और वोस्तोक से)
  • कोयोट आईडीएल गैलरी आईडीएल इमेजिंग के उदाहरण

यह भी देखें

* संख्यात्मक-विश्लेषण सॉफ्टवेयर की सूची

* ईएनवीआई (सॉफ्टवेयर) - आईडीएल में निर्मित एक इमेज प्रोसेसिंग सॉफ्टवेयर पैकेज।

* आईआरएएफ - नोओ द्वारा निर्मित एक मुक्त, चित्रमय डेटा कमी का वातावरण।

  • मैटलैब - आईडीएल के समान क्षमता प्रदान करने वाला एक विधि कंप्यूटिंग वातावरण।

* NumPy - पायथन (प्रोग्रामिंग भाषा) के लिए एक एक्सटेंशन, जो इसे आईडीएल के समान सरणी गणित क्षमताएं प्रदान करता है।

* पर्ल डेटा लैंग्वेज (पीडीएल) - पर्ल का एक विस्तार, जो इसे आईडीएल के समान सारणी गणित क्षमताएं प्रदान करता है।

  • स्काईलैब - एक उच्च-स्तरीय, संख्यात्मक रूप से ओरिएन्टेड प्रोग्रामिंग भाषा, जिसे वैज्ञानिक कंप्यूटिंग और इंटरफेस के लिए प्रारूपित किया गया है।
  • सोलरसॉफ्ट - आईडीएल में मुख्य रूप से लिखे गए सौर डेटा विश्लेषण और अंतरिक्ष यान संचालन गतिविधियों के लिए पुस्तकालय।
  • जीएनयू डेटा लैंग्वेज - जीएनयू डेटा लैंग्वेज, आईडीएल के समान एक निःशुल्क कार्यान्वयन।
  • फॉल्टी लैंग्वेज - फॉल्टी लैंग्वेज एक आईडीएल8 (इंटरएक्टिव डेटा लैंग्वेज) संगत कंपाइलर है।

संदर्भ

  1. 1.0 1.1 1.2 1.3 Schienle, Mike (1991-01-19). "आईडीएल अक्सर पूछे जाने वाले प्रश्न". Retrieved 8 February 2019.
  2. Fanning, David. "Program Naming Conflicts in IDL 8". Archived from the original on 6 March 2014. Retrieved 30 September 2014.
  3. Markwardt, Craig (2011-12-21). "Unofficial Format Specification of the IDL "SAVE" File". Retrieved 2013-02-13.


बाहरी संबंध