आइए सबसे पहले C# और C++ के बारे में जानें -
- C# एक सामान्य उद्देश्य वाली वस्तु-उन्मुख प्रोग्रामिंग भाषा है।
- इसे शुद्ध वस्तु-उन्मुख प्रोग्रामिंग भाषा माना जाता है।
- इसका उच्चारण 'सी शार्प' के रूप में किया जाता है।
- इसे एंडर्स हेजल्सबर्ग और माइक्रोसॉफ्ट में उनकी टीम द्वारा विकसित किया गया था।
- मेमोरी प्रबंधन स्वचालित रूप से कचरा संग्रहकर्ता द्वारा किया जाता है।
- एक बार इसका उद्देश्य पूरा हो जाने पर वस्तु को स्वचालित रूप से हटाना भाषा का कर्तव्य है।
- यह विंडोज़ विशिष्ट है, अर्थात इसका उपयोग सभी प्रणालियों पर नहीं किया जा सकता है।
- यह एकाधिक वंशानुक्रम का समर्थन नहीं करता है।
- C# में पॉइंटर्स का उपयोग केवल असुरक्षित मोड में किया जा सकता है।
- इसे उच्च स्तरीय भाषा माना जाता है।
- एक बार कोड संकलित हो जाने पर, यह एक मध्यवर्ती भाषा में परिवर्तित हो जाता है।
- इसका उपयोग कंसोल अनुप्रयोगों के साथ-साथ मोबाइल और विंडोज़ अनुप्रयोगों को विकसित करने के लिए किया जा सकता है।
- इसे समझना और इसके साथ काम करना आसान है, क्योंकि इसमें एक अच्छी तरह से परिभाषित वर्ग पदानुक्रम है।
- सरणी डेटा संरचना में बाउंड चेकिंग एक कंपाइलर द्वारा की जाती है।
- इसके कारण, जब कोई प्रोग्रामर किसी अमान्य सरणी अनुक्रमणिका तक पहुँचने का प्रयास करता है, तो इसके परिणामस्वरूप संकलन त्रुटि होती है।
C++
- C++ एक स्थिर रूप से टाइप की गई, बहु-प्रतिमान भाषा है।
- यह एक वस्तु-उन्मुख प्रोग्रामिंग भाषा भी है।
- लेकिन यह विशुद्ध रूप से वस्तु-उन्मुख प्रोग्रामिंग भाषा नहीं है क्योंकि इसमें कुछ आदिम डेटा प्रकार हैं।
- कोड संकलित होने के बाद, यह मशीन कोड में परिवर्तित हो जाता है, यानी सीधे निम्न स्तर की भाषा।
- शुरुआत में इसे क्लास के साथ C के नाम से जाना जाता था। बाद में, इसे C++ में बदल दिया गया।
- इसका उच्चारण 'सी प्लस प्लस' के रूप में किया जाता है।
- इसे एटी एंड टी बेल लेबोरेटरीज में बजेर्न स्ट्रॉस्ट्रुप द्वारा विकसित किया गया था।
- C++ में मेमोरी प्रबंधन प्रोग्रामर/डेवलपर द्वारा मैन्युअल रूप से किया जाता है। वे एक वस्तु बनाते हैं, और उसका उपयोग समाप्त होने के बाद उसका उपयोग करने और उसे नष्ट करने के लिए पूरी तरह से जिम्मेदार हैं।
- प्लेटफ़ॉर्म निर्भरता:C++ में कोड किसी भी प्लेटफ़ॉर्म पर चलाया जा सकता है।
- इसका उपयोग वहां किया जाता है जहां एप्लिकेशन को सीधे हार्डवेयर के साथ इंटरैक्ट करने की आवश्यकता होती है।
- मल्टीपल इनहेरिटेंस:C++ क्लासेस की मदद से मल्टीपल इनहेरिटेंस को सपोर्ट करता है। इसका मतलब यह है कि एक बार में कक्षा एक समय में एक से अधिक कक्षाओं तक विस्तारित हो सकती है।
- C++ पॉइंटर्स प्रोग्राम के भीतर कहीं भी इस्तेमाल किए जा सकते हैं।
- आमतौर पर इसका उपयोग कंसोल एप्लिकेशन विकसित करने के लिए किया जाता है।
- कंपाइलर द्वारा बाउंड चेकिंग नहीं की जाती है। जब कोई प्रोग्रामर अमान्य सरणी अनुक्रमणिका तक पहुंचने का प्रयास करता है, तो इसका परिणाम संकलन त्रुटि नहीं होगा, यह केवल गलत आउटपुट दिखाएगा।
आइए अब अंतर देखें -
C# | <वें शैली ="चौड़ाई:52.3809%; पाठ-संरेखण:केंद्र;">सी++वें>|
---|---|
C# एक सामान्य उद्देश्य वाली वस्तु-उन्मुख प्रोग्रामिंग भाषा है। | C++ एक सांख्यिकीय रूप से टाइप की गई, बहु-प्रतिमान भाषा है। |
इसे शुद्ध वस्तु-उन्मुख प्रोग्रामिंग भाषा माना जाता है। | लेकिन यह विशुद्ध रूप से वस्तु-उन्मुख प्रोग्रामिंग भाषा नहीं है क्योंकि इसमें कुछ आदिम डेटा प्रकार हैं। |
मेमोरी प्रबंधन स्वचालित रूप से कचरा संग्रहकर्ता द्वारा किया जाता है। | मेमोरी प्रबंधन कचरा संग्रहकर्ता द्वारा स्वचालित रूप से किया जाता है। |
यह एकाधिक वंशानुक्रम का समर्थन नहीं करता है। | C++ क्लास की मदद से मल्टीपल इनहेरिटेंस को सपोर्ट करता है। इसका अर्थ यह है कि एक बार कक्षा एक समय में एक से अधिक कक्षाओं तक विस्तारित हो सकती है। |
C# में पॉइंटर्स का उपयोग केवल असुरक्षित मोड में ही किया जा सकता है। | C++ पॉइंटर्स को प्रोग्राम के भीतर कहीं भी इस्तेमाल किया जा सकता है। |
इसका उपयोग कंसोल अनुप्रयोगों के साथ-साथ मोबाइल और विंडोज़ अनुप्रयोगों को विकसित करने के लिए किया जा सकता है। | यह आमतौर पर कंसोल अनुप्रयोगों को विकसित करने के लिए उपयोग किया जाता है। |
सरणी डेटा संरचना में बाउंड चेकिंग एक कंपाइलर द्वारा की जाती है। | कंपाइलर द्वारा बाउंड चेकिंग नहीं की जाती है। जब कोई प्रोग्रामर अमान्य सरणी अनुक्रमणिका तक पहुंचने का प्रयास करता है, तो इसका परिणाम संकलन त्रुटि नहीं होगा, यह केवल गलत आउटपुट दिखाएगा। |