जावा क्या है?
जावा एक बहु-मंच, वस्तु-उन्मुख, नेटवर्क-केंद्रित, प्रोग्रामिंग भाषा है जो सन माइक्रोसिस्टम्स द्वारा विकसित की गई है। जावा एक प्रोग्रामिंग लैंग्वेज है और एप्लिकेशन डेवलपमेंट के लिए एक कंप्यूटिंग प्लेटफॉर्म है। यह पहली बार सन माइक्रोसिस्टम द्वारा 1995 में जारी किया गया था और बाद में ओरेकल कॉर्पोरेशन द्वारा अधिग्रहित किया गया था
इस ट्यूटोरियल में, आप सीखेंगे:
- जावा क्या है?
- स्काला क्या है?
- जावा की विशेषताएं
- स्काला की विशेषताएं
- जावा बनाम स्काला
- स्काला का उपयोग करने का लाभ
- जावा के लाभ
- जावा के नुकसान
- स्काला के नुकसान
स्काला क्या है?
स्काला एक स्टेटिकली टाइप्ड प्रोग्रामिंग लैंग्वेज है जिसमें फंक्शनल और ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग शामिल है। यह मुख्य रूप से जेवीएम (जावा वर्चुअल मशीन) प्लेटफॉर्म को लक्षित करता है, लेकिन इसका उपयोग कई प्लेटफार्मों के लिए सॉफ्टवेयर लिखने के लिए भी किया जा सकता है। इसमें स्काला के माध्यम से स्काला-नेटिव और जावास्क्रिप्ट रनटाइम के उपयोग से देशी प्लेटफॉर्म शामिल हैं।
कुंजी प्रसार
- स्काला एक स्टेटिकली टाइप्ड प्रोग्रामिंग लैंग्वेज है जबकि जावा एक मल्टी-प्लेटफॉर्म, नेटवर्क-केंद्रित, प्रोग्रामिंग लैंग्वेज है।
- Scala आधुनिक संगामिति का समर्थन करने के लिए एक अभिनेता मॉडल का उपयोग करता है, जबकि जावा संगामिति के लिए पारंपरिक थ्रेड-आधारित मॉडल का उपयोग करता है।
- स्केल वैरिएबल डिफ़ॉल्ट अपरिवर्तनीय प्रकार के होते हैं जबकि जावा वैरिएबल डिफ़ॉल्ट म्यूटेबल प्रकार के होते हैं।
- स्कैलेज आलसी मूल्यांकन का समर्थन करता है जबकि जावा आलसी मूल्यांकन का समर्थन नहीं करता है।
- स्काला में स्थिर सदस्य नहीं होते हैं जबकि जावा में स्थिर सदस्य होते हैं।
- स्केल ऑपरेटर ओवरलोडिंग का समर्थन करता है जबकि जावा ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है।
- स्कैला पिछड़ी संगतता की पेशकश नहीं करता है जबकि जावा पिछड़ी संगतता प्रदान करता है।
- नेस्टेड कोड के कारण स्काला कम पठनीय है जबकि जावा अधिक पठनीय है।
- स्काला फ्रेमवर्क प्ले, लिफ्ट हैं जबकि जावा फ्रेमवर्क स्प्रिंग, ग्रेल्स और कई अन्य हैं।
जावा की विशेषताएं
यहाँ जावा की महत्वपूर्ण विशेषताएं हैं।
- एक बार कोड लिखें और इसे लगभग किसी भी कंप्यूटर प्लेटफॉर्म पर चलाएं
- इसे ऑब्जेक्ट-ओरिएंटेड एप्लिकेशन बनाने के लिए डिज़ाइन किया गया है।
- बहुत मजबूत और अत्यधिक सुरक्षित
- यह स्वचालित मेमोरी प्रबंधन के साथ एक बहुस्तरीय भाषा है
- अपने नेटवर्क केन्द्रित के रूप में सुविधा का वितरण किया
स्काला की विशेषताएं
यहाँ scala की महत्वपूर्ण विशेषताएं हैं:
- वस्तु-उन्मुख लेकिन स्काला भी एक कार्यात्मक भाषा है।
- यह संक्षिप्त, शक्तिशाली भाषा है और अपने उपयोगकर्ताओं की मांग के अनुसार जल्दी से बढ़ सकता है।
- आपको जावा कोड निष्पादित करने की अनुमति देता है
- स्काला को वैधानिक रूप से टाइप किया गया है
जावा बनाम स्काला
यहाँ जावा और स्काला के बीच मुख्य अंतर हैं।
पैरामीटर | स्केला | जावा |
---|---|---|
सघनता | अधिक कॉम्पैक्ट और संक्षिप्त | कोड का तुलनात्मक रूप से बड़ा हिस्सा |
के लिए डिज़ाइन किया गया | यह ऑब्जेक्ट और कार्यात्मक उन्मुख भाषा दोनों के लिए डिज़ाइन और विकसित किया गया है। यह विभिन्न प्रकार की कार्यात्मक प्रोग्रामिंग सुविधाओं जैसे कि संगामिति और अपरिवर्तनीयता का समर्थन करता है। | मूल रूप से एक वस्तु-उन्मुख भाषा के रूप में विकसित हुई और हाल के दिनों में कार्यात्मक प्रोग्रामिंग सुविधाओं का समर्थन करना शुरू कर दिया। यह एक कार्यात्मक प्रोग्रामिंग भाषा की तरह मजबूत नहीं है। |
कंजरेसी मॉडल | आधुनिक संगामिति के समर्थन के लिए अभिनेता मॉडल का उपयोग करता है | यह कंसर्ट के लिए पारंपरिक थ्रेड-आधारित मॉडल का उपयोग करता है। |
समर्थित चौखटे | चौखटे का समर्थन करता है - प्ले, लिफ्ट | वसंत, अनाज, बहुत अधिक का समर्थन करता है |
आलसी मूल्यांकन समर्थन | आलसी मूल्यांकन का समर्थन करता है | आलसी मूल्यांकन का समर्थन नहीं करता है |
स्थैतिक सदस्य | कोई स्थिर सदस्य नहीं | स्थिर सदस्य होते हैं |
ऑपरेटर ओवरलोडिंग | ऑपरेटर ओवरलोडिंग का समर्थन करता है | ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है |
संकलन की प्रक्रिया | स्रोत कोड का संकलन तुलनात्मक रूप से धीमा है | स्रोत कोड का संकलन स्काला से तेज है |
इंटरफेस | लक्षण - जावा 8 इंटरफेस की तरह काम करते हैं | जावा 8 इंटरफेस कक्षाओं और इंटरफेस के बीच की खाई को पाटने की कोशिश करते हैं |
URL पुनर्लेखन | पुनर्लेखन की आवश्यकता है | पुनर्लेखन की आवश्यकता नहीं है |
बग-मुक्त कोड | बग-मुक्त कोड के बारे में कोई आश्वासन नहीं | कम दोषों का पूरा आश्वासन |
पिछड़े अनुकूलता के लिए समर्थन | स्काला पिछड़ी संगतता का समर्थन नहीं करता है | जावा पिछड़े संगतता का समर्थन करता है |
एकाधिक वंशानुक्रम के लिए समर्थन | वर्गों का उपयोग करते हुए कई विरासत का समर्थन करता है, लेकिन अमूर्त वर्गों द्वारा नहीं | कक्षाओं का उपयोग करते हुए कई विरासत का समर्थन नहीं करता है, लेकिन इंटरफेस द्वारा |
कोड शैली | कोड एक कॉम्पैक्ट रूप में लिखा गया है। | कोड लंबी-फॉर्म में लिखा जाता है। |
स्थैतिक खोजशब्द | स्काला में स्थैतिक कीवर्ड नहीं होता है। | जावा में स्थिर कीवर्ड होता है। |
व्यवहार करता है | स्काला में मौजूद कोई भी विधि या कार्य उन्हें वैसा ही माना जाता है जैसे वे परिवर्तनशील होते हैं। | जावा एक ऑब्जेक्ट के रूप में कार्य करता है। |
चर का प्रकार | स्केल वैरिएबल डिफ़ॉल्ट अपरिवर्तनीय प्रकार के होते हैं। | जावा चर डिफ़ॉल्ट म्यूटेबल प्रकार के होते हैं। |
वस्तु अभिविन्यास | स्काला सब कुछ कक्षा के उदाहरण के रूप में मानता है और जावा की तुलना में यह अधिक वस्तु-उन्मुख भाषा है। | जावा ऑपरेटर ओवरलोडिंग का समर्थन नहीं करता है। |
कॉलिंग विधि | स्काला में, सभी संस्थाओं ने ऑपरेशन कॉल का उपयोग करके प्रदर्शन किया। | ऑपरेटरों को अलग तरीके से व्यवहार किया जाता है और कॉल पद्धति का उपयोग करके नहीं किया जाता है। |
पठनीयता | इसके नेस्टेड कोड के कारण स्काला कम पठनीय है। | जावा अधिक पठनीय है। |
संकलन प्रक्रिया | स्रोत कोड की प्रक्रिया को बाइट कोड में संकलित करना बहुत धीमा है। | स्रोत कोड की प्रक्रिया को बाइट कोड में संकलित करना तेज है। |
जावा के लाभ
यहां, जावा का उपयोग करने के लाभ / लाभ हैं-
- विस्तृत दस्तावेज उपलब्ध है।
- उपलब्ध कुशल डेवलपर्स का एक बड़ा पूल
- आपको मानक कार्यक्रम और पुन: प्रयोज्य कोड बनाने की अनुमति देता है।
- यह एक बहु-सूत्रित वातावरण है जो आपको एक कार्यक्रम में एक ही समय में कई कार्य करने की अनुमति देता है।
- उत्कृष्ट कार्य - निष्पादन
- 3 पार्टी पुस्तकालयों की विशाल सरणी
- पुस्तकालयों को नेविगेट करना आसान है
स्काला का उपयोग करने का लाभ
यहाँ शाला सीखने के लाभ / लाभ हैं:
- स्काला ऑब्जेक्ट-ओरिएंटेड प्रोग्रामर्स, (जावा डेवलपर्स) के लिए सीखना आसान है। यह हाल के वर्षों में लोकप्रिय भाषाओं में से एक बन रहा है।
- Scala उपयोगकर्ताओं के लिए प्रथम श्रेणी के कार्य प्रदान करता है
- JVM पर स्कैला को निष्पादित किया जा सकता है, इस प्रकार अन्य भाषाओं के साथ अंतर के लिए मार्ग प्रशस्त होता है।
- यह उन अनुप्रयोगों के लिए डिज़ाइन किया गया है जो समवर्ती, वितरित, लचीला और संदेश संचालित हैं। यह इस दशक की सबसे अधिक मांग वाली भाषाओं में से एक है।
- यह संक्षिप्त, शक्तिशाली भाषा है और अपने उपयोगकर्ताओं की मांग के अनुसार जल्दी से बढ़ सकता है।
- यह ऑब्जेक्ट-ओरिएंटेड है और इसमें बहुत सारी कार्यात्मक प्रोग्रामिंग विशेषताएं हैं जो डेवलपर्स को बहुत अधिक लचीलापन प्रदान करती हैं ताकि वे चाहते हैं कि एक तरह से कोड कर सकें।
- स्काला कई बतख प्रकार प्रदान करता है
- यदि आप जावा से आ रहे हैं तो इसमें बॉयलरप्लेट कम है
- स्काला में लिखा गया फ्रेमवर्क लिफ्ट एंड प्ले ग्रोथ कर्व में है।
जावा के नुकसान
यहाँ, जावा का उपयोग करने के विपक्ष / कमियां हैं-
- JIT कंपाइलर प्रोग्राम को तुलनात्मक रूप से धीमा बनाता है।
- जावा में उच्च मेमोरी और प्रसंस्करण आवश्यकताएं हैं। इसलिए, हार्डवेयर की लागत बढ़ जाती है।
- बिंदुओं जैसे निम्न-स्तरीय प्रोग्रामिंग निर्माणों के लिए कोई समर्थन नहीं।
- आपके पास कचरा संग्रहण पर कोई नियंत्रण नहीं है क्योंकि जावा डिलीट (), फ्री () जैसे फ़ंक्शन प्रदान नहीं करता है।
स्काला के नुकसान
यहाँ, scala के कुछ बुरा / नुकसान हैं:
- स्काला बहुत सीमित सामुदायिक उपस्थिति प्रदान करता है।
- यह आसानी से अनुकूलनीय भाषा नहीं है।
- बहुत सीमित पिछड़ेपन की पेशकश करता है