सी ++ बनाम जावा के बीच मतभेद
सी ++ और जावा दोनों विषय उन्मुख प्रोग्रामिंग भाषाएं हैं, फिर भी, दोनों सी ++ और जावा भाषाएं एक-दूसरे से अलग-अलग तरीके से भिन्न होती हैं। प्रारंभ करने के लिए, सी ++ बनाम जावा के पास विभिन्न डिज़ाइन लक्ष्य हैं। सी ++ को आवेदन और सिस्टम विकास के लिए लागू किया गया था और सी भाषा का विस्तार है। प्रक्रियात्मक भाषा की विशेषताओं के साथ, सी ++ में विषय उन्मुख प्रोग्रामिंग सुविधाओं , अपवाद सेवा, जेनेरिक प्रोग्रामिंग इत्यादि के लिए एक अतिरिक्त समर्थन है । सी ++ में कई सामान्य पात्र और एल्गोरिदम के साथ एक मानक लाइब्रेरी भी है।
जावा को पहले प्रिंटिंग सिस्टम के लिए एक दुभाषिया की कार्यक्षमता के साथ विकसित किया गया था जो बाद में नेटवर्क कंप्यूटिंग का समर्थन करता था। यह वास्तविक यंत्र पर बनाया गया है जो प्रकृति में अत्यधिक सुरक्षित और पोर्टेबल है। यह मौजूदा मंच के अमूर्तकरण के लिए समर्थन प्रदान करने के लिए लागू एक व्यापक पुस्तकालय के साथ समूहीकृत है। सी ++ की तरह, जावा भी सांख्यिकीय रूप से टाइप की गई विषय -उन्मुख प्रोग्रामिंग भाषा है जो एक असंगत वाक्यविन्यास के समान है। जावा विकसित करने का मुख्य उद्देश्य एक उपयोग में आसान और व्यापक रूप से उपलब्ध प्रोग्रामिंग भाषा विकसित करना था। जावा में एक व्यापक दस्तावेज भी है जिसे जवाडोक के नाम से जाना जाता है।
सी ++ संकेत का उपयोग करता है जबकि जावा संकेत को शामिल नहीं करता है। जावा ‘प्रतिबंधित संकेत’ की अवधारणा का उपयोग करता है। एक सी ++ प्रोग्राम चलाया जाता है और संकलन इसके लेखक का उपयोग करके किया जाता है। सी ++ में लेखक स्रोत कोड को यंत्र स्तर भाषा में परिवर्तित करता है जो सी ++ को प्लेटफार्म-निर्भर भाषा बनाता है। जावा में, जावा स्रोत कोड को पहले संकलन के समय बाइटकोड में परिवर्तित किया जाता है। इस बाइटकोड को तब दुभाषिया और क्रम द्वारा किया काम का उत्पादन करने के लिए व्याख्या किया जाता है जो जावा को एक मंच स्वतंत्र भाषा बनाता है।
सी ++ धागे के लिए अंतर्निहित समर्थन प्रदान नहीं करता है जबकि जावा समर्थन धागे निहित रूप से। हालांकि सी ++ 11 के नवीनतम कार्यान्वयन में, इसमें धागे के लिए भी समर्थन है। जावा सी ++ की तरह है लेकिन संरचनाओं, प्रचालक अधिभार, संकेत, टेम्पलेट्स, यूनियन इत्यादि जैसी जटिल अवधारणाओं को शामिल नहीं करता है। इसके अलावा, जावा को सशर्त संकलन (# ifdef / # इफदेफ प्रकार) के लिए समर्थन नहीं है।
मौलिक प्रकार को छोड़कर प्रत्येक इकाई जावा में एक वस्तु है। जावा में एक ही रूट पदानुक्रम है क्योंकि सबकुछ जावा. लाँग. विषय से उभरा है।
सी ++ बनाम जावा (इन्फोग्राफिक्स) के बीच हेड टू हेड तुलना में
सी ++ बनाम जावा के बीच शीर्ष 8 तुलना नीचे है
सी ++ बनाम जावा के बीच महत्वपूर्ण अंतर
कुछ बिंदु नीचे बताए गए हैं जो सी ++ और जावा के बीच मतभेद दिखाते हैं
- सी ++ केवल लेखक का उपयोग करता है, जबकि जावा में, लेखक और दुभाषिया दोनों का उपयोग किया जाता है।
- सी ++ प्रचालक अधिकलोडिंग और एकाधिक विरासत का समर्थन करता है लेकिन जावा नहीं करता है।
- सी ++ जावा के विपरीत हार्डवेयर से अधिक संबंधित है।
- सी ++ इंटरनेट के लिए अंतर्निहित समर्थन प्रदान नहीं करता है जबकि जावा के लिए अंतर्निहित समर्थन है।हालांकि, सी ++ सॉकेट प्रोग्रामिंग का समर्थन करता है जिसका उपयोग इसे प्राप्त करने के लिए किया जा सकता है।
- कार्यक्रम में विभिन्न पुस्तकालयों को शामिल करने के लिए सी ++ प्रवेशिका फ़ाइलों की अवधारणा का उपयोग करता है। जावा कार्यक्रम में विभिन्न वर्गों और इसके तरीकों को शामिल करने के लिए आयात कार्यक्षमता का उपयोग करता है।
- सी ++ चूक तर्कों के लिए समर्थन प्रदान करता है जबकि जावा नहीं करता है।
- सी ++ में स्कोप रेज़ोल्यूशन प्रचालक (::) की अवधारणा है जिसका उपयोग क्लास के बाहर एक विधि को परिभाषित करने के लिए किया जाता है, जबकि जावा एकल डॉट (।) का उपयोग करता है जिसका उपयोग उन नामस्थानों के साथ कक्षाओं को अर्हता प्राप्त करने के लिए किया जा सकता है।
- जावा सी ++ जैसे जाने-जाने वाले कथन का उपयोग नहीं करता है।
- जावा में विनाशक नहीं हैं, इसलिए, अपवाद संचालन तंत्र और कचरा संग्रह सी ++ से अलग हैं।
- जावा विधि अधिकलोडिंग का समर्थन करता है जबकि सी ++ विधि अधिकलोडिंग के साथ ही प्रचालक अधिकलोडिंग का समर्थन करता है।
- जावा पास-दर-मूल्य की अवधारणा है।
- जावा में हस्ताक्षर किए गए पूर्णांक का कार्यान्वयन नहीं है जबकि सी ++ है।
- सी ++ संकेत का उपयोग करता है और मेमोरी पतों में हेरफेर करने की क्षमता है।
- जावा संकेत का उपयोग नहीं करता है जो इसे एक प्रकार-सुरक्षित प्रोग्रामिंग भाषा बनाता है।
- जावा जेनेरिक का उपयोग करता है जबकि सी ++ टेम्पलेट का उपयोग करता है।
- जेवीएम एक कुशल कोड अनुकूलन में सहायता करता है ताकि प्रोग्राम के निष्पादन का प्रदर्शन सी ++ की तुलना में बेहतर हो।
- सी ++ विनाशकों का उपयोग करता है जो विषय विनाश के समय स्वचालित रूप से बुलाए जाते हैं।
- जावा में एक अंतर्निर्मित थ्रेड क्लास है जिसे नए धागे के निर्माण के लिए विरासत में प्राप्त करने की आवश्यकता है।एक प्रोग्रामर को अपनी रन () विधि को ओवरराइड करना होता है।
- सी ++ में जावा जैसे सूत्र के लिए कोई समर्थन नहीं है, सी ++ बाहरी पुस्तकालयों का उपयोग करके सूत्र की कार्यक्षमता प्राप्त करता है।
अनुशंसित पाठ्यक्रम
- ऑनलाइन एक्सएमएल और जावा प्रशिक्षण
- नोड.जेएस प्रशिक्षण बंडल
- सी ++ और डायरेक्टएक्स में ऑनलाइन प्रमाणन प्रशिक्षण
- हुडिनी ट्रेनिंग बंडल
सी ++ बनाम जावा तुलना तालिका
नीचे बिंदुओं की सूची सी ++ बनाम जावा के बीच तुलना का वर्णन करती है
आधारित है
तुलना
|
सी ++ | जावा |
स्मृति प्रबंधन | संकेत का उपयोग कर विकासक द्वारा प्रबंधित। संरचनाओं और संघ का समर्थन करता है | सिस्टम द्वारा नियंत्रित, संकेत का उपयोग नहीं करता है। सूत्र और इंटरफेस का समर्थन करता है |
विरासत | एकल और एकाधिक विरासत दोनों प्रदान करें | एकाधिक विरासत का समर्थन नहीं करता है। इंटरफ़ेस प्राप्त करने के लिए अवधारणा का उपयोग करता है |
रनटाइम त्रुटि पहचान तंत्र | प्रोग्रामर की ज़िम्मेदारी | सिस्टम की ज़िम्मेदारी |
पुस्तकालय | कम स्तर की कार्यक्षमताओं के साथ तुलनात्मक रूप से उपलब्ध है | विभिन्न उच्च स्तरीय सेवाओं के लिए कक्षाओं की एक विस्तृत श्रृंखला प्रदान करें |
कार्यक्रम सेवा | तरीके और डेटा बाहरी कक्षाओं का निवास कर सकते हैं। एक वैश्विक फ़ाइल की अवधारणा, नामस्थान विस्तार उपलब्ध हैं | सभी विधियों और डेटा कक्षा में ही रहते हैं। अवधारणा ओडी पैकेज का उपयोग किया जाता है |
अर्थशास्त्र टाइप करें | आदिम और वस्तु प्रकारों के बीच लगातार समर्थन का समर्थन करता है | आदिम और वस्तु प्रकार के लिए अलग |
पोर्टेबिलिटी | स्रोत कोड के रूप में निर्भर मंच को विभिन्न मंच के लिए पुन: संकलित किया जाना चाहिए | बाइटकोड की अवधारणा का उपयोग करता है जो प्लेटफार्म स्वतंत्र है और इसका उपयोग मंच-विशिष्ट जेवीएम के साथ किया जा सकता है |
बहुरूपता | विधियों के लिए स्पष्ट मिश्रित पदानुक्रमों का समर्थन करता है | स्वचालित, स्थैतिक और गतिशील बाध्यकारी का उपयोग करता है |
निष्कर्ष
सी ++ बनाम जावा प्रोग्रामिंग भाषाएं ओओपीएस अवधारणाओं का समर्थन करती हैं। सी ++ क्रम पर लचीलापन प्रदान करता है और व्यापक प्रकार पदानुक्रमों को कार्यान्वित कर सकता है। सी ++सी पर बनाया गया है और इसकी विशेषताओं के साथ पिछड़ा संगतता है। यह एक निम्न स्तर की प्रोग्रामिंग भाषा है जिसमें कुछ उच्च स्तरीय विशेषताएं शामिल हैं। सी ++ में मेमोरी प्रबंधन एक नियम प्रक्रिया है जिसे प्रोग्रामर द्वारा संभाला जाना आवश्यक है जो मेमोरी लीक और विभाजन दोषों के जोखिम को पेश कर सकता है। जावा में अंतर्निर्मित कचरा संग्रहकर्त्ता तंत्र है जो वस्तुओं को आवंटित स्मृति का ट्रैक रखता है और उपयोग में नहीं होने पर उन्हें स्वचालित रूप से मुक्त कर देता है। जावा विभिन्न पुरातन और विषय प्रकार प्रदान करता है और एक दृढ़ता से टाइप की गई प्रोग्रामिंग भाषा है। यह पुरातन को उनके संबंधित विषय प्रकारों में बदलने का एक तरीका प्रदान करता है, उदाहरण के लिए, पूर्णांक क्लास आदि की विषय का उपयोग करके एक पूर्णांक विषय में। कुछ जावा संस्करणऑटोबॉक्सिंग की सुविधा भी है जो पुरातन के स्वचालित रूपांतरण को उनके संबंधित आवरण वर्ग में सक्षम बनाता है। जावा स्वचालित बहुरूपता प्रदान करता है और स्पष्ट विधि अधिभावी को प्रतिबंधित करके इसे प्रतिबंधित कर सकता है। सी ++ और जावा दोनों में प्रवेश विनिर्देशक हैं जो सुरक्षित और कक्षा के बाहर और पैकेज के बाहर पैकेज का उपयोग करके पैकेज के भीतर निजी रूप से कक्षा के भीतर विशेषताओं और विधियों के दायरे को प्रतिबंधित करते हैं।
अनुशंसित लेख
यह सी ++ बनाम जावा के बीच अंतर के लिए एक उपयोगी मार्गदर्शिका रहा है यहां हमने उनके अर्थ, हेड टू हेड कंपेरिजन, की डिफरेंसेस, और निष्कर्ष पर चर्चा की। अधिक जानने के लिए आप निम्नलिखित लेख को भी देख सकते हैं –