लावा (प्रोग्रामिंग भाषा): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
लावा प्रयोगात्मक[[दृश्य [[प्रोग्रामिंग भाषा]]]] भाषा [[ वस्तु के उन्मुख |वस्तु के उन्मुख]] , [[ दुभाषिया (कंप्यूटिंग) |दुभाषिया (कंप्यूटिंग)]] -आधारित प्रोग्रामिंग भाषा है जिसमें संबद्ध एकीकृत विकास वातावरण (लावा प्रोग्रामिंग एनवायरनमेंट या लावापीई) है जो टेक्स्ट संपादकों के बजाय संरचना संपादकों का उपयोग करता है।<ref>{{cite conference |url=http://sourceforge.net/projects/lavape/files/Lava%20Papers/LavaGIworkshop2001.pdf/download |title=Lava – An Object-Oriented RAD Language Designed for Ease of Learning, Use, and Program Comprehension |format=PDF |conference=Gesellschaft für Informatik |date=October 2001 |access-date=2022-06-09 }}
लावा एक प्रयोगात्मक, दृश्य ऑब्जेक्ट ओरिएंटेड, इन्टरप्रेटर-आधारित [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]] है जिसमें संबद्ध प्रोग्रामिंग वातावरण (लावा प्रोग्रामिंग एनवायरनमेंट या लावापीई) है जो टेक्स्ट एडिटर्स के अतिरिक्त संरचना एडिटर्स का उपयोग करता है।<ref>{{cite conference |url=http://sourceforge.net/projects/lavape/files/Lava%20Papers/LavaGIworkshop2001.pdf/download |title=Lava – An Object-Oriented RAD Language Designed for Ease of Learning, Use, and Program Comprehension |format=PDF |conference=Gesellschaft für Informatik |date=October 2001 |access-date=2022-06-09 }}
</ref> केवल टिप्पणियाँ, स्थिरांक और नए [[पहचानकर्ता]] ही पाठ के रूप में दर्ज किए जा सकते हैं।
</ref> केवल टिप्पणियाँ, स्थिरांक और नए [[पहचानकर्ता]] ही टेक्स्ट के रूप में अंकित किए जा सकते हैं।


घोषणाओं को लावापीई में वृक्ष संरचनाओं के रूप में दर्शाया जाता है जिनके उपवृक्ष ध्वस्त या विस्तारित हो सकते हैं। घोषित लावा wikt:entity के गुणों को पॉप-अप संवादों के माध्यम से संपादित किया जा सकता है।
घोषणाओं को लावापीई में ट्री संरचनाओं के रूप में दर्शाया जाता है जिनके सबट्री ध्वस्त या विस्तारित हो सकते हैं। घोषित लावा wikt:entity के गुणों को पॉप-अप संवादों के माध्यम से संपादित किया जा सकता है।


हालाँकि निष्पादन योग्य कोड में LavaPE में पारंपरिक पाठ प्रतिनिधित्व होता है, इसे वर्ण दर वर्ण के बजाय केवल पूर्ण वाक्यात्मक इकाइयों के रूप में संपादित किया जा सकता है। यदि आप नया वाक्यविन्यास निर्माण सम्मिलित करते हैं, तो इसमें आम तौर पर प्लेसहोल्डर (वाक्यविन्यास चर) होंगे जिन्हें बाद में ठोस निर्माणों द्वारा प्रतिस्थापित किया जा सकता है; उत्तरार्द्ध में बदले में वाक्यात्मक चर आदि शामिल हो सकते हैं। LavaPE हर प्रकार के वाक्यात्मक निर्माण के लिए टूल [[बटन (कंप्यूटिंग)]] प्रदान करता है, और बटन केवल तभी सक्षम होता है जब चयनित स्थान पर संबंधित निर्माण को सम्मिलित करने के लिए यह वाक्यात्मक रूप से सही हो।
चूँकि निष्पादन योग्य कोड में लावापीई में पारंपरिक टेक्स्ट प्रतिनिधित्व होता है, इसे वर्ण दर के अतिरिक्त केवल पूर्ण वाक्यात्मक इकाइयों के रूप में संपादित किया जा सकता है। यदि आप नया सिंटैक्टिक निर्माण सम्मिलित करते हैं, तो इसमें सामान्यतः प्लेसहोल्डर (सिंटैक्टिक वैरिएबल) होंगे जिसके पश्चात् में ठोस निर्माणों द्वारा प्रतिस्थापित किया जा सकता है; उत्तरार्द्ध में परिवर्तन  में वाक्यात्मक वैरिएबल आदि सम्मिलित हो सकते हैं। लावापीई हर प्रकार के वाक्यात्मक निर्माण के लिए टूल [[बटन (कंप्यूटिंग)]] प्रदान करता है, और बटन केवल तभी सक्षम होता है जब चयनित स्थान पर संबंधित निर्माण को सम्मिलित करने के लिए यह वाक्यात्मक रूप से सही होते है।


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


लावा [[जीएनयू जनरल पब्लिक लाइसेंस]] लाइसेंस का उपयोग करने वाला [[ खुला स्रोत सॉफ्टवेयर |खुला स्रोत सॉफ्टवेयर]] सॉफ्टवेयर है (यह भी देखें [http://directory.fsf.org/project/LavaPE/ फ्री सॉफ्टवेयर फाउंडेशन पर लावा] और [http://kde-apps.org/content/show.php/LavaPE?content=26953 KDE-Apps.org] पर)। यह वर्तमान में [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] , [[लिनक्स]] और [[ Mac OS X |Mac OS X]] प्लेटफॉर्म पर चलता है।
लावा [[जीएनयू जनरल पब्लिक लाइसेंस]] '''लाइसेंस''' का उपयोग करने वाला [[ खुला स्रोत सॉफ्टवेयर |ओपन सोर्स सॉफ्टवेयर]] सॉफ्टवेयर है (यह भी देखें [http://directory.fsf.org/project/LavaPE/ फ्री सॉफ्टवेयर फाउंडेशन पर लावा] और [http://kde-apps.org/content/show.php/LavaPE?content=26953 KDE-Apps.org] पर)। यह वर्तमान में [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] , [[लिनक्स]] और [[ Mac OS X |मैक ओएस एक्स]] प्लेटफॉर्म पर चलता है।


== संदर्भ ==
== संदर्भ ==
Line 23: Line 23:


== स्रोत ==
== स्रोत ==
* [http://www.sigs-datacom.de/fachzeitschriften/objektpaket/archiv/artikelansicht.html?tx_mwjournals_pi1%5Bpointer%5D=0&tx_mwjournals_pi1%5Bmode%5D=1&tx_mwjournals_pi1%5BshowUid%5D=442 लावा: संरचना संपादकों के साथ ब्लॉक-आधारित प्रोग्रामिंग] (जर्मन, OBJEKTsprektrum 1/2002 में आलेख)
* [http://www.sigs-datacom.de/fachzeitschriften/objektpaket/archiv/artikelansicht.html?tx_mwjournals_pi1%5Bpointer%5D=0&tx_mwjournals_pi1%5Bmode%5D=1&tx_mwjournals_pi1%5BshowUid%5D=442 लावा: संरचना एडिटर्स के साथ ब्लॉक-आधारित प्रोग्रामिंग] (जर्मन, OBJEKTsprektrum 1/2002 में आलेख)


== बाहरी संबंध ==
== बाहरी संबंध                                                                                         ==
{{Portal|Free and open-source software|Computer programming}}
{{Portal|Free and open-source software|Computer programming}}
* {{Official website}}
* {{Official website}}

Revision as of 17:26, 8 August 2023

लावा एक प्रयोगात्मक, दृश्य ऑब्जेक्ट ओरिएंटेड, इन्टरप्रेटर-आधारित प्रोग्रामिंग लैंग्वेज है जिसमें संबद्ध प्रोग्रामिंग वातावरण (लावा प्रोग्रामिंग एनवायरनमेंट या लावापीई) है जो टेक्स्ट एडिटर्स के अतिरिक्त संरचना एडिटर्स का उपयोग करता है।[1] केवल टिप्पणियाँ, स्थिरांक और नए पहचानकर्ता ही टेक्स्ट के रूप में अंकित किए जा सकते हैं।

घोषणाओं को लावापीई में ट्री संरचनाओं के रूप में दर्शाया जाता है जिनके सबट्री ध्वस्त या विस्तारित हो सकते हैं। घोषित लावा wikt:entity के गुणों को पॉप-अप संवादों के माध्यम से संपादित किया जा सकता है।

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

लावा और लावापीई के अतिरिक्त विशिष्ट गुणों में निम्नलिखित सम्मिलित हैं:

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

लावा जीएनयू जनरल पब्लिक लाइसेंस लाइसेंस का उपयोग करने वाला ओपन सोर्स सॉफ्टवेयर सॉफ्टवेयर है (यह भी देखें फ्री सॉफ्टवेयर फाउंडेशन पर लावा और KDE-Apps.org पर)। यह वर्तमान में माइक्रोसॉफ़्ट विंडोज़ , लिनक्स और मैक ओएस एक्स प्लेटफॉर्म पर चलता है।

संदर्भ

  1. Lava – An Object-Oriented RAD Language Designed for Ease of Learning, Use, and Program Comprehension (PDF). Gesellschaft für Informatik. October 2001. Retrieved 2022-06-09.


स्रोत

बाहरी संबंध

  • No URL found. Please specify a URL here or add one to Wikidata.