c vs java top 30 differences between c
यह इन-डेप्थ ट्यूटोरियल दो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज C ++ बनाम जावा के बीच कुछ महत्वपूर्ण अंतरों को समझाता है:
C ++ और Java दोनों ही ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं। फिर भी, दोनों भाषाएँ कई मायनों में एक-दूसरे से भिन्न हैं।
C ++ C से लिया गया है और इसमें प्रक्रियात्मक और वस्तु-उन्मुख प्रोग्रामिंग भाषाओं की विशेषताएं हैं। C ++ को एप्लिकेशन और सिस्टम डेवलपमेंट के लिए डिज़ाइन किया गया था।
जावा एक वर्चुअल मशीन पर बनाया गया है जो बहुत ही सुरक्षित और प्रकृति में अत्यधिक पोर्टेबल है। यह मौजूदा प्लेटफ़ॉर्म के अमूर्तन के लिए समर्थन प्रदान करने के लिए एक व्यापक पुस्तकालय के साथ समूहीकृत है।
जावा मुख्य रूप से एप्लिकेशन प्रोग्रामिंग के लिए डिज़ाइन किया गया था और इसमें प्रिंटिंग सिस्टम के लिए एक दुभाषिया की कार्यक्षमता है जिसे बाद में नेटवर्क कंप्यूटिंग में विकसित किया गया था।
सुझाव पढ़ें => सभी के लिए सी ++ प्रशिक्षण गाइड
आप क्या सीखेंगे:
- सी ++ बनाम जावा के बीच महत्वपूर्ण अंतर
- टेबुलर प्रारूप: सी ++ बनाम जावा
- C ++ और Java में अक्सर पूछे जाने वाले प्रश्न
- निष्कर्ष
- अनुशंसित पाठ
सी ++ बनाम जावा के बीच महत्वपूर्ण अंतर
अब हम C ++ बनाम जावा के बीच कुछ प्रमुख अंतरों के बारे में चर्चा करते हैं, क्योंकि हम इसमें आगे बढ़ते हैं
ट्यूटोरियल।
# 1) प्लेटफार्म आजादी
सी ++ | जावा | ||
---|---|---|---|
। | लाइब्रेरी इंटरफ़ेस | देशी सिस्टम लाइब्रेरी में सीधे कॉल की अनुमति देता है। | केवल जावा नेटिव इंटरफ़ेस और जावा नेटिव एक्सेस के माध्यम से कॉल करता है। |
C ++ एक मंच पर निर्भर भाषा है। C ++ में लिखे गए सोर्स कोड को हर प्लेटफॉर्म पर संकलित किया जाना चाहिए। | जावा प्लेटफ़ॉर्म-स्वतंत्र है। एक बार बाइट कोड में संकलित करने के बाद, इसे किसी भी प्लेटफ़ॉर्म पर निष्पादित किया जा सकता है। |
# 2) संकलक और दुभाषिया
सी ++ | जावा |
---|---|
C ++ एक संकलित भाषा है। स्रोत कार्यक्रम लिखा है C ++ में एक ऑब्जेक्ट कोड संकलित किया जाता है जिसे तब आउटपुट का उत्पादन करने के लिए निष्पादित किया जा सकता है। | जावा एक संकलित भाषा के साथ-साथ एक संकलित भाषा भी है। जावा स्रोत कोड का संकलित आउटपुट एक बाइट कोड है जो प्लेटफ़ॉर्म-स्वतंत्र है। |
# 3) पोर्टेबिलिटी
सी ++ | जावा |
---|---|
C ++ कोड पोर्टेबल नहीं है। इसे प्रत्येक प्लेटफॉर्म के लिए संकलित किया जाना चाहिए। | जावा, हालांकि, कोड को बाइट कोड में अनुवाद करता है। यह बाइट कोड पोर्टेबल है और इसे किसी भी प्लेटफॉर्म पर चलाया जा सकता है। |
# 4) मेमोरी मैनेजमेंट
सी ++ | जावा |
---|---|
C ++ में मेमोरी मैनेजमेंट मैन्युअल है। हमें नए / हटाए गए ऑपरेटरों का उपयोग करके मैन्युअल रूप से मेमोरी को आवंटित / डिलीट करने की आवश्यकता है। | जावा में मेमोरी प्रबंधन सिस्टम-नियंत्रित है। |
# 5) एकाधिक वंशानुक्रम
सी ++ | जावा |
---|---|
C ++ सिंगल और मल्टीपल इनहेरिटेंस सहित विभिन्न प्रकार की विरासतों का समर्थन करता है। यद्यपि कई वंशानुक्रम से उत्पन्न समस्याएं हैं, C ++ समस्याओं को हल करने के लिए वर्चुअल कीवर्ड का उपयोग करता है। | जावा, केवल एकल वंशानुक्रम का समर्थन करता है। जावा में इंटरफेस का उपयोग करके कई विरासत के प्रभाव प्राप्त किए जा सकते हैं। |
# 6) ओवरलोडिंग
सी ++ | जावा |
---|---|
C ++ में, तरीकों और ऑपरेटरों को ओवरलोड किया जा सकता है। यह स्थैतिक बहुरूपता है। | जावा में, केवल विधि अधिभार की अनुमति है। यह ऑपरेटर को ओवरलोडिंग की अनुमति नहीं देता है। |
# 7) वर्चुअल कीवर्ड
सी ++ | जावा |
---|---|
गतिशील बहुरूपता के एक भाग के रूप में, C ++ में, वर्चुअल कीवर्ड का उपयोग फ़ंक्शन के साथ उस फ़ंक्शन को इंगित करने के लिए किया जाता है जिसे व्युत्पन्न वर्ग में ओवरराइड किया जा सकता है। इस तरह हम बहुरूपता को प्राप्त कर सकते हैं। | जावा में, वर्चुअल कीवर्ड अनुपस्थित है। हालांकि, जावा में, डिफ़ॉल्ट रूप से सभी गैर-स्थिर तरीकों को ओवरराइड किया जा सकता है। या सरल शब्दों में, जावा में सभी गैर-स्थिर तरीके डिफ़ॉल्ट रूप से आभासी हैं। |
# 8) संकेत
सी ++ | जावा |
---|---|
C ++ पॉइंटर्स के बारे में है। जैसा कि पहले ट्यूटोरियल में देखा गया था, C ++ में पॉइंटर्स के लिए मजबूत समर्थन है और हम पॉइंटर्स का उपयोग करके बहुत सारी उपयोगी प्रोग्रामिंग कर सकते हैं। | जावा में संकेत के लिए सीमित समर्थन है। प्रारंभ में, जावा पूरी तरह से पॉइंटर्स के बिना था लेकिन बाद के संस्करणों ने पॉइंटर्स के लिए सीमित समर्थन प्रदान करना शुरू कर दिया। हम जावा में पॉइंटर्स का उपयोग इत्मीनान से नहीं कर सकते क्योंकि हम C ++ में उपयोग कर सकते हैं। |
# 9) प्रलेखन टिप्पणी
सी ++ | जावा |
---|---|
C ++ में प्रलेखन टिप्पणियों के लिए कोई समर्थन नहीं है। | जावा में प्रलेखन टिप्पणियों (/ **… * /) के लिए एक अंतर्निहित समर्थन है। इस तरह जावा सोर्स फाइल्स का अपना डॉक्यूमेंटेशन हो सकता है। |
# 10) थ्रेड सपोर्ट
सी ++ | जावा |
---|---|
C ++ में निर्मित थ्रेड समर्थन नहीं है। यह ज्यादातर थर्ड-पार्टी थ्रेडिंग लाइब्रेरी पर निर्भर करता है। | जावा एक 'थ्रेड' के साथ इन-बिल्ट थ्रेड समर्थन है। हम थ्रेड क्लास को इनहेरिट कर सकते हैं और फिर रन विधि को ओवरराइड कर सकते हैं। |
कुछ और अंतर ...
# 11) रूट पदानुक्रम
C ++ प्रक्रियात्मक होने के साथ-साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज भी है। इसलिए यह किसी विशिष्ट मूल पदानुक्रम का पालन नहीं करता है।
जावा एक शुद्ध ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है और इसमें एकल रूट पदानुक्रम है।
# 12) स्रोत कोड और कक्षा संबंध
C ++ में, स्रोत कोड और फ़ाइल नाम दोनों का कोई संबंध नहीं है। इसका मतलब है कि हमारे पास C ++ प्रोग्राम में कई कक्षाएं हो सकती हैं और फ़ाइल नाम कुछ भी हो सकता है। यह वर्ग के नामों के समान नहीं है।
जावा में, स्रोत कोड वर्ग और फ़ाइल नाम के बीच घनिष्ठ संबंध है। स्रोत कोड और फ़ाइल नाम वाला वर्ग समान होना चाहिए।
उदाहरण के लिए , अगर हमारे पास वेतन नाम के जावा में एक वर्ग है, तो इस वर्ग कोड में जो फ़ाइल नाम है वह 'वेतन.जवा' होना चाहिए।
# 13) संकल्पना
C ++ प्रोग्राम के पीछे की अवधारणा एक बार लिखी जाती है और कहीं भी संकलित की जाती है क्योंकि C ++ प्लेटफ़ॉर्म-स्वतंत्र नहीं है।
इसके विपरीत, जावा कार्यक्रमों के लिए यह एक बार लिखा जाता है, हर जगह और कहीं भी चलाएं क्योंकि जावा संकलक द्वारा उत्पन्न बाइट कोड प्लेटफ़ॉर्म-स्वतंत्र है और किसी भी मशीन पर चल सकता है।
# 14) अन्य भाषाओं के साथ संगतता
C ++ C पर बनाया गया है। C ++ भाषा अन्य उच्च-स्तरीय भाषाओं के साथ संगत है।
जावा अन्य भाषाओं के साथ संगत नहीं है। जैसा कि जावा सी और सी ++ से प्रेरित था, इसका सिंटैक्स इन भाषाओं के समान है।
# पंद्रह) प्रोग्रामिंग भाषा का प्रकार
C ++ एक प्रक्रियात्मक और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। इसलिए, सी ++ में प्रक्रियात्मक भाषाओं के साथ-साथ ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा की विशेषताएं भी हैं।
जावा पूरी तरह से ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है।
# 16) लाइब्रेरी इंटरफ़ेस
C ++ देशी सिस्टम लाइब्रेरी में सीधे कॉल की अनुमति देता है। इसलिए यह सिस्टम-स्तरीय प्रोग्रामिंग के लिए अधिक अनुकूल है।
जावा का अपने मूल पुस्तकालयों के लिए कोई प्रत्यक्ष कॉल समर्थन नहीं है। हम जावा नेटिव इंटरफेस या जावा नेटिव एक्सेस के माध्यम से पुस्तकालयों को कॉल कर सकते हैं।
# 17) विशिष्ठ सुविधाओं
प्रक्रियात्मक भाषाओं और ऑब्जेक्ट-ओरिएंटेड भाषा से संबंधित विशेषताएं C ++ की विशिष्ट विशेषताएं हैं।
Android फोन पर जासूसी करने के लिए app
स्वचालित कचरा संग्रह जावा की विशिष्ट विशेषता है। इस बीच, जावा विध्वंसक का समर्थन नहीं करता है।
# 18) शब्दार्थ लिखें
जहाँ तक C ++ के लिए शब्दार्थ का संबंध है, आदिम और वस्तु प्रकार सुसंगत हैं।
लेकिन जावा के लिए, आदिम और वस्तु प्रकारों के बीच कोई निरंतरता नहीं है।
# 19) इनपुट तंत्र
C ++ uses >> और c के साथ-साथ सिने और कॉट का उपयोग करता है<<’ operators respectively to read in and write the data.
जावा में, इनपुट-आउटपुट के लिए सिस्टम क्लास का उपयोग किया जाता है। इनपुट को पढ़ने के लिए, System.in जो एक बार में एक बाइट का उपयोग करता है। निर्माण System.out का उपयोग आउटपुट लिखने के लिए किया जाता है।
# अतिरिक्त) अभिगम नियंत्रण और वस्तु संरक्षण
C ++ में एक्सेस स्पेसिफिकर्स के साथ एक लचीला मॉडल है, जो एक्सेस को नियंत्रित करता है और सुरक्षा सुनिश्चित करते हुए मजबूत एनकैप्सुलेशन करता है।
जावा में कमजोर एनकैप्सुलेशन के साथ तुलनात्मक रूप से बोझिल वस्तु मॉडल है।
#इक्कीस) गोटो बयान
C ++ गोटो स्टेटमेंट का समर्थन करता है, लेकिन किसी प्रोग्राम में इसके उपयोग के परिणामों को रोकने के लिए इसका उपयोग कम से कम किया जाना चाहिए।
जावा गोटो स्टेटमेंट के लिए समर्थन प्रदान नहीं करता है।
# 22) स्कोप रिज़ॉल्यूशन ऑपरेटर
स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग वैश्विक चर को एक्सेस करने और क्लास के बाहर तरीकों को परिभाषित करने के लिए किया जाता है।
C ++ स्कोप रिज़ॉल्यूशन ऑपरेटर का समर्थन करता है क्योंकि यह वैश्विक वैरिएबल तक पहुंचने के लिए इसका उपयोग करता है। यह हमें वर्ग के बाहर के कार्यों को परिभाषित करने और गुंजाइश रिज़ॉल्यूशन ऑपरेटर का उपयोग करके उन्हें एक्सेस करने की भी अनुमति देता है।
इसके विपरीत, जावा स्कोप रिज़ॉल्यूशन ऑपरेटर का समर्थन नहीं करता है। जावा बाहर के कार्यों को परिभाषित करने की अनुमति नहीं देता है। मुख्य समारोह सहित कार्यक्रम से संबंधित सब कुछ एक वर्ग के अंदर होना चाहिए।
# २। ३) कोशिश / पकड़ो ब्लॉक
C ++ में, हम कोशिश / कैच ब्लॉक को बाहर कर सकते हैं, भले ही हमें पता हो कि कोड एक अपवाद फेंक सकता है।
हालांकि, जावा में, अगर हमें यकीन है कि कोड एक अपवाद फेंक देगा, तो हमें इस कोड को कोशिश / कैच ब्लॉक के तहत शामिल करना होगा। जावा में अपवाद भिन्न हैं क्योंकि यह विनाशकों का समर्थन नहीं करता है।
# 24) रनटाइम त्रुटि का पता लगाने
C ++ में रनटाइम एरर डिटेक्शन प्रोग्रामर की जिम्मेदारी है।
जावा में, रनटाइम एरर डिटेक्शन सिस्टम द्वारा नियंत्रित किया जाता है।
# 25) भाषा समर्थन
हार्डवेयर की निकटता के कारण, और सिस्टम संसाधनों तक पहुँचने की अनुमति देने वाले पुस्तकालयों, C ++ सिस्टम प्रोग्रामिंग के लिए अधिक उपयुक्त है, हालांकि हमारे पास C ++ में विकसित डेटाबेस, एंटरप्राइज़, गेमिंग आदि सहित अनुप्रयोगों की एक विस्तृत श्रृंखला है।
# 26) डेटा और कार्य
C ++ में वैश्विक स्कोप के साथ-साथ नेमस्पेस स्कोप भी है। इस प्रकार डेटा और फ़ंक्शन कक्षा के बाहर भी मौजूद हो सकते हैं।
जावा में, सभी डेटा और फ़ंक्शन को कक्षा में होना चाहिए। कोई वैश्विक गुंजाइश नहीं है, हालांकि, पैकेज गुंजाइश हो सकती है।
# 27) संरचनाएं और यूनियनें
स्ट्रक्चर्स और यूनियन्स ऐसी डेटा स्ट्रक्चर्स हैं जिनमें विभिन्न डेटा प्रकारों वाले सदस्य हो सकते हैं। C ++ संरचनाओं और यूनियनों दोनों का समर्थन करता है।
जावा, हालांकि, संरचनाओं या यूनियनों का समर्थन नहीं करता है।
# 28) वस्तु प्रबंधन
C ++ में ऑब्जेक्ट्स को मैन्युअली मैनेज किया जाता है। वस्तुओं का निर्माण और विनाश क्रमशः नए और हटाए गए ऑपरेटरों का उपयोग करके मैन्युअल रूप से किया जाता है। हम क्लास ऑब्जेक्ट के लिए कंस्ट्रक्टर और डिस्ट्रक्टर्स का भी उपयोग करते हैं।
जावा विध्वंसक का समर्थन नहीं करता है हालांकि यह निर्माणकर्ताओं का समर्थन करता है। जावा वस्तुओं को इकट्ठा करने और नष्ट करने के लिए स्वचालित कचरा संग्रह पर भी बहुत अधिक निर्भर है।
# 29) पैरामीटर पासिंग
वैल्यू बाय पास और रेफरेंस बाई पास प्रोग्रामिंग में इस्तेमाल होने वाले दो महत्वपूर्ण पैरामीटर पासिंग तकनीक हैं। C ++ इन दोनों तकनीकों का समर्थन करता है।
हालाँकि, जावा केवल पैरामीटर पासिंग की वैल्यू तकनीक से गुजरने का समर्थन करता है।
# ३0) हार्डवेयर
C ++ हार्डवेयर के करीब है और इसमें कई पुस्तकालय हैं जो हार्डवेयर संसाधनों में हेरफेर कर सकते हैं। हार्डवेयर की निकटता के कारण, C ++ का उपयोग अक्सर सिस्टम प्रोग्रामिंग, गेमिंग एप्लिकेशन, ऑपरेटिंग सिस्टम और कंपाइलर के लिए किया जाता है।
जावा ज्यादातर एप्लिकेशन डेवलपमेंट लैंग्वेज है और हार्डवेयर के करीब नहीं है।
टेबुलर प्रारूप: सी ++ बनाम जावा
नीचे दिए गए C ++ और Java के बीच तुलना का सारणीबद्ध निरूपण है जिस पर हम पहले ही चर्चा कर चुके हैं।
ऐसा न करें। | तुलना पैरामीटर | सी ++ | जावा |
---|---|---|---|
1 | मंच की स्वतंत्रता | C ++ प्लेटफॉर्म पर निर्भर है। | जावा प्लेटफ़ॉर्म-स्वतंत्र है। |
दो | संकलक और दुभाषिया | C ++ एक संकलित भाषा है। | जावा एक संकलित भाषा के साथ-साथ एक संकलित भाषा भी है। |
३ | स्रोत कोड और कक्षा संबंध | वर्ग के नाम और फ़ाइल नाम के साथ कोई सख्त संबंध नहीं है। | वर्ग के नाम और फ़ाइल नाम के बीच सख्त संबंध को लागू करता है। |
४ | संकल्पना | एक बार कहीं भी संकलित लिखें। | एक बार कहीं भी और हर जगह लिखें। |
५ | अन्य भाषाओं के साथ संगतता | ऑब्जेक्ट-ओरिएंटेड सुविधाओं को छोड़कर C के साथ संगत। | सिंटैक्स C / C ++ से लिया जाता है। किसी भी अन्य भाषा के साथ कोई पिछड़ी संगतता नहीं। |
६ | प्रोग्रामिंग लैंग्वेज का प्रकार | प्रक्रियात्मक और वस्तु-उन्मुख। | वस्तु के उन्मुख। |
। | रूट पदानुक्रम | कोई रूट पदानुक्रम नहीं। | एकल रूट पदानुक्रम का अनुसरण करता है। |
९ | विशिष्ठ सुविधाओं | प्रक्रियात्मक के साथ-साथ वस्तु-उन्मुख सुविधाओं का समर्थन करता है। | कोई विध्वंसक नहीं। स्वचालित कचरा संग्रह। |
१० | पोर्टेबिलिटी | C ++ कोड पोर्टेबल नहीं है। | जावा पोर्टेबल है। |
ग्यारह | शब्दार्थ लिखें | आदिम और वस्तु प्रकारों के बीच सुसंगत। | संगत नहीं। |
१२ | इनपुट तंत्र | Cin और Cout का उपयोग I / O के लिए किया जाता है। | System.in और System.out.println |
१३ | अभिगम नियंत्रण और वस्तु संरक्षण | एक लचीली वस्तु मॉडल और निरंतर सुरक्षा। | ऑब्जेक्ट मॉडल बोझिल है और एनकैप्सुलेशन कमजोर है। |
१४ | स्मृति प्रबंधन | पुस्तिका | सिस्टम-नियंत्रित। |
पंद्रह | एकाधिक वंशानुक्रम | वर्तमान | अनुपस्थित |
१६ | गोटो बयान | गोटो के बयान का समर्थन करता है। | गोटो बयान का समर्थन नहीं करता है। |
१। | स्कोप रिज़ॉल्यूशन ऑपरेटर | वर्तमान | अनुपस्थित |
१। | कोशिश / पकड़ो ब्लॉक | ब्लॉक को रोकने / पकड़ने का प्रयास कर सकते हैं। | यदि कोड को अपवाद फेंकना चाहिए तो उसे बाहर नहीं किया जा सकता। |
१ ९ | अधिक भार | ओवरलोडिंग के लिए ऑपरेटर और विधि का समर्थन करता है। | ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है। |
बीस | आभासी खोजशब्द | वर्चुअल कीवर्ड का समर्थन करता है जो ओवरराइडिंग की सुविधा देता है। | कोई भी वर्चुअल कीवर्ड, सभी गैर-स्थिर तरीके डिफ़ॉल्ट वर्चुअल नहीं होते हैं और इसे ओवरराइड किया जा सकता है। |
इक्कीस | रनटाइम त्रुटि का पता लगाने | प्रोग्रामर के लिए छोड़ दिया। | सिस्टम की जिम्मेदारी |
२२ | भाषा समर्थन | सिस्टम प्रोग्रामिंग के लिए मुख्य रूप से उपयोग किया जाता है। | मुख्य रूप से अनुप्रयोग प्रोग्रामिंग के लिए उपयोग किया जाता है। |
२। ३ | डेटा और कार्य | डेटा और फ़ंक्शन कक्षा के बाहर मौजूद हैं। वैश्विक और नेमस्पेस स्कोप समर्थित हैं। | डेटा और फ़ंक्शंस केवल कक्षा के अंदर मौजूद होते हैं, पैकेज गुंजाइश उपलब्ध है। |
२४ | संकेत | संकेत का समर्थन करता है। | केवल संकेत के लिए सीमित समर्थन। |
२५ | संरचनाएं और यूनियनें | समर्थित | समर्थित नहीं |
२६ | वस्तु प्रबंधन | नए और हटाने के साथ मैनुअल ऑब्जेक्ट प्रबंधन। | कचरा संग्रहण का उपयोग कर स्वचालित वस्तु प्रबंधन। |
२। | पैरामीटर पासिंग | मान द्वारा कॉल का समर्थन करता है और संदर्भ से कॉल करता है। | केवल मूल्य से कॉल का समर्थन करता है। |
२। | थ्रेड सपोर्ट | थ्रेड समर्थन बहुत मजबूत नहीं है, यह तीसरे पक्ष पर निर्भर करता है। | बहुत मजबूत धागा समर्थन। |
२ ९ | हार्डवेयर | हार्डवेयर के पास। | हार्डवेयर के साथ बहुत इंटरैक्टिव नहीं है। |
३० | प्रलेखन टिप्पणी | प्रलेखन टिप्पणी का समर्थन नहीं करता है। | प्रलेखन टिप्पणी (/ **… * /) का समर्थन करता है जो जावा स्रोत कोड के लिए प्रलेखन बनाता है। |
अब तक हमने सी ++ और जावा के बीच प्रमुख अंतर को विस्तार से देखा है। आगामी खंड प्रोग्रामिंग दुनिया में C ++ और Java से संबंधित अक्सर पूछे जाने वाले प्रश्नों के उत्तर देगा।
C ++ और Java में अक्सर पूछे जाने वाले प्रश्न
Q # 1) कौन सा बेहतर है C ++ या जावा?
उत्तर: ठीक है, हम निश्चित रूप से नहीं कह सकते कि कौन बेहतर है। C ++ और Java दोनों की अपनी खूबियाँ और अवगुण हैं। जबकि C ++ सिस्टम प्रोग्रामिंग के लिए ज्यादातर अच्छा है, हम इसे जावा के साथ नहीं कर सकते। लेकिन जावा वेब, डेस्कटॉप, आदि जैसे अनुप्रयोगों में उत्कृष्टता प्राप्त करता है।
वास्तव में, C ++ सिस्टम प्रोग्रामिंग से एंटरप्राइज से गेमिंग तक कुछ भी कर सकता है। जावा वेब या एंटरप्राइज का अधिक काम कर सकता है। कुछ एप्लिकेशन जैसे कुछ निम्न-स्तरीय प्रोग्रामिंग एप्लिकेशन या गेमिंग आदि हैं जिन्हें जावा के विकास के लिए नहीं छोड़ा जा सकता है।
इस प्रकार यह पूरी तरह से इस बात पर निर्भर करता है कि हम किस एप्लिकेशन को विकसित कर रहे हैं। सबसे अच्छा तरीका है कि पहले दोनों भाषाओं के पेशेवरों और विपक्षों का मूल्यांकन किया जाए और जो आवेदन हम विकसित कर रहे हैं उसके लिए उनकी विशिष्टता को सत्यापित करें और फिर निष्कर्ष निकालें कि कौन सा सबसे अच्छा है।
Q # 2) C ++ जावा से अधिक शक्तिशाली है?
उत्तर: फिर से यह एक मुश्किल सवाल है! जब यह आता है कि वाक्यविन्यास या भाषा सीखना कितना आसान है, जावा स्कोर। जब सिस्टम प्रोग्रामिंग और / या अन्य निम्न-स्तरीय अनुप्रयोगों की बात आती है, तो C ++ अधिक शक्तिशाली है।
कुछ लोग यह तर्क दे सकते हैं कि स्वचालित GC संग्रह होने से, कोई संकेत नहीं, कोई एकाधिक वंशानुक्रम जावा को अधिक शक्तिशाली नहीं बनाते हैं।
लेकिन जब गति की बात आती है, तो C ++ शक्तिशाली है। गेमिंग जैसे अनुप्रयोगों में जहां हमें राज्य को संग्रहीत करने की आवश्यकता होती है, स्वचालित कचरा संग्रह कार्यों को बर्बाद कर सकता है। इस प्रकार C ++ यहाँ स्पष्ट रूप से शक्तिशाली है।
Q # 3) क्या हम C या C ++ को जाने बिना जावा सीख सकते हैं?
उत्तर: हाँ निश्चित रूप से!
एक बार जब हम प्रोग्रामिंग और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग अवधारणाओं के मूल सिद्धांतों को जानते हैं, तो हम जावा सीखना शुरू कर सकते हैं।
Q # 4) क्या C ++ जावा जैसा है?
उत्तर: कुछ मायनों में, हाँ, लेकिन कुछ मायनों में, नहीं।
उदाहरण के लिए, C ++ और Java दोनों ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं। उनका उपयोग अनुप्रयोग विकास के लिए किया जा सकता है। उनके पास समान सिंटैक्स है।
लेकिन अन्य मामलों में जैसे कि स्मृति प्रबंधन, वंशानुक्रम, बहुरूपता, आदि, C ++ और Java पूरी तरह से अलग हैं। इसी तरह, जब आदिम डेटा प्रकारों, ऑब्जेक्ट हैंडलिंग, पॉइंटर्स आदि की बात आती है, तो दोनों भाषाएँ अलग-अलग होती हैं।
Q # 5) क्या जावा C ++ में लिखा गया है?
उत्तर: जावा अर्थ में जावा वर्चुअल मशीन (JVM) सन और आईबीएम द्वारा C ++ में लिखी गई है। जावा में जावा पुस्तकालय हैं। कुछ अन्य JVM को C में लिखा गया है।
निष्कर्ष
C ++ और Java दोनों ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं। इसके अलावा, C ++ एक प्रक्रियात्मक भाषा भी है। विरासत, बहुरूपता, संकेत, स्मृति प्रबंधन आदि जैसी कुछ विशेषताएं हैं, जिसमें दोनों भाषाएं एक दूसरे के साथ पूरी तरह से भिन्न होती हैं।
C ++ की कुछ विशेषताएं हैं जैसे हार्डवेयर की निकटता, बेहतर वस्तु प्रबंधन, गति, प्रदर्शन आदि, जो इसे जावा की तुलना में अधिक शक्तिशाली बनाता है और इस प्रकार डेवलपर्स को निम्न स्तर की प्रोग्रामिंग, हाई-स्पीड गेमिंग एप्लिकेशन, सिस्टम प्रोग्रामिंग के लिए C ++ का उपयोग करने के लिए प्रेरित करता है। , आदि।
इसी तरह, जावा का आसान सिंटैक्स, स्वचालित कचरा संग्रह, पॉइंटर्स की कमी, टेम्पलेट, आदि जावा को वेब-आधारित अनुप्रयोगों के लिए पसंदीदा बनाते हैं।
=> संपूर्ण C ++ ट्यूटोरियल सूची के लिए यहां जाएं ।
अनुशंसित पाठ
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल
- OOP जावा: जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का परिचय
- जावा में एक्सेस संशोधक - उदाहरण के साथ ट्यूटोरियल
- जावा परिनियोजन: जावा जार फ़ाइल का निर्माण और निष्पादन
- जावा प्रोग्रामिंग भाषा का परिचय - वीडियो ट्यूटोरियल
- जावा वर्चुअल मशीन: जावा एप्लीकेशन चलाने में JVM कैसे मदद करता है
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल