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

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

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

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

हालाँकि, जावास्क्रिप्ट को वेब ब्राउज़र द्वारा पढ़ा जा सकता है, जैसा कि यह लिखा है। ब्राउज़र बस प्रत्येक पंक्ति की जाँच करता है और उसे चलाता है। यह इसे और अधिक लचीला और बदलने में आसान बनाता है, हालांकि यह प्रदर्शन पर संकलित कोड से पिछड़ जाता है, क्योंकि यह मशीन-रीडिंग भाषा में सीधे नहीं चल रहा है।
2. स्टेटिक टाइपिंग (जावा) बनाम डायनामिक टाइपिंग (जावास्क्रिप्ट)
प्रोग्रामिंग भाषाओं का एक बड़ा हिस्सा चर में मूल्यों को संचय कर रहा है। जावा सांख्यिकीय रूप से टाइप किया गया है, जिसका अर्थ है कि आपको यह बताना होगा कि प्रत्येक चर में किस तरह का मूल्य है, और फिर यह तय हो गया है। उदाहरण के लिए:
int a_number = 42; char a_letter = ‘z’;
“Int” को एक नंबर होना चाहिए और “char” को एक अक्षर होना चाहिए।

जावास्क्रिप्ट, हालांकि, गतिशील रूप से टाइप किया गया है, इसलिए कोई भी चर किसी भी डेटा प्रकार को पकड़ सकता है, और वे एक समस्या के बिना बदल सकते हैं। नीचे दिया गया कोड ठीक चलता है:
let number = 42; let a_letter = “z”;

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

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

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

याद रखें, जावा और जावास्क्रिप्ट जानकारी स्टोर करने के लिए वस्तुओं का उपयोग करते हैं। वे दोनों भी “विरासत” का उपयोग करते हैं, जो वस्तुओं को कहीं और से अपने गुणों को प्राप्त करने की अनुमति देता है। जावा में, उन्हें कक्षाओं से गुण मिलते हैं, जो अनिवार्य रूप से ऑब्जेक्ट के निर्माण के निर्देशों के साथ ब्लूप्रिंट हैं। जावास्क्रिप्ट में, नई वस्तुओं को प्रोटोटाइप या वस्तुओं का उपयोग करके बनाया जाता है जिन्हें एक नई वस्तु बनाने के लिए कॉपी किया जा सकता है।
मूल रूप से, इसका मतलब है कि जावास्क्रिप्ट में कोई भी वस्तु एक प्रोटोटाइप बन सकती है, जबकि जावा को आपको एक वर्ग बनाने की आवश्यकता होती है जो ऑब्जेक्ट बना सकती है। पहले के उदाहरण का उल्लेख करने के लिए, जावा एक बिल्ली का निर्माण करने के लिए निर्देश प्रदान करता है, जबकि जावास्क्रिप्ट सिर्फ इसे क्लोन करता है।
मुझे कौन सी जरूरत है?

यदि तकनीकी विवरण आपकी आँखों को ख़राब कर रहे हैं, तो आप अब फिर से ध्यान देना शुरू कर सकते हैं! यदि आप जावा और जावास्क्रिप्ट के बीच निर्णय लेने की कोशिश कर रहे हैं, तो यह वास्तव में बहुत मुश्किल नहीं है।
आप आमतौर पर जावास्क्रिप्ट चाहते हैं:
- वेबसाइट, वेब ऐप और अन्य फ्रंट-एंड इंटरफेस
- सरल वेब सर्वर / बैक-एंड कार्य (Node.js के साथ)
- ब्राउज़र-आधारित गेम और एनिमेशन बनाना
- इलेक्ट्रॉन / अन्य क्रॉस-प्लेटफ़ॉर्म फ्रेमवर्क पर निर्मित ऐप्स / गेम्स / प्रोग्राम
हालाँकि, आप संभवतः जावा का उपयोग करना चाहते हैं:
- एंड्रॉयड ऍप्स
- डेस्कटॉप अनुप्रयोग
- सर्वर-साइड अनुप्रयोग
- फोन, IoT उपकरणों और अन्य हार्डवेयर के लिए कोड लिखना
यदि आप सीखने के लिए कोई भाषा चुनना चाहते हैं, तो यह आपके लक्ष्यों पर निर्भर करता है। यदि आप प्रोग्रामिंग कैरियर बनाना चाहते हैं और प्रोग्रामिंग फंडामेंटल का एक ठोस लाभ प्राप्त करना चाहते हैं, या यदि आप गैर-वेब अनुप्रयोगों पर काम करना चाहते हैं, तो जावा को तकनीकी रूप से कठोर भाषा माना जाता है। यह दुनिया में सबसे व्यापक रूप से उपयोग किया जाता है।
हालाँकि, यदि आप वेब विकास में जाना चाहते हैं या ज्यादातर वेबसाइटों और वेब ऐप पर काम करने की योजना बना रहे हैं, तो जावास्क्रिप्ट संभवतः एक “आवश्यक-कौशल” है। लंबे समय में, यह दोनों को सीखने के लिए चोट नहीं पहुंचा सकता है, क्योंकि वे दोनों अवधारणाओं को शामिल करते हैं जो आपको बेहतर (और अधिक विपणन योग्य) प्रोग्रामर बना सकते हैं।
यदि आप खेल के विकास में लग रहे हैं, तो ये प्रोग्रामिंग भाषाएं आपके लिए अधिक अनुकूल होंगी।
छवि क्रेडिट: जावा प्रोग्रामिंग लैंग्वेज लोगो, जावास्क्रिप्ट-लोगो, जावा-जेवीएम, इवेंट ड्रिवेन प्रोग्रामिंग सिंपली एक्सप्ले, ओओपी क्लासेस
सम्बंधित:
क्या यह लेख उपयोगी है?