क्या आप भाषा में वाक्य रचना, व्याकरण और शब्दार्थ के बीच अंतर जानते हैं?


जवाब 1:

मुझे लगता है कि यह ध्यान रखना महत्वपूर्ण है कि भाषाविदों और कंप्यूटर वैज्ञानिकों द्वारा "वाक्यविन्यास" और "व्याकरण" शब्दों के बीच अंतर होता है।

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

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

भाषा विज्ञान और कंप्यूटर विज्ञान दोनों में, शब्द "शब्दार्थ" शब्द नियमों के एक सेट को संदर्भित करता है जो बताता है कि प्रतीकों के अनुक्रम की व्याख्या कैसे की जानी चाहिए।


जवाब 2:

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

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

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

**********

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

यह कहना नहीं है कि आपके लक्ष्य को पूरा करने का एक सही और गलत तरीका है। एक बिल्ली की त्वचा के लिए हमेशा 100 तरीके होते हैं, लेकिन केवल कुछ मुट्ठी भर होते हैं जो एक स्वीकार्य बिग ओ संकेतन होते हैं, और आमतौर पर केवल उन लोगों के एक जोड़े को जो कि सुरुचिपूर्ण माना जा सकता है।

शब्दार्थ: किसी कथन का आशय बनाम किसी कथन का वास्तविक कार्य। बोली जाने वाली भाषा और प्रोग्रामिंग दोनों में शब्दार्थ अविश्वसनीय रूप से महत्वपूर्ण हैं। अंतर: एक व्यक्ति एक बयान को गलत कर सकता है, भले ही आपके शब्दार्थ मौके पर हों। कंप्यूटर वही लिखेंगे जो आप लिखते हैं, या यदि यह पूरी तरह से बंद है, तो नहीं चलेगा, और यही वह जगह है जहाँ से तर्क बग आते हैं।