अभिव्यक्ति-उन्मुख प्रोग्रामिंग भाषा: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 10: Line 10:
आलोचकों, भाषा डिजाइनरों सहित,<ref>[https://www.oracle.com/java/technologies/javase/codeconventions-programmingpractices.html#547 Java Code Conventions "10.4 Variable Assignments"]</ref> [[सॉफ्टवेयर बग]] की एक पूरी कक्षा के लिए दोष अभिव्यक्ति-अभिविन्यास जिसमें एक प्रोग्रामर गलती से एक [[असाइनमेंट (कंप्यूटर विज्ञान)]] अभिव्यक्ति को कोड करता है, जो एक चर को उस अभिव्यक्ति के साथ [[समानता (रिलेशनल ऑपरेटर)]] के परीक्षण के अतिरिक्त एक अभिव्यक्ति के साथ बदल देता है।
आलोचकों, भाषा डिजाइनरों सहित,<ref>[https://www.oracle.com/java/technologies/javase/codeconventions-programmingpractices.html#547 Java Code Conventions "10.4 Variable Assignments"]</ref> [[सॉफ्टवेयर बग]] की एक पूरी कक्षा के लिए दोष अभिव्यक्ति-अभिविन्यास जिसमें एक प्रोग्रामर गलती से एक [[असाइनमेंट (कंप्यूटर विज्ञान)]] अभिव्यक्ति को कोड करता है, जो एक चर को उस अभिव्यक्ति के साथ [[समानता (रिलेशनल ऑपरेटर)]] के परीक्षण के अतिरिक्त एक अभिव्यक्ति के साथ बदल देता है।


एडा (प्रोग्रामिंग भाषा) और [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] के डिजाइनर [[सशर्त (कंप्यूटर प्रोग्रामिंग)|नियमबद्ध (कंप्यूटर प्रोग्रामिंग)]] को उन लोगों तक सीमित करके इस प्रकार की गलती को रोकते हैं जो [[बूलियन डेटा प्रकार]] के लिए कड़ाई से मूल्यांकन करते हैं।<ref>[https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.9 The Java Language Specification, Java SE 8 Edition "14.9 The if Statement"]</ref><ref>[https://www.adaic.org/learn/materials/intro/part4/ Introducing Ada]</ref>
एडा (प्रोग्रामिंग भाषा) और [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] के डिजाइनर [[सशर्त (कंप्यूटर प्रोग्रामिंग)|नियमबद्ध (कंप्यूटर प्रोग्रामिंग)]] को उन लोगों तक सीमित करके इस प्रकार की गलती को रोकते हैं जो [[बूलियन डेटा प्रकार]] के लिए शक्ति से मूल्यांकन करते हैं।<ref>[https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.9 The Java Language Specification, Java SE 8 Edition "14.9 The if Statement"]</ref><ref>[https://www.adaic.org/learn/materials/intro/part4/ Introducing Ada]</ref>


पायथन (प्रोग्रामिंग भाषा) के डिजाइनरों ने एक अभिव्यक्ति के अतिरिक्त एक कथन के रूप में असाइनमेंट को प्रयुक्त किया, इस प्रकार असाइनमेंट को किसी अन्य कथन या अभिव्यक्ति के अंदर नेस्ट करने से रोक दिया।<ref name=":1">[https://docs.python.org/3/reference/simple_stmts.html#assignment The Python Language Reference "6.2. Assignment statements"]</ref> (संस्करण 3.8 तक एक अलग सिंटैक्स के साथ 'असाइनमेंट एक्सप्रेशन' जोड़ा गया।<ref>[https://www.python.org/dev/peps/pep-0572/ "PEP 572: Assignment Expressions"]</ref>)
पायथन (प्रोग्रामिंग भाषा) के डिजाइनरों ने एक अभिव्यक्ति के अतिरिक्त एक कथन के रूप में असाइनमेंट को प्रयुक्त किया, इस प्रकार असाइनमेंट को किसी अन्य कथन या अभिव्यक्ति के अंदर नेस्ट करने से रोक दिया।<ref name=":1">[https://docs.python.org/3/reference/simple_stmts.html#assignment The Python Language Reference "6.2. Assignment statements"]</ref> (संस्करण 3.8 तक एक अलग सिंटैक्स के साथ 'असाइनमेंट एक्सप्रेशन' जोड़ा गया।<ref>[https://www.python.org/dev/peps/pep-0572/ "PEP 572: Assignment Expressions"]</ref>)


कुछ अभिव्यक्ति-उन्मुख भाषाओं में, अभिव्यक्तियाँ जो केवल दुष्प्रभाव (कंप्यूटर विज्ञान) का कारण बनती हैं, [[शून्य प्रकार]] लौटाती हैं।
कुछ अभिव्यक्ति-उन्मुख भाषाओं में, अभिव्यक्तियाँ जो केवल दुष्प्रभाव (कंप्यूटर विज्ञान) का कारण बनती हैं, [[शून्य प्रकार]] लौटाती हैं।
'''साइनमेंट को किसी अन्य कथन यासाइनमेंट को किसी अन्य कथन या अ अभिव्यक्ति के अंदर नेस्ट करने से रोक दिया।<ref name=":1" /> (संस्करण 3.8'''                                           
== उदाहरण                                            ==
== उदाहरण                                            ==
* एल्गोल 68
* एल्गोल 68

Revision as of 10:11, 19 May 2023

एक अभिव्यक्ति उन्मुख प्रोग्रामिंग भाषा एक प्रोग्रामिंग भाषा है जिसमें प्रत्येक (या लगभग हर) निर्माण एक अभिव्यक्ति (कंप्यूटर विज्ञान) है और इस प्रकार एक मान उत्पन्न करता है।[1] विशिष्ट अपवाद मैक्रो (कंप्यूटर विज्ञान) परिभाषाएं, प्रीप्रोसेसर आदेश और घोषणा (कंप्यूटर प्रोग्रामिंग) हैं, जो अभिव्यक्ति-उन्मुख भाषाएं अधिकांशतः कथन (कंप्यूटर विज्ञान) के रूप में व्यवहार करती हैं।

लिस्प (प्रोग्रामिंग भाषा)[2] और अल्गोल68 अभिव्यक्ति-उन्मुख भाषाएँ हैं। पास्कल प्रोग्रामिंग भाषा एक्सप्रेशन-ओरिएंटेड भाषा नहीं है।

सभी कार्यात्मक प्रोग्रामिंग भाषाएं अभिव्यक्ति-उन्मुख हैं।

आलोचना और रोकथाम

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

एडा (प्रोग्रामिंग भाषा) और जावा (प्रोग्रामिंग भाषा) के डिजाइनर नियमबद्ध (कंप्यूटर प्रोग्रामिंग) को उन लोगों तक सीमित करके इस प्रकार की गलती को रोकते हैं जो बूलियन डेटा प्रकार के लिए शक्ति से मूल्यांकन करते हैं।[4][5]

पायथन (प्रोग्रामिंग भाषा) के डिजाइनरों ने एक अभिव्यक्ति के अतिरिक्त एक कथन के रूप में असाइनमेंट को प्रयुक्त किया, इस प्रकार असाइनमेंट को किसी अन्य कथन या अभिव्यक्ति के अंदर नेस्ट करने से रोक दिया।[6] (संस्करण 3.8 तक एक अलग सिंटैक्स के साथ 'असाइनमेंट एक्सप्रेशन' जोड़ा गया।[7])

कुछ अभिव्यक्ति-उन्मुख भाषाओं में, अभिव्यक्तियाँ जो केवल दुष्प्रभाव (कंप्यूटर विज्ञान) का कारण बनती हैं, शून्य प्रकार लौटाती हैं।

उदाहरण


यह भी देखें

संदर्भ

  1. "शब्दावली - द रस्ट प्रोग्रामिंग लैंग्वेज". web.mit.edu. Retrieved 2022-07-06.
  2. 2.0 2.1 Syme, Don (2020-06-14). "एफ # का प्रारंभिक इतिहास". Proceedings of the ACM on Programming Languages (in English). 4 (HOPL): 1–58. doi:10.1145/3386325. ISSN 2475-1421.
  3. Java Code Conventions "10.4 Variable Assignments"
  4. The Java Language Specification, Java SE 8 Edition "14.9 The if Statement"
  5. Introducing Ada
  6. The Python Language Reference "6.2. Assignment statements"
  7. "PEP 572: Assignment Expressions"
  8. "कार्य - जंग प्रोग्रामिंग भाषा". web.mit.edu. Retrieved 2022-07-06.
  9. "COS 326: Functional Programming". www.cs.princeton.edu. Retrieved 2022-07-06.