Computer >> कंप्यूटर ट्यूटोरियल >  >> नेटवर्किंग >> इंटरनेट

जावा और जावास्क्रिप्ट में क्या अंतर है?

वेब डेवलपर जेरेमी कीथ ने 2009 में कहा था, "जावा का जावास्क्रिप्ट से वही रिश्ता है जो हैम का हैम्स्टर से।" इस उपमा की सटीकता पर बहस हो सकती है, लेकिन इसके पीछे की भावना ठोस है: जावा और जावास्क्रिप्ट, एक सामान्य भाषाई जड़ साझा करने के बावजूद, दो बिल्कुल अलग प्रोग्रामिंग भाषाएं हैं। वर्षों में ये थोड़ा ओवरलैप करने लगी हैं, लेकिन जावास्क्रिप्ट अब भी प्रमुख फ्रंट-एंड भाषा बनी हुई है जो वेबसाइटों को इंटरैक्टिव बनाती है, जबकि जावा सर्वर-साइड और एप्लिकेशन प्रोग्रामिंग के लिए लोकप्रिय है। यदि आप डेवलपर हायर करना चाहते हैं, कोडिंग सीखना चाहते हैं, या साइट/एप्लिकेशन बनाना चाहते हैं, तो जावा और जावास्क्रिप्ट का अंतर जानना महत्वपूर्ण है।

अलग-अलग इतिहास

संक्षेप में: जावा पहले आया। जावास्क्रिप्ट, जो जावा के समान थी लेकिन तकनीकी रूप से उससे संबद्ध नहीं थी, फिर एक अलग जरूरत पूरी करने के लिए उभरी।

जावा को जेम्स गोसलिंग और सन माइक्रोसिस्टम्स के शोधकर्ताओं की टीम ने चार वर्षों में विकसित किया, जिसकी शुरुआत 1991 में हुई और रिलीज़ 1995 में हुई। उन्होंने एक ऑब्जेक्ट-ओरिएंटेड भाषा विकसित की जो कई ऑपरेटिंग सिस्टम पर चल सकती थी। तब से इसका उपयोग फोन से लेकर नासा के रोवर्स तक उपकरणों की एक विस्तृत श्रृंखला पर किया गया है, और यह जावा एप्लेट्स के माध्यम से 2016 तक एक मल्टीमीडिया वेब तकनीक भी थी (जैसे फ्लैश था और जावास्क्रिप्ट अभी भी है), जब जावा ने आधिकारिक तौर पर सपोर्ट वापस ले लिया।

जावास्क्रिप्ट भी 1995 में रिलीज़ हुई लेकिन इसे नेटस्केप में ब्रेंडन आइक ने केवल 10 दिनों में बनाया था, ताकि ब्राउज़र द्वारा पेज लोड करने के बाद वेब पेजों को इंटरैक्टिव बनाया जा सके। मई 1995 में इसे शुरू में मोचा कहा गया लेकिन सितंबर में नेटस्केप नेविगेटर के साथ लाइवस्क्रिप्ट के रूप में शिप किया गया और दिसंबर 1995 तक इसका नाम बदलकर जावास्क्रिप्ट कर दिया गया। चूंकि भाषा को जावा के समान एक हल्के स्क्रिप्टिंग समकक्ष के रूप में बनाया गया था, इसलिए नाम वास्तव में समझ में आता है - और यह एक बहुत अच्छी मार्केटिंग चाल भी थी। तब से यह HTML और CSS के साथ आधुनिक इंटरनेट के तीन प्रमुख घटकों में से एक बन गई है।

तकनीकी अंतर

जावा और जावास्क्रिप्ट दोनों ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाएं हैं, जिसका अर्थ है कि प्रोग्रामर सूचना के टुकड़े बनाकर और उन्हें अन्य टुकड़ों से जोड़कर चीजों को काम कर सकते हैं। उदाहरण के लिए, एक "कैट" ऑब्जेक्ट में बिल्ली के नाम, रंग और उम्र के बारे में जानकारी शामिल हो सकती है, साथ ही उन चीजों की सूची भी जो बिल्ली कर सकती है, जैसे म्याऊ करना, खाना और सोना। उस ऑब्जेक्ट में जानकारी तब प्रोग्रामर के लिए उपलब्ध होती है, जो बिल्ली के बारे में जानकारी प्रिंट कर सकता है या उसे कुछ करवा सकता है।

यही सबसे बड़ी समानता है। वहां से अंतर बढ़ते जाते हैं।

1. जावा कंपाइल्ड है, जावास्क्रिप्ट इंटरप्रेटेड

जावा में "राइट वन्स, रन एनीवेयर" सिस्टम है। यह इस तरह काम करता है:

  1. जावा में कोड लिखें।
  2. कोड को कंप्यूटर-पठनीय बाइटकोड में कंपाइल करें।
  3. जावा वर्चुअल मशीन पर कोड चलाएं, जो एक वर्चुअल कंप्यूटर है जो डिवाइस पर जावा बाइटकोड चलाता है।

इसका अर्थ है कि जब भी आप प्रोग्राम बदलना चाहते हैं, आपको जावा कोड में बदलाव करना होगा और पूरे प्रोग्राम को फिर से बाइटकोड में अनुवाद करना होगा।

हालांकि, जावास्क्रिप्ट को वेब ब्राउज़र ठीक वैसे ही पढ़ सकते हैं जैसे यह लिखा गया है। ब्राउज़र बस प्रत्येक लाइन की जांच करता है और उसे चलाता है। यह इसे अधिक लचीला और बदलने में आसान बनाता है, हालांकि यह परफॉर्मेंस में कंपाइल्ड कोड से पीछे रहता है, क्योंकि यह सीधे मशीन-पठनीय भाषा में नहीं चल रहा होता।

2. स्टैटिक टाइपिंग (जावा) बनाम डायनामिक टाइपिंग (जावास्क्रिप्ट)

प्रोग्रामिंग भाषाओं का एक बड़ा हिस्सा वेरिएबल्स में मान स्टोर करना है। जावा स्टैटिकली-टाइप्ड है, जिसका अर्थ है कि आपको बताना होगा कि हर वेरिएबल में किस तरह का मान है, और फिर यह तय हो जाता है। उदाहरण के लिए:

int a_number = 42; char a_letter = 'z';

"int" को नंबर होना चाहिए और "char" को अक्षर।

जावास्क्रिप्ट, हालांकि, डायनामिकली-टाइप्ड है, इसलिए कोई भी वेरिएबल किसी भी डेटा प्रकार को रख सकता है, और वे बिना किसी समस्या के बदल सकते हैं। नीचे दिया कोड बिल्कुल ठीक चलता है:

let number = 42; let a_letter = "z";

जावा को यहां स्पीड और डीबगिंग का फायदा है: वेरिएबल प्रकार घोषित करने से समस्याएं तेजी से मिलती हैं और कोड भी तेजी से चलता है। हालांकि, जावास्क्रिप्ट अधिकांश डेवलपर्स के लिए तेजी से काम करने के लिए बेहतर है।

3. कनकरेंसी

जावा एक ही समय में कई अलग-अलग थ्रेड चला सकता है, जिसका अर्थ है कि यह एक साथ कई चीजें कर सकता है।

जावास्क्रिप्ट इसके बजाय एक इवेंट लूप का उपयोग करता है, अनिवार्य रूप से कामों के स्टैक के माध्यम से तब तक काम करता है जब तक यह अंत तक नहीं पहुंच जाता। फिर से, जावा को यहां परफॉर्मेंस का फायदा है।

4. जावा में क्लासेस हैं, जावास्क्रिप्ट में प्रोटोटाइप्स

याद रखें, जावा और जावास्क्रिप्ट जानकारी स्टोर करने के लिए ऑब्जेक्ट्स का उपयोग करते हैं। वे दोनों "इनहेरिटेंस" का भी उपयोग करते हैं, जो ऑब्जेक्ट्स को कहीं और से अपने गुण प्राप्त करने की अनुमति देता है। जावा में, वे क्लासेस से गुण प्राप्त करते हैं, जो अनिवार्य रूप से ऑब्जेक्ट बनाने के निर्देशों वाले ब्लूप्रिंट होते हैं। जावास्क्रिप्ट में, नए ऑब्जेक्ट्स प्रोटोटाइप्स या उन ऑब्जेक्ट्स का उपयोग करके बनाए जाते हैं जिन्हें कॉपी करके नया ऑब्जेक्ट बनाया जा सकता है।

मूल रूप से, इसका अर्थ है कि जावास्क्रिप्ट में कोई भी ऑब्जेक्ट प्रोटोटाइप बन सकता है, जबकि जावा में आपको एक क्लास बनानी होगी जो ऑब्जेक्ट्स बना सके। पहले के उदाहरण का उल्लेख करने के लिए, जावा बिल्ली बनाने के निर्देश प्रदान करता है, जबकि जावास्क्रिप्ट बस इसे क्लोन करता है।

मुझे किसकी आवश्यकता है?

यदि तकनीकी विवरण आपकी आंखों को धुंधला कर रहे थे, तो अब फिर से ध्यान देना शुरू कर सकते हैं! यदि आप जावा और जावास्क्रिप्ट के बीच निर्णय लेने की कोशिश कर रहे हैं, तो यह वास्तव में बहुत कठिन नहीं है।

आप आमतौर पर जावास्क्रिप्ट चाहेंगे:

  • वेबसाइटों, वेब ऐप्स और अन्य फ्रंट-एंड इंटरफेस के लिए
  • सिंपल वेब सर्वर/बैक-एंड कार्य (Node.js के साथ)
  • ब्राउज़र-आधारित गेम और एनिमेशन बनाने के लिए
  • इलेक्ट्रॉन या किसी अन्य क्रॉस-प्लेटफॉर्म फ्रेमवर्क पर बने ऐप्स/गेम/प्रोग्राम

हालांकि, आप शायद जावा का उपयोग करना चाहेंगे:

  • एंड्रॉइड ऐप्स
  • डेस्कटॉप एप्लिकेशन
  • सर्वर-साइड एप्लिकेशन
  • फोन, IoT डिवाइस और अन्य हार्डवेयर के लिए कोड लिखना

यदि आप सीखने के लिए एक भाषा चुनना चाहते हैं, तो यह आपके लक्ष्यों पर निर्भर करता है। यदि आप प्रोग्रामिंग करियर बनाना चाहते हैं और प्रोग्रामिंग फंडामेंटल्स की ठोस समझ प्राप्त करना चाहते हैं, या यदि आप नॉन-वेब एप्लिकेशन पर काम करना चाहते हैं, तो जावा को अधिक तकनीकी रूप से कठोर भाषा माना जाता है। यह दुनिया में सबसे व्यापक रूप से उपयोग की जाने वाली भाषा भी है।

हालांकि, यदि आप वेब डेवलपमेंट में जाना चाहते हैं या ज्यादातर वेबसाइटों और वेब ऐप्स पर काम करने की योजना बना रहे हैं, तो जावास्क्रिप्ट शायद एक "मस्ट-हैव" कौशल है। लंबे समय में, दोनों सीखने में कोई बुराई नहीं है, क्योंकि दोनों उन अवधारणाओं को शामिल करते हैं जो आपको एक बेहतर (और अधिक मार्केटेबल!) प्रोग्रामर बना सकती हैं।

यदि आप गेम डेवलपमेंट में जाना चाहते हैं, तो ये प्रोग्रामिंग भाषाएं आपके लिए अधिक उपयुक्त होंगी।

  1. डायरेक्टएक्स 11 और डायरेक्टएक्स 12 में क्या अंतर है? डायरेक्टएक्स 11 और डायरेक्टएक्स 12 में क्या अंतर है?

    डायरेक्टएक्स एपीआई का एक संग्रह है, या एप्लिकेशन प्रोग्रामिंग इंटरफेस, जिसका उपयोग सॉफ्टवेयर द्वारा मल्टीमीडिया सामग्री को रेंडर करने और ग्राफिकल हार्डवेयर के साथ संचार करने के लिए किया जाता है। डायरेक्टएक्स का प्रमुख घटक एपीआई, डायरेक्ट3डी, सॉफ्टवेयर और ग्राफिक्स हार्डवेयर के बीच संचार को संभालता ह

  1. जावास्क्रिप्ट में फंक्शन्स और मेथड्स में क्या अंतर है? जावास्क्रिप्ट में फंक्शन्स और मेथड्स में क्या अंतर है?

    जावास्क्रिप्ट में फंक्शन्स और मेथड्स समान हैं, लेकिन एक मेथड एक फंक्शन है, जो एक ऑब्जेक्ट की प्रॉपर्टी है।निम्नलिखित जावास्क्रिप्ट में फंक्शन का एक उदाहरण है:function functionname(param1, param2){    // code }उदाहरणमेथड एक ऑब्जेक्ट से जुड़ा फंक्शन है। निम्नलिखित जावास्क्रिप्ट में मेथड का ए

  1. JRE और JDK में क्या अंतर है? JRE और JDK में क्या अंतर है?

    JDK (Java Development Kit) में Java एप्लिकेशन विकसित करने और चलाने के लिए आवश्यक सभी टूल्स और लाइब्रेरीज़ होती हैं, जिसमें JRE भी शामिल है। JRE (Java Runtime Environment) एक सॉफ्टवेयर है जिसमें JVM और Java प्रोग्राम चलाने के लिए आवश्यक अन्य लाइब्रेरीज़ होती हैं।