एक्सप्लोरेटरी प्रोग्रामिंग: Difference between revisions

From Vigyanwiki
No edit summary
Line 1: Line 1:
[[कार्यान्वयन (कंप्यूटर विज्ञान)|इम्प्लीमेंटेशन (प्रोग्रामिंग)]] के विपरीत इक्स्प्लोरटोरी प्रोग्रामिंग, [[सॉफ्टवेयर इंजीनियरिंग]] चक्र का महत्वपूर्ण हिस्सा है: जब कोई डोमेन बहुत अच्छी तरह से समझा नहीं जाता है या ओपन-एंडेड नहीं होता है, या यह स्पष्ट नहीं है कि इम्प्लीमेंटेशन के लिए एल्गोरिदम और डेटा संरचनाओं की क्या आवश्यकता हो सकती है, तो संपादन-संकलन-रन- दोषमार्जन चक्र की सामान्य बाधाओं से गुज़रे बिना किसी प्रोग्राम को अंतःक्रियात्मक रूप से विकसित करने और दोषमार्जन करने में सक्षम होना उपयोगी होता है। [[एपीएल (प्रोग्रामिंग भाषा)|APL(प्रोग्रामिंग भाषा)]], [[सेसिल (प्रोग्रामिंग भाषा)|सेसिल(प्रोग्रामिंग भाषा)]], C शार्प (प्रोग्रामिंग भाषा), [[डायलन (प्रोग्रामिंग भाषा)]], फैक्टर (प्रोग्रामिंग भाषा), [[फोर्थ (प्रोग्रामिंग भाषा)]], F शार्प (प्रोग्रामिंग भाषा), J [[जे (प्रोग्रामिंग भाषा)|(प्रोग्रामिंग भाषा)]], [[जावा (प्रोग्रामिंग भाषा)]],<ref>through its [[JShell]] [[read-eval-print loop]] interpreter introduced in version 9</ref> [[जूलिया (प्रोग्रामिंग भाषा)]], [[लिस्प (प्रोग्रामिंग भाषा)]], [[मेथेमेटिका]], [[ओज़ (प्रोग्रामिंग भाषा)]], [[प्रोलॉग]], [[पायथन (प्रोग्रामिंग भाषा)]], REBOL, [[पर्ल]], [[आर (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], [[स्काला (प्रोग्रामिंग भाषा)]], सेल्फ (प्रोग्रामिंग भाषा), स्मॉलटॉक, TCL और [[जावास्क्रिप्ट]], जैसी भाषाएँ<ref>through  [[Microsoft Visual Studio]]</ref> प्रायः एकीकृत विकास वातावरण के संयोजन में, अन्तरक्रियाशीलता, गतिशीलता और विस्तारशीलता के माध्यम से इक्स्प्लोरटोरी प्रोग्रामिंग के लिए सहायता प्रदान करते हैं।
[[कार्यान्वयन (कंप्यूटर विज्ञान)|कार्यान्वयन (प्रोग्रामिंग)]] के विपरीत अन्वेषणात्मक प्रोग्रामिंग, [[सॉफ्टवेयर इंजीनियरिंग|सॉफ्टवेयर अभियान्त्रिकी]] का महत्वपूर्ण हिस्सा है: जब कोई डोमेन बहुत अच्छी तरह से समझा नहीं जाता है या ओपन-एंडेड नहीं होता है, या यह स्पष्ट नहीं है कि कार्यान्वयन के लिए एल्गोरिदम और डेटा संरचनाओं की क्या आवश्यकता हो सकती है, तो संपादन-संकलन-रन- दोषमार्जन आवर्तन की सामान्य बाधाओं से गुज़रे बिना किसी प्रोग्राम को अंतःक्रियात्मक रूप से विकसित करने और दोषमार्जन करने में सक्षम होना उपयोगी होता है। [[एपीएल (प्रोग्रामिंग भाषा)|APL(प्रोग्रामिंग भाषा)]], [[सेसिल (प्रोग्रामिंग भाषा)|सेसिल(प्रोग्रामिंग भाषा)]], C शार्प (प्रोग्रामिंग भाषा), [[डायलन (प्रोग्रामिंग भाषा)]], फैक्टर (प्रोग्रामिंग भाषा), [[फोर्थ (प्रोग्रामिंग भाषा)]], F शार्प (प्रोग्रामिंग भाषा), J [[जे (प्रोग्रामिंग भाषा)|(प्रोग्रामिंग भाषा)]], [[जावा (प्रोग्रामिंग भाषा)]],<ref>through its [[JShell]] [[read-eval-print loop]] interpreter introduced in version 9</ref> [[जूलिया (प्रोग्रामिंग भाषा)]], [[लिस्प (प्रोग्रामिंग भाषा)]], [[मेथेमेटिका]], [[ओज़ (प्रोग्रामिंग भाषा)]], [[प्रोलॉग]], [[पायथन (प्रोग्रामिंग भाषा)]], REBOL, [[पर्ल]], [[आर (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], [[स्काला (प्रोग्रामिंग भाषा)]], सेल्फ (प्रोग्रामिंग भाषा), स्मॉलटॉक, TCL और [[जावास्क्रिप्ट]], जैसी भाषाएँ<ref>through  [[Microsoft Visual Studio]]</ref> प्रायः एकीकृत विकास वातावरण के संयोजन में, अन्तरक्रियाशीलता, गतिशीलता और विस्तारशीलता के माध्यम से अन्वेषणात्मक प्रोग्रामिंग के लिए सहायता प्रदान करते हैं।


==औपचारिक विनिर्देशन बनाम इक्स्प्लोरटोरी प्रोग्रामिंग==
==औपचारिक विनिर्देशन बनाम अन्वेषणात्मक प्रोग्रामिंग==


कुछ सॉफ़्टवेयर विकास परियोजनाओं के लिए, आवश्यकताओं का विश्लेषण और औपचारिक [[विनिर्देश]]न करना उचित है। अन्य सॉफ्टवेयर विकास परियोजनाओं के लिए, यह समझ में आता है कि डेवलपर्स को प्रौद्योगिकी के साथ प्रयोग करने दें और इक्स्प्लोरटोरी प्रोग्रामिंग के आधार पर सॉफ्टवेयर के विनिर्देशों को विकसित होने दें।
कुछ सॉफ़्टवेयर विकास परियोजनाओं के लिए, आवश्यकताओं का विश्लेषण और औपचारिक [[विनिर्देश]]न करना उचित है। अन्य सॉफ्टवेयर विकास परियोजनाओं के लिए, यह समझ में आता है कि डेवलपर्स को प्रौद्योगिकी के साथ प्रयोग करने दें और अन्वेषणात्मक प्रोग्रामिंग के आधार पर सॉफ्टवेयर के विनिर्देशों को विकसित होने दें।


==[[ब्रेडबोर्डिंग]] से समानता==
==[[ब्रेडबोर्डिंग]] से समानता==
Line 10: Line 10:
==यह भी देखें==
==यह भी देखें==
* [[लाइव कोडिंग]]
* [[लाइव कोडिंग]]
* [[सॉफ्टवेयर प्रोटोटाइपिंग]]
* [[सॉफ्टवेयर प्रोटोटाइपिंग|सॉफ्टवेयर प्रतिमान]]


==टिप्पणियाँ==
==टिप्पणियाँ==
<references />
<references />
==संदर्भ==
==संदर्भ==
*{{cite book|author=Rajib Mall|title=Fundamentals of Software Engineering|url=https://books.google.com/books?id=K6BloOqIssQC&pg=PA32|date=1 August 2004|publisher=PHI Learning Pvt. Ltd.|isbn=978-81-203-2445-9|pages=32}}<nowiki>'''</nowiki>
*{{cite book|author=राजीब मॉल (1 अगस्त 2004)। सॉफ्टवेयर इंजीनियरिंग के बुनियादी सिद्धांत|date=1 August 2004|publisher=पीएचआई लर्निंग प्रा. लिमिटेड पी.|isbn=978-81-203-2445-9|pages=32}}<nowiki>'''</nowiki>


{{DEFAULTSORT:Exploratory Programming}}[[Category: प्रोग्रामिंग प्रतिमान]] [[Category: यूजर इंटरफ़ेस तकनीक]]
{{DEFAULTSORT:Exploratory Programming}}[[Category: प्रोग्रामिंग प्रतिमान]] [[Category: यूजर इंटरफ़ेस तकनीक]]

Revision as of 17:48, 8 August 2023

कार्यान्वयन (प्रोग्रामिंग) के विपरीत अन्वेषणात्मक प्रोग्रामिंग, सॉफ्टवेयर अभियान्त्रिकी का महत्वपूर्ण हिस्सा है: जब कोई डोमेन बहुत अच्छी तरह से समझा नहीं जाता है या ओपन-एंडेड नहीं होता है, या यह स्पष्ट नहीं है कि कार्यान्वयन के लिए एल्गोरिदम और डेटा संरचनाओं की क्या आवश्यकता हो सकती है, तो संपादन-संकलन-रन- दोषमार्जन आवर्तन की सामान्य बाधाओं से गुज़रे बिना किसी प्रोग्राम को अंतःक्रियात्मक रूप से विकसित करने और दोषमार्जन करने में सक्षम होना उपयोगी होता है। APL(प्रोग्रामिंग भाषा), सेसिल(प्रोग्रामिंग भाषा), C शार्प (प्रोग्रामिंग भाषा), डायलन (प्रोग्रामिंग भाषा), फैक्टर (प्रोग्रामिंग भाषा), फोर्थ (प्रोग्रामिंग भाषा), F शार्प (प्रोग्रामिंग भाषा), J (प्रोग्रामिंग भाषा), जावा (प्रोग्रामिंग भाषा),[1] जूलिया (प्रोग्रामिंग भाषा), लिस्प (प्रोग्रामिंग भाषा), मेथेमेटिका, ओज़ (प्रोग्रामिंग भाषा), प्रोलॉग, पायथन (प्रोग्रामिंग भाषा), REBOL, पर्ल, आर (प्रोग्रामिंग भाषा), रूबी (प्रोग्रामिंग भाषा), स्काला (प्रोग्रामिंग भाषा), सेल्फ (प्रोग्रामिंग भाषा), स्मॉलटॉक, TCL और जावास्क्रिप्ट, जैसी भाषाएँ[2] प्रायः एकीकृत विकास वातावरण के संयोजन में, अन्तरक्रियाशीलता, गतिशीलता और विस्तारशीलता के माध्यम से अन्वेषणात्मक प्रोग्रामिंग के लिए सहायता प्रदान करते हैं।

औपचारिक विनिर्देशन बनाम अन्वेषणात्मक प्रोग्रामिंग

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

ब्रेडबोर्डिंग से समानता

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

यह भी देखें

टिप्पणियाँ

  1. through its JShell read-eval-print loop interpreter introduced in version 9
  2. through Microsoft Visual Studio

संदर्भ

  • राजीब मॉल (1 अगस्त 2004)। सॉफ्टवेयर इंजीनियरिंग के बुनियादी सिद्धांत (1 August 2004). पीएचआई लर्निंग प्रा. लिमिटेड पी. p. 32. ISBN 978-81-203-2445-9. {{cite book}}: Missing or empty |title= (help)'''