Java Introduction, History and Features
जावा का परिचय (Introduction to Java programming)
Java एक General Purpose Programming Language है| इसको Software और Application Development के लिए इस्तेमाल किया जाता है| java एक High Level Programming Language है| क्योंकि इसमें लिखे गए सारे Codes English में होते हैं Numeric Codes में नहीं होते हैं, इसमें लिखे गए codes को कोई भी बड़ी आसानी से समझ सकता है| इसीलिए इसे High Level Language में शामिल किया गया है|
सन् 1991 में Sun Microsystem ink द्वारा Java को विकसित किया गया था, जिसे बाद में oracle द्वारा खरीद लिया गया था | इसे James Gosling और Patrick Naughton द्वारा विकसित किया गया था| यह एक सरल programming भाषा है | Java programming में किसी प्रोग्राम को लिखना उसे compile करना और debug करना आसान होता है, इसके साथ ही यह programming किसी कोड को पुनः उपयोगी बनाने में भी सहायक है |
Java का इस्तेमाल Web based Programming, Mobile application और Software बनाने के लिए किया जाता है| Android के जितने भी Operating System हैं जैसे KitKat, Lollipops, Oreo इन सभी को इसी Programming Language से Develop किया गया है|
जावा का इतिहास (History of JAVA)
पहले Java का नाम ‘Oak’ था यह एक पेड़ का नाम हैं | James Gosling और उनके सहकारी जहाँ पर Java के लिए काम करते थे, वहा पर ‘Oak’ नाम का पेड़ था और ‘Oak’ कई देशों का राष्ट्रीय पेड़ भी है | इसी लिए ‘Oak’ नाम रखा गया | लेकिन ‘Oak’ नाम पहले से ही ‘Oak Technologies’ का था| इसलिए बाद में ‘Oak’ का नाम बदलकर ‘Java’ रखा गया|
Java Versions | Released Dates |
JDK Alpha and Beta | 1995 |
JDK 1.0 | 23rd Jan, 1996 |
JDK 1.1 | 19th Feb, 1997 |
J2SE 1.2 | 8th Dec, 1998 |
J2SE 1.3 | 8th May, 2000 |
J2SE 1.4 | 6th Feb, 2002 |
J2SE 5.0 | 30th Sep, 2004 |
Java SE 6.0 | 11th Dec, 2006 |
Java SE 7.0 | 28th July, 2011 |
Java SE 8.0 | 18th March, 2014 |
जावा शब्दावली (Java terminology)
Java programming को सीखने से पहले Java से जुड़े कुछ सामान्य शब्दों को समझ लेते है:-
1. Java Virtual machine (JVM)
इसे सामान्यतःJVM (Java Virtual machine) के रूप में जाना जाता है JVM के बारे में चर्चा करने से पहले हम program execution के स्टेप्स देख लेते है –
- Java में सबसे पहले program को लिखा जाता है |
- फिर इसे compile किया जाता है |
- अंत में program को रन किया जाता है |
Java Virtual machine को सक्षिप्त में JVM कहा जाता हैं| यह एक Virtual Computer है, जो सभी Java Program को run करता है| जब कोई Program लिखा जाता है उसे Source Code कहा जाता है, इसी Source Code को Java Compiler की मदद से Compile करके Byte Code Generate किया जाता है, इस Byte Code को Execute करने के लिए JVM का इस्तेमाल किया जाता है| JVM के अंदर JAVA Interpreter रहता है जो program को Run करता है|
2. Java Development kit (JDK)
जैसा की नाम से स्पस्ट है कि यह Java development kit (JDK) है जिसमे JRE (Java Runtime Environment), compiler और विभिन्न टूल्स जैसे JavaDoc, Java debugger आदि शामिल है |
Java program को बनाने के लिए उसे compile करने के लिए और Java program को run करने के लिए JDK होना अनिवार्य है |
3. Java Runtime Environment (JRE)
jre , JDK का एक हिस्सा है , जिसका मतलब है कि JDK में jre शामिल है जब आपके system में jre install हो जाता है तो आप एक Java program चला सकते है , jre में JVM , ब्राउज़र, plugins और applets शामिल है | इसका मतलब है की आपको अपने कंप्यूटर पर Java program चलाने के लिए JRE की आवश्यकता होती है|
4. ByteCode
जावा में बाइटकोड intermediate machine-independent code है। यह जावा वर्चुअल मशीन के लिए निर्देशों का एक सेट है और यह C ++ में Assembler के समान कार्य करता है। सामान्य तौर पर, बाइटकोड एक ऐसा कोड होता है जो Low level और High level भाषा के बीच होता है। प्रोसेसर द्वारा बाइटकोड को Process नहीं किया जाता है। यह जावा वर्चुअल मशीन (JVM) द्वारा Process होता है। JVM का काम जावा प्रोग्राम को Compile करने और Bytecode को स्वतंत्र बनाने के लिए सभी आवश्यक Resources को कॉल करना है। यह सबसे बड़ा कारण है कि जावा को एक platform-independent language के रूप में जाना जाता है। intermediate code विंडोज, मैकओएस और लिनक्स जैसे किसी भी प्लेटफॉर्म पर चल सकता है।
जावा की मुख्य विशेषताये (Features of Java)
1. Platform Independent language :-
यह Language independent है, अगर कोई software बनाना हो तो इसे किसी चीज की जरुरत नहीं होती |JVM, compiler द्वारा निर्मित bytecode को execute करता है| एक bytecode किसी भी platform जैसे windows, Linux, mac आदि ऑपरेटिंग सिस्टम्स पर चल सकता है इसका मतलब है की वह program जो windows पर compile किया गया है उसे Linux पर चलाया जा सकता है | प्रत्येक ऑपरेटिंग सिस्टम में अलग अलग JVM होते है, हालाँकि जिस कोड को वे bytecode के execution के बाद तैयार करते है वह सभी ऑपरेटिंग सिस्टमो पर समान होता है, इसलिए Java एक Platform Independent language है |
2. Object orientation language
Java Language, Class-based और Object-based है | यह ऑब्जेक्ट्स के संग्रह के रूप में प्रोग्राम्स को लिखने का एक तरीका है ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की 4 मुख्य अवधारणाये है :-
- Abstraction
- Encapsulation
- Inheritence
- Ploymorphism
3. Simple
Java को सरल भाषाओ में से एक माना जाता है क्योंकि इसमें operator overloading, multiple inheritance, pointers जैसी जटिलताए नहीं है |
4. Robust Language
Java एक मजबूत और विश्वसनीय भाषा है, Java प्रोग्रामिंग भाषा को इस तरह से विकसित किया गया है जो शुरूआती तौर पर त्रुटीयो (errors) का पता लगाने पर बहुत अधिक जोर देता है | Java compiler उन त्रुटियो का पता लगाने में सक्षम है जो अन्य प्रोग्रामिंग भाषाओ में पता लगाना आसान नहीं होता | Java की मुख्य विशेषताए जो इसे मजबूत बनाती है वे है –garbage collection, exception handling और memory allocation |
5. Secure
Java एक सुरक्षित भाषा है, Java में pointers उपलब्ध नही होते इसलिए आप Array से बाहर नहीं निकल सकते और यदि आप ऐसा करने का प्रयास करते है तो आपको Array Index Out of Bounds exception मिलता है यही कारण है की Java को सुरक्षित भाषा कहा जाता है|
6. distributed Language
Java programming भाषा का उपयोग करके हम distributed एप्लीकेशन बना सकते है, Java में distributed एप्लीकेशनस बनाने के लिए RMI (Remote Method Invitation) और EJB (Enterprise Java beans) का उपयोग किया जाता है | असान शब्दों में कहे तो Java प्रोग्राम्स को एक से अधिक सिस्टम्स पर distributed किया जा सकता है जो इन्टरनेट के मद्ध्यम से एक-दुसरे से जुड़े हुए होते है |
7. Multithreading
इस Language में एक से ज्यादा programs को एक साथ Run किया जा सकता है|
8. Portable
इस Language को किसी भी platform पर Run किया जा सकता है| अर्थात जावा में एक मशीन पर लिखा गया कोड दूसरी मशीन पर चलाया जा सकता है|
9 High Performance
Java के Compilers program execution के लिए ज्यादा समय नहीं लेते, इसीलिए ये एक High-performing Language मानी जाती है |