तुलना चार्ट
तुलना के लिए आधार | सी# | सी ++ |
---|---|---|
में संकलित | CLR | मशीन कोड |
मेमोरी का प्रबंधन किया जाता है | खुद ब खुद | मैन्युअल |
पॉइंटर्स का उपयोग | अनुमति नहीं हैं | की अनुमति |
पर काम किया | विंडोज प्लेटफॉर्म ज्यादातर | कोई भी मंच |
अनुप्रयोगों | कंसोल, विंडोज, ASP.NET और मोबाइल एप्लिकेशन। | स्टैंडअलोन कंसोल एप्लीकेशन। |
कोडिंग | विंडोज़ ओएस के लिए उद्देश्य से। | किसी भी मंच के लिए किया जाता है। |
गति | और धीमा | तेज़ यह हल्की भाषा है। |
C # की परिभाषा
प्रोग्रामिंग लैंग्वेज C # एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है जो सीधे अपने पूर्ववर्ती C ++ और C. से संबंधित है। इसे 2000 के वर्ष में एंडर्स हेजलबर्ग द्वारा विकसित किया गया था। C # बनाने का मुख्य उद्देश्य जावा की सीमाओं को दूर करना है, हालांकि यह सी के माध्यम से विकसित हुआ है। क्योंकि जावा में क्रॉस-लैंग्वेज इंटरऑपरेबिलिटी नहीं थी, दूसरे शब्दों में, जावा एक प्रोग्रामिंग लैंग्वेज में लिखे प्रोग्राम को अन्य प्रोग्रामिंग लैंग्वेज में उत्पन्न प्रोग्राम के साथ चलाने में सक्षम नहीं हो सकता था। दूसरे, जावा विंडोज़ प्लेटफॉर्म के साथ पूर्ण एकीकरण प्रदान नहीं करता है।
जावा हमेशा C # के लिए एक प्रतिकूल भाषा रही है। C # .NET प्लेटफ़ॉर्म की मानक भाषा है जो कार्यक्रमों को पोर्टेबल बनाने के लिए CLI (सामान्य भाषा इंटरफ़ेस) वातावरण का उपयोग करती है।
C # में स्वचालित कचरा संग्रह, प्रकार की सुरक्षा, संस्करण समर्थन, प्रतिनिधियों और घटनाओं, वेब सेवाओं, बॉक्सिंग और अनबॉक्सिंग और डेटा सदस्यों की पहुंच जैसी विशेषताएं शामिल हैं।
C # के लक्षण
- सरलता : सी # ऑपरेटरों के उपयोग के संदर्भ में सरल है, और यह बूलियन और पूर्णांक डेटा प्रकार को पूरी तरह से अलग करता है।
- संगतता : C # सामान्य भाषा विनिर्देशों को लागू करके .NET प्लेटफ़ॉर्म भाषाओं के भीतर व्यवधान प्रदान करता है।
- संगति : पूर्णांक प्रकारों की परिवर्तनशील श्रेणियों के मुद्दे को हटाने के लिए एक एकीकृत प्रकार प्रणाली C # द्वारा समर्थित है। यह सभी प्रकार की वस्तुओं को मानता है।
- ऑब्जेक्ट-ओरिएंटेड : यह पूरी तरह से ऑब्जेक्ट-ओरिएंटेड है जहां वैश्विक कार्यों, चर और स्थिरांक के बजाय सब कुछ एक वस्तु है।
- प्रकार-सुरक्षा : इसमें कई प्रकार के सुरक्षित उपाय शामिल हैं जैसे कि गतिशील रूप से आवंटित वस्तुओं और सरणियों को शून्य से आरंभ किया जाता है, अनइंस्टॉल किए गए चर का उपयोग करने की अनुमति नहीं है, सरणियों के लिए स्वचालित रेंज की जांच, असुरक्षित कैफे की अनुमति नहीं है, अधिक समय की जांच, वगैरह।
- संस्करण क्षमता : पहले से मौजूद अनुप्रयोगों के साथ संगत होने के लिए सॉफ्टवेयर मॉड्यूल के नए संस्करण को सक्षम करें।
- लचीलापन : हालाँकि, पॉइंटर्स C # द्वारा समर्थित नहीं हैं, लेकिन इसके बावजूद, असुरक्षित क्लासेस और विधियों का उपयोग किया जा सकता है।
- अंतर-संचालन : C # COM ऑब्जेक्ट का उपयोग करता है और किसी भी देशी एपीआई को कॉल करने के लिए एक कार्यक्रम बनाता है।
सी ++ की परिभाषा
C ++ प्रोग्रामिंग भाषा 1980 के दशक में Bjarne Stroustrup द्वारा AT & T Bell Laboratories में उभरी थी। इस संस्करण को शुरू में "सी के साथ सी" कक्षाओं के रूप में जाना जाता था क्योंकि सी ++ ऑब्जेक्ट-ओरिएंटेड भाषा है, लेकिन कुछ पारंपरिक आदिम प्रकारों का भी समर्थन करता है। C ++ C भाषा से लिया गया था और "समस्या के करीब" गुणों के साथ-साथ "मशीन के करीब" गुण भी रखता है जो C भाषा के साथ बनाए रखा जाता है।
C ++ का सिंटैक्स C भाषा से मिलता जुलता है लेकिन C # की तुलना में पूरी तरह से अलग है। यह लचीला है और रनटाइम दक्षता और सुसंगत शब्दार्थ पर केंद्रित है।
C ++ की कई विशेषताएं हैं, जिन्हें C # में छोड़ दिया गया है, उदाहरण के लिए, मैक्रोज़, एकाधिक विरासत, पॉइंटर्स, टेम्प्लेड स्टेटमेंट, ग्लोबल वैरिएबल, निरंतर सदस्य फ़ंक्शंस या पैरामीटर, डिफ़ॉल्ट तर्क, कक्षाओं की अग्रेषित घोषणा।
C ++ की विशेषताएँ
- पोर्टेबिलिटी : जब हम C ++ पोर्टेबिलिटी की C # से तुलना करते हैं, तो कोड को देशी OS चलाने वाली मशीन पर चलाया जा सकता है, लेकिन C # में ऐसा नहीं है।
- प्लेटफ़ॉर्म निर्भरता : सी ++ प्लेटफ़ॉर्म डिपेंडेंट लैंग्वेज है, जहाँ ओएस में लिखे गए प्रोग्राम को अलग-अलग ओएस में निष्पादित नहीं किया जा सकता।
- केस सेंसिटिव : अपरकेस और लोअरकेस कैरेक्टर्स को अलग तरीके से संभाला जाता है।
- कंपाइलर-आधारित : C ++ को संकलित भाषा कहा जाता है क्योंकि यह किसी भी कोड को बिना संकलन के निष्पादित नहीं करता है।
- सिंटेक्स-आधारित : प्रोग्रामिंग भाषा के नियमों का सख्ती से पालन किया जाता है।
- पॉइंटर्स : सी # के विपरीत सी + + पॉइंटर्स के उपयोग की अनुमति देते हैं।
C # और C ++ के बीच मुख्य अंतर
- C # कोड को पहले CLR (सामान्य भाषा रनटाइम) के लिए संकलित किया जाता है जिसे तब .NET फ्रेमवर्क द्वारा व्याख्या किया जाता है। इसके विपरीत, C ++ कोड को सीधे मशीन कोड में संकलित करता है।
- जैसा कि C # वर्चुअल मशीन पर निष्पादित होता है जो स्वचालित रूप से मेमोरी प्रबंधन से संबंधित है। इसके विपरीत, C ++ मेमोरी को मैन्युअल रूप से व्यवस्थित करता है।
- C ++ पॉइंटर के उपयोग की अनुमति देता है जबकि C # में पॉइंटर्स का उपयोग करने की संभावना कम होती है, इसके बजाय असुरक्षित कक्षाओं का अभ्यास किया जाता है।
- विंडो वातावरण में C # का प्रमुखता से उपयोग किया जाता है। जैसा कि, C ++ को यूनिक्स आधारित प्रणाली के लिए डिज़ाइन किया गया था, लेकिन अब इसे किसी भी प्लेटफ़ॉर्म के साथ उपयोग किया जा सकता है।
- C # के अनुप्रयोग में वेब-आधारित, डेस्कटॉप और मोबाइल एप्लिकेशन शामिल हैं। इसके विपरीत, C ++ का संपूर्ण एकमात्र उद्देश्य स्टैंड-अलोन कंसोल एप्लिकेशन बनाना है।
- C ++ कोड तेज है क्योंकि यह भारी पुस्तकालयों का उपयोग नहीं करता है। दूसरी ओर, C # धीमा है क्योंकि यह ओवरहेड्स का उत्पादन करता है और जावा जैसे भारी पुस्तकालयों का उपयोग करता है।
निष्कर्ष
C ++ का उपयोग मुख्य रूप से किया जाता है जब प्रदर्शन प्रोग्रामर की मुख्य चिंता होती है, जबकि C # में भी शुरुआती लोग आसानी से किसी भी वेब-आधारित, मोबाइल और डेस्कटॉप एप्लिकेशन को विकसित कर सकते हैं। ओएस को नुकसान पहुंचाने के मामले में सी # सीखना आसान है और एक संरक्षित भाषा है, दूसरी तरफ, सी ++ अधिक खुला है और प्रोग्रामर को प्रदान किए गए सिंटैक्स के साथ कुछ भी करने की अनुमति देता है।