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

From Vigyanwiki
(Created page with "{{Programming paradigms}} {{Notability|date=July 2022}} एक अभिव्यक्ति उन्मुख प्रोग्रामिंग भाषा एक...")
 
No edit summary
Line 1: Line 1:
{{Programming paradigms}}
{{Programming paradigms}}
{{Notability|date=July 2022}}
एक अभिव्यक्ति उन्मुख [[प्रोग्रामिंग भाषा]] एक प्रोग्रामिंग भाषा है जिसमें प्रत्येक (या लगभग हर) निर्माण एक [[अभिव्यक्ति (कंप्यूटर विज्ञान)]] है और इस प्रकार एक मान उत्पन्न करता है।<ref>{{Cite web |title=शब्दावली - द रस्ट प्रोग्रामिंग लैंग्वेज|url=https://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/first-edition/glossary.html#expression-oriented-language |access-date=2022-07-06 |website=web.mit.edu}}</ref> विशिष्ट अपवाद [[मैक्रो (कंप्यूटर विज्ञान)]] परिभाषाएं, [[ preprocessor |प्रीप्रोसेसर]] आदेश और [[ घोषणा (कंप्यूटर प्रोग्रामिंग) |घोषणा (कंप्यूटर प्रोग्रामिंग)]] हैं, जो अभिव्यक्ति-उन्मुख भाषाएं अधिकांशतः कथन (कंप्यूटर विज्ञान) के रूप में व्यवहार करती हैं।


एक अभिव्यक्ति उन्मुख [[प्रोग्रामिंग भाषा]] एक प्रोग्रामिंग भाषा है जिसमें प्रत्येक (या लगभग हर) निर्माण एक [[अभिव्यक्ति (कंप्यूटर विज्ञान)]] है और इस प्रकार एक मूल्य उत्पन्न करता है।<ref>{{Cite web |title=शब्दावली - द रस्ट प्रोग्रामिंग लैंग्वेज|url=https://web.mit.edu/rust-lang_v1.25/arch/amd64_ubuntu1404/share/doc/rust/html/book/first-edition/glossary.html#expression-oriented-language |access-date=2022-07-06 |website=web.mit.edu}}</ref> विशिष्ट अपवाद [[मैक्रो (कंप्यूटर विज्ञान)]] परिभाषाएं, [[ preprocessor ]] कमांड और [[ घोषणा (कंप्यूटर प्रोग्रामिंग) ]] हैं, जो अभिव्यक्ति-उन्मुख भाषाएं अक्सर कथन (कंप्यूटर विज्ञान) के रूप में व्यवहार करती हैं।
[[लिस्प (प्रोग्रामिंग भाषा)]]<ref name=":0">{{Cite journal |last=Syme |first=Don |date=2020-06-14 |title=एफ # का प्रारंभिक इतिहास|journal=Proceedings of the ACM on Programming Languages |language=en |volume=4 |issue=HOPL |pages=1–58 |doi=10.1145/3386325 |issn=2475-1421|doi-access=free }}</ref> और [[ALGOL 68|अल्गोल68]] अभिव्यक्ति-उन्मुख भाषाएँ हैं। [[ पास्कल प्रोग्रामिंग भाषा |पास्कल प्रोग्रामिंग भाषा]] एक्सप्रेशन-ओरिएंटेड भाषा नहीं है।
 
[[लिस्प (प्रोग्रामिंग भाषा)]]<ref name=":0">{{Cite journal |last=Syme |first=Don |date=2020-06-14 |title=एफ # का प्रारंभिक इतिहास|journal=Proceedings of the ACM on Programming Languages |language=en |volume=4 |issue=HOPL |pages=1–58 |doi=10.1145/3386325 |issn=2475-1421|doi-access=free }}</ref> और [[ALGOL 68]] अभिव्यक्ति-उन्मुख भाषाएँ हैं। [[ पास्कल प्रोग्रामिंग भाषा ]] एक्सप्रेशन-ओरिएंटेड लैंग्वेज नहीं है।


सभी [[कार्यात्मक प्रोग्रामिंग भाषा]]एं अभिव्यक्ति-उन्मुख हैं।{{citation needed|date=September 2020}}
सभी [[कार्यात्मक प्रोग्रामिंग भाषा]]एं अभिव्यक्ति-उन्मुख हैं।{{citation needed|date=September 2020}}


== आलोचना और रोकथाम ==
== आलोचना और रोकथाम ==
{{Synthesis|date=July 2022}}
{{See also|असाइनमेंट (कंप्यूटर विज्ञान) या असाइनमेंट बनाम समानता|रिलेशनल ऑपरेटर  या असाइनमेंट ऑपरेटरों के साथ भ्रम}}
{{See also|Assignment (computer science)#Assignment versus equality|Relational operator#Confusion with assignment operators}}
आलोचकों, भाषा डिजाइनरों सहित,<ref>[https://www.oracle.com/java/technologies/javase/codeconventions-programmingpractices.html#547 Java Code Conventions "10.4 Variable Assignments"]</ref>{{Failed verification|date=July 2022}} [[सॉफ्टवेयर बग]] की एक पूरी कक्षा के लिए दोष अभिव्यक्ति-अभिविन्यास जिसमें एक प्रोग्रामर गलती से एक [[असाइनमेंट (कंप्यूटर विज्ञान)]] अभिव्यक्ति को कोड करता है, जो एक चर को उस अभिव्यक्ति के साथ [[समानता (रिलेशनल ऑपरेटर)]] के परीक्षण के अतिरिक्त एक अभिव्यक्ति के साथ बदल देता है।
आलोचकों, भाषा डिजाइनरों सहित,<ref>[https://www.oracle.com/java/technologies/javase/codeconventions-programmingpractices.html#547 Java Code Conventions "10.4 Variable Assignments"]</ref>{{Failed verification|date=July 2022}} [[सॉफ्टवेयर बग]] की एक पूरी कक्षा के लिए दोष अभिव्यक्ति-अभिविन्यास जिसमें एक प्रोग्रामर गलती से एक [[असाइनमेंट (कंप्यूटर विज्ञान)]] अभिव्यक्ति को कोड करता है, जो एक चर को उस अभिव्यक्ति के साथ [[समानता (रिलेशनल ऑपरेटर)]] के परीक्षण के बजाय एक अभिव्यक्ति के साथ बदल देता है।
 
एडा (प्रोग्रामिंग भाषा) और [[ जावा (प्रोग्रामिंग भाषा) |जावा (प्रोग्रामिंग भाषा)]] के डिजाइनर [[सशर्त (कंप्यूटर प्रोग्रामिंग)|नियमबद्ध (कंप्यूटर प्रोग्रामिंग)]] को उन लोगों तक सीमित करके इस प्रकार की गलती को रोकते हैं जो [[बूलियन डेटा प्रकार]] के लिए कड़ाई से मूल्यांकन करते हैं।<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>[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 तक एक अलग सिंटैक्स के सा'''                                         


== उदाहरण ==
== उदाहरण ==
{{More citations needed|date=July 2022}}
{{Expand section|date=February 2018}}
* एल्गोल 68
* एल्गोल 68
*[[परम आनंद]]
*[[परम आनंद]]
Line 34: Line 32:
* [[स्काला (प्रोग्रामिंग भाषा)]]
* [[स्काला (प्रोग्रामिंग भाषा)]]
* [[कोटलिन (प्रोग्रामिंग भाषा)]]
* [[कोटलिन (प्रोग्रामिंग भाषा)]]
* [[ OCaml ]]<ref>{{Cite web |title=COS 326: Functional Programming |url=https://www.cs.princeton.edu/~dpw/courses/cos326-12/notes/type-check.php |access-date=2022-07-06 |website=www.cs.princeton.edu}}</ref>
* [[ OCaml |ओसीएएमएल]]<ref>{{Cite web |title=COS 326: Functional Programming |url=https://www.cs.princeton.edu/~dpw/courses/cos326-12/notes/type-check.php |access-date=2022-07-06 |website=www.cs.princeton.edu}}</ref>
<!-- *[[PHP]]<ref>[https://www.php.net/manual/en/language.expressions.php PHP Manual "Expressions"]</ref> -- See talks. PHP manual saying something does not really mean that it is true =( -->
 





Revision as of 10:08, 19 May 2023

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

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

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

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

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

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

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

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

साइनमेंट को किसी अन्य कथन या अभिव्यक्ति के अंदर नेस्ट करने से रोक दिया।[6] (संस्करण 3.8 तक एक अलग सिंटैक्स के सा

उदाहरण


यह भी देखें

संदर्भ

  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. 6.0 6.1 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.