जावा और जावास्क्रिप्ट में अंतर (Difference between Java and JavaScript)
जावा और जावास्क्रिप्ट मुख्य रूप से विभिन्न उद्देश्यों के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषाएं हैं। हालांकि दोनों ही एक जैसे लगते हैं लेकिन उनके बीच कई असमानताएं हैं, जावा को अनिवार्य रूप से एक सामान्य-उद्देश्य प्रोग्रामिंग भाषा के रूप में उपयोग किया जाता है जबकि जावास्क्रिप्ट को क्लाइंट-साइड स्क्रिप्टिंग भाषा के रूप में उपयोग किया जाता है।
जावास्क्रिप्ट प्रोटोटाइप ऑब्जेक्ट्स का उपयोग करता है, और ये ऑब्जेक्ट क्लास के किसी भी उदाहरण के बिना अन्य ऑब्जेक्ट्स को सीधे एक्सेस करने में मदद करते हैं, जबकि जावा क्लास के सिद्धांत पर निर्मित भाषा है जहां क्लास के गुणों को क्लास के उदाहरण के माध्यम से विरासत में मिला है।
इस पोस्ट में हम जानेंगे-
- जावा और जावास्क्रिप्ट का तुलना चार्ट
- जावा और जावास्क्रिप्ट की परिभाषा
- जावा और जावास्क्रिप्ट में मुख्य अंतर
- निष्कर्ष
जावा और जावास्क्रिप्ट का तुलना चार्ट
तुलना का आधार |
जावा |
जावास्क्रिप्ट |
विकसित | सन माइक्रोसिस्टम्स | नेटस्केप |
बेसिक | स्टेटिकली टाइप्ड | डायनामिक टाइप्ड |
ऑब्जेक्ट का प्रकार | क्लास आधारित | प्रोटोटाइप आधारित |
ऑब्जेक्ट एनकैप्सुलेशन | प्रभावी | प्रदान नहीं करता |
नाम स्थान की उपस्थिति | जावा में उपयोग किया जाता है। | नामस्पेस नहीं हैं |
मल्टी थ्रेडिंग | जावा को मल्टीथ्रेड किया गया है। | मल्टीथ्रेडिंग के लिए कोई प्रावधान नहीं। |
स्कोप | ब्लॉक स्तर | फंक्शन |
जावा की परिभाषा
जावा एक सामान्य-उद्देश्य वाली ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है, जो कोड के उत्पादन के इरादे से डिज़ाइन की गई है, जहाँ समान कोड का उपयोग कहीं भी किया जा सकता है। सन माइक्रोसिस्टम्स के जेम्स गोस्लिंग ने 1990 के अंत में जावा का विकास किया| यह प्रोग्रामिंग भाषा Class Based, Object Oriented और Human Readable है। जावा को Interpreter के साथ-साथ Compile किया गया है। जावा कंपाइलर सोर्स कोड को Byte code में बदल देता है फिर जावा इंटरप्रेटर मशीन कोड का निर्माण करता है जिसे सीधे मशीन द्वारा एक्सीक्यूट किया जाता है जिसमें जावा प्रोग्राम चल रहा है। यह विश्वसनीय, वितरित, पोर्टेबल भाषा है। इसका उपयोग स्टैंड-अलोन एप्लीकेशन या वेब-आधारित एप्लीकेशन के विकास के लिए किया जा सकता है।
जावा की विशेषताएं:
-
Compiled and interpreted:
शुरुआत में, जावा कंपाइलर सोर्स कोड को Byte Code में ट्रांसलेट करता है। फिर मशीन कोड का उत्पादन किया जाता है जिसे सीधे मशीन द्वारा एक्सीक्यूट किया जा सकता है, और ऐसा करने के लिए इंटरप्रिटर जिम्मेदार है।
-
Platform independent and portable:
इसे एक मशीन से दूसरी मशीन में ले जाया जा सकता है, ऑपरेटिंग सिस्टम, सिस्टम रिसोर्स और प्रोसेसर में कोई भी संशोधन जावा प्रोग्राम्स को प्रभावित नहीं कर सकता है। जावा कंपाइलर द्वारा उत्पन्न Byte Code किसी भी मशीन पर जनरेट किया जा सकता है।
-
ऑब्जेक्ट ओरिएंटेड (Object Oriented):
जावा विशुद्ध रूप से ऑब्जेक्ट ओरिएंटेड भाषा है जहाँ सब कुछ Class और Object के चारों ओर घूमता है।
-
मजबूत और सुरक्षित (Robust and Secure):
जावा वायरस के खतरे और रिसोर्स के दुरुपयोग को रोकता है। इसमें एक गार्बेज संग्राहक होता है और दुर्घटनाग्रस्त होने की त्रुटियों और जोखिम को समाप्त करने के लिए अपवाद हैंडलिंग को जनरेट करता है।
-
वितरित (Distributed):
यह नेटवर्क पर एप्लीकेशन के निर्माण को भी सक्षम बनाता है और डेटा और प्रोग्राम दोनों को शेयर कर सकता है। जावा का उपयोग इंटरनेट के माध्यम से दूरस्थ वस्तुओं तक पहुंचने के लिए भी किया जा सकता है और कई प्रोग्रामर को विभिन्न दूरस्थ स्थानों से मिलकर काम करने की अनुमति देता है।
-
मल्टीथ्रेडेड और इंटरेक्टिव (Multi threaded and interactive):
यह मल्टीथ्रेडेड प्रोग्राम को सहायता करता है जहां कई कार्यों को समवर्ती रूप से नियंत्रित किया जा सकता है।
-
डायनेमिक और एक्स्टेंसिबल (Dynamic and Extensible):
नई Classes, Objects, Methods और Libraries को संभवतः जावा में गतिशील रूप से जोड़ा जाता है। यह C और C ++ जैसी भाषाओं में लिखे गए कार्यों का भी समर्थन कर सकता है।
-
विकास में आसानी (Ease of development):
कोड पुन: प्रयोज्य विकास को आसान बनाता है।
-
स्केलेबिलिटी और प्रदर्शन (Scalability and Performance):
स्केलेबिलिटी और प्रदर्शन स्टार्ट-अप समय को बढ़ाकर और जावा रनटाइम वातावरण में मेमोरी की खपत को कम करके बेहतर बनाया जा सकता है।
जावास्क्रिप्ट की परिभाषा
जावास्क्रिप्ट मुख्य रूप से एक क्लाइंट-साइड स्क्रिप्टिंग भाषा है जिसे वेब एप्लीकेशन के लिए व्यवहार और अन्तरक्रियाशीलता प्रदान करने के लिए डिज़ाइन किया गया है। यह 1995 में ब्रेंडन ईच द्वारा नेटस्केप में तैयार किया गया था, और इसे शुरू में “Mocha” के रूप में जाना जाता था। उसके बाद, नेटस्केप (अब मोज़िला) और सन माइक्रोसिस्टम्स (अब ओरेकल) के बीच लाइसेंस समझौते के कारण “Live Script” नाम को “JavaScript” में बदल दिया गया है। मानकीकरण उद्देश्य के लिए नेटस्केप द्वारा भाषा ECMA (European Computer Manufacturers Association) को प्रस्तुत की गई थी।
कुछ ट्रेडमार्क कारण के लिए, मानकीकृत वर्जन को “ECMA Script” नाम दिया गया है। हालांकि, यह इंटरेस्ट और उत्तेजना हासिल करने के लिए मार्केटिंग चाल के कारण “जावास्क्रिप्ट” के रूप में लोकप्रिय हो गया। ब्राउज़र का उपयोग जावास्क्रिप्ट कोड को चलाने के लिए किया जाता है| न केवल ब्राउज़रों का उपयोग कुछ डेटाबेस जैसे कि Mongo DB, Couch DB के रूप में किया जाता है, जावास्क्रिप्ट को स्क्रिप्टिंग और क्वेरी भाषा के रूप में जनरेट करता है। इसमें जावा के सापेक्ष कमांड का एक छोटा और सरल सेट शामिल है जिसकी व्याख्या ब्राउज़र द्वारा की जाती है। वेबपेज की घटनाओं को जावास्क्रिप्ट द्वारा तेजी से बनाया जा सकता है। हालाँकि, यह डेस्कटॉप एप्लीकेशन को विकसित नहीं कर सकता है जिस तरह से जावा या C ++ जैसी अन्य भाषाएँ विकसित हो सकती हैं क्योंकि इसे वेब पेजों में हेरफेर करने के लिए डिज़ाइन किया गया था।
जावास्क्रिप्ट की विशेषताये
-
व्याख्या की गई (Interpreted):
जावास्क्रिप्ट कोड को एक ब्राउज़र में सीधे कोड के संकलन से रहित किया जाता है।
-
क्लाइंट-साइड स्क्रिप्टिंग भाषा (Client-side scripting language):
यह क्लाइंट-साइड स्क्रिप्टिंग भाषा है जो कोड को एक्सीक्यूट करने के लिए एक ब्राउज़र का उपयोग करती है, और इसमें इंटरैक्ट सहभागिता शामिल नहीं होती है। हालाँकि, नए वर्जन और फ्रेमवर्क सर्वर-साइड स्क्रिप्टिंग को भी सक्षम करते हैं।
-
घटना-आधारित (Event-based):
यह कुछ इवेंट में कुछ विशिष्ट कोड चलाने में सक्षम है। इवेंट किसी भी लोडिंग पेज हो सकता है या फॉर्म जमा कर सकती है|
-
ऑब्जेक्ट-ओरिएंटेड (Object-oriented):
जावास्क्रिप्ट उस पेज के भीतर ऑब्जेक्ट्स में हेरफेर करके एक HTML पेज पर नियंत्रण लागू करता है।
जावा और जावास्क्रिप्ट के बीच महत्वपूर्ण अंतर
- जावा का आविष्कार सन माइक्रोसिस्टम्स (ओरेकल) ने किया था जबकि नेटस्केप ने जावास्क्रिप्ट विकसित किया था।
- जावा statically type है, इसका मतलब है कि संकलन के समय वेरिएबल, पैरामीटर और ऑब्जेक्ट के मेंबर कंपाइलर के लिए जाने जाते हैं। जावास्क्रिप्ट dynamically typed है जहां वेरिएबल के प्रकार संकलक के लिए ज्ञात नहीं हैं और एक्सीक्यूट के समय इसे बदला जा सकता है।
- जावा एक क्लास-आधारित भाषा है जो दर्शाती है कि परिभाषित क्लास ऑब्जेक्ट को आह्वान करती हैं। दूसरी ओर, जावास्क्रिप्ट प्रोटोटाइप पर निर्भर करता है, जिसका अर्थ है कि सामान्यीकृत ऑब्जेक्ट की क्षमता दोगुनी और विस्तारित होना एक ऑब्जेक्ट के गुणों और तरीकों को शेयर कर सकता है।
- जावा में एनकैप्सुलेशन जावास्क्रिप्ट से बेहतर है।
- जावास्क्रिप्ट में नामस्थान नहीं हैं। इसके विपरीत, जावा के नाम स्थान हैं।
- जावा मल्टीथ्रेडिंग का समर्थन करता है जहां एक ही समय में कई प्रोग्राम एक्सीक्यूट किए जा सकते हैं। इसके विपरीत, जावास्क्रिप्ट मल्टीथ्रेडिंग सुविधा का समर्थन नहीं करता है।
- जावा में स्कोप ब्लॉक आधारित होता है जहां वेरिएबल दायरे से बाहर निकलता है जब नियंत्रण केवल तब तक ब्लॉक से बाहर तक पहुंचता है जब तक यह एक उदाहरण या क्लास वेरिएबल नहीं है। इसके विपरीत, जावास्क्रिप्ट फ़ंक्शन में स्कोपिंग का उपयोग किया जाता है, जहां फ़ंक्शन को घोषित किए गए फ़ंक्शन के अंदर वेरिएबल तक पहुँचा जा सकता है।
निष्कर्ष
जावा और जावास्क्रिप्ट दोनों सिंटैक्टिक समानता को छोड़कर अलग-अलग भाषाएं हैं और अनिवार्य रूप से अलग-अलग उद्देश्यों के लिए डिज़ाइन की गई हैं। जावा एक सामान्य उद्देश्य वाली भाषा है जिसका उपयोग डेस्कटॉप या मोबाइल या वेब-आधारित अनुप्रयोगों को विकसित करने में किया जा सकता है। दूसरी ओर, जावास्क्रिप्ट एक क्लाइंट-साइड स्क्रिप्टिंग भाषा है जिसका उपयोग विशेष रूप से वेब-आधारित अनुप्रयोग के लिए व्यवहार और अन्तरक्रियाशीलता को डिजाइन करने के लिए किया जाता है। जावा जावास्क्रिप्ट की तुलना में अधिक जटिल, कठोर है। यद्यपि, दोनों भाषाएँ उत्कृष्ट वेब पेज ईवेंट बना सकती हैं और उपयोगकर्ता और वेब पेज के बीच सहभागिता प्रदान कर सकती हैं।