JAVA क्या हैं? JAVA के बारें में विस्तार से जानिए?

What is JAVA? Know JAVA in Details in Hindi?


JAVA
JAVA
World में यूँ तो बहुत सी तरह की Language बोली जाती है, लेकिन अगर Technical Field की बात करे तो उसके लिए Programming Language की समझ होना जरुरी है जिसे सिर्फ़ Computer ही समझता है। Java एक बेहतरीन Programming Language है। Java Programming Language का उपयोग Web Application, Program Or Software को Run करने के लिए किया जाता है। लगता है आपको पूरी तरह समझ नहीं आया होगा और अब आपके मन में ये सवाल घूम रहा होगा की जावा क्या हैं चलिए थोड़ा Detail में जानते है की… 

हिस्ट्री ऑफ़ JAVA

सन 1991 में Sun Microsystems के Engineers का एक Group जिसे James Gosling द्वारा Lead किया जा रहा था उन्होंने Decide किया कि वे Consumer Devices के लिये एक Programming Language को Develop करेंगें। इसको उन्होंने Green Project का नाम दिया। इस परियोजना का AIM एक ऐसे Distributed System को Build करना था जो Consumer Electronic Devices को एक-दूसरे से Communicate करने के लिए Allow करे।
हालांकि तब C++ को First Choice के रूप में रखा गया। अब क्योंकि इस प्रकिया के लिये CPU Flexibility एक बड़ी Demand थी। तो उन्होंने C++ में विस्तार करने की सोची। परन्तु वे जल्द समझ गए कि इसके विस्तार के बावजूद ये पर्याप्त नही होगी। C++ तब वाकई में एक Complex Language थी। ये सब होने के बाद एक नई Programming Language “Oak” का जन्म हुआ।
इसका नाम James Gosling ने अपने Office Window से दिखने वाले Tree Oak के नाम पर रखा था। इससे पहले इसका नाम Greentalk रखा गया था और तब इसका File Extension .gt था। 1995 में इसके Oak नाम को Renamed किया गया और तब इसे Java नाम दिया। क्योंकि ये नाम पहले से ही Oak Technology द्वारा Trademark किया जा +चुका था। 
ऐसी Language Develop करने के पीछे का Intention एक ऐसी Programming Language बनाना था जो Simple, Robust, Portable, Platform-Independent, Secure, Multi-Threaded, Object-Oriented, Interpreted और Dynamic हो। वैसे तो Java को Digital Devices जैसे Set-Top-Boxes और Television इत्यादि के लिये Develop किया गया था। परन्तु इसकी बेहतरीन विशेषताओं के कारण जल्द ही इसे Internet Programming और WWW-Based Applications के लिये भी Use किया जाने लगा। 
इस भाषा को बेहतर साबित करने के लिये उन्होंने एक Web Browser Hotjava को Develop किया जो Mini Java Applications (Applets) को Run करने के Capable है। सन 1995 में जब Sun Microsystems ने प्रारंभिक Java Development Kit (JDK) और Hotjava को Release किया। जिसके बाद ये एक Popular Programming Language के रूप में सामने आई। 2009 में जाकर Oracle द्वारा इसे Acquired कर लिया गया। अब तक कई Java Versions को Release किया जा चुका है।

JAVA का परिचय 

Java एक General Purpose Programming Language है। इसका इस्तेमाल Software और Application Software बनाने के लिए इस्तेमाल किया जाता है। Java Programming एक उच्च स्तरीय भाषा (HLL) है। यह आसानी से पढ़ा और लिखा जा सकता है। 
अगर आप C और C++ प्रोग्रामिंग भाषा जानते है, तो आप आसानी से इसे सिख सकते है।क्योंकि यह भाषा C और C++ प्रोग्रामिंग भाषा के मिला जुला हुआ है। जावा एक आधुनिक उच्‍च लेबल प्रोग्रामिंग भाषा है जिसे 1990 में सन माइक्रोसिस्‍टम के द्वारा बनाया गया था । वर्तमान में ओरेकल के द्वारा अधिकृत है ।
जावा प्‍लेटफार्म इनडिपेन्‍डेन्‍ट है, जिसका मतलब है कि आपको विभिन्‍न प्‍लेटफार्म पर चलाने के लिये अपना प्रोग्राम बस एक बार ही लिखने की जरूरत है। जावा आपको एक बार प्रोग्राम लिखने के बाद उसे किसी भी प्‍लेटफार्म पर चला सकने की गारन्‍टी करता है ।
लगभग तीन करोड से अधिक डिवाइस पर जावा रन करता है। जावा का प्रयोग एन्‍ड्राइड एप्‍लीकेशन, डेस्‍कटाप एप्‍लीकेशन, एन्‍टीवायरस, वेब एप्‍लीकेशन, इन्‍टरप्राइजेज एप्‍लीकेशन (बैंकिंग आदि) और अन्‍य बहुत प्रकार के एप्‍लीकेशन्‍स को बनाने के लिये किया जाता है।
वर्तमान समय मैं जावा का letest version है। Java SE 8 जिसे ( 18 March 2014) मैं release किया गया था ।
यह एक object oriented लैंग्वेज है जोकि c और c++ पर आधारित है लेकिन java को और भी simplify और improved किया गया है जिससे की programming  feature के error को दूर किया जा सके  java source code की file  जिसका extension .java होता है।
उनको compiler की मदद से byte code format मैं generate किया जाता है और फिर java इंटरप्रिटर उसको execute करता है compile java code सभी computer पर java virtual machine JVM की मदद से run होता है। JVM एक virtual machine है जोकि run time  environment उपलब्द करता है। जहा पर जावा program को run किया जाता है। जितने भी java computer programs को run करते है। उन सभी मैं पहले से ही JVM installe होता है इसलिए जावा का source  code सभी platform के कंप्यूटर मैं चलता है।

JAVA को बनाने का मकसद क्या था?

आपको पता होगा पहले जितने भी Programming Language हैं और थे। वो सारे Procedural Structure को Follow करते हैं। इसके बाद आया Obeject Oriented Concept मुझे खुशी है की आज के समय में Obeject Oriented पुरे Programming Industry को ही बदल डाला। यह programming Language भी इसी Concept को फॉलो करता है।
आप सोच रहे होंगे वैसे पहले ही इतनी सारी Computer Language हैं फिर भी इसमें क्या खासियत है। अभी के समय में आप जानते ही होंगे की Internet Applications का कितना Demand में हैं। चाहे वो Online Video/image editing, चाहे कुछ Online convert करना हो जैसे Word to PDF, ZIP, RAR FILE बनाना यह सब इसी की बदोलत है।
 
आज कल Online Form भरना, Online Calculator ये सभी java की मदद से ही संभव हुआ है। Internet में जावा दुसरे web based Language के साथ मिलके काम करता है। मतलब साफ़ साफ़ है Internet Application और Tools Develop करने के लिए इसको बनाया गया है। अगर हम दुसरे Languages के साथ तुलना करें तो यह बड़ी आसानी से Internet में Execute होता है। इसमें Program लिखना भी बहुत आसान है।
Java Script, JSP (Java Server Pages) और Java इन सभी के मदद से एक Powerful Web Application बनाया जा सकता है। Java Applets को आप Web में आसानी से Implement कर सकते हो। इसके मदद से आप Offline Program भी लिख सकते हो जो बिना Internet के भी चलते हैं। 
मै तो आपको यही सलाह देना चाहूँगा अभी और आगे SW की दुनिया में कुछ करना चाहते हो तो इसको जरुर सीखें और कैसे इस Language को सीखें आगे आपको इसकी जानकारी भी इसी लेख में आपको मिल जाएगी। अब तक तो आप बहुत कुछ जान गए हैं लेकिन इसके इतिहास के बारे में भी जान लेना चाहिए।

JAVA विकास प्रक्रिया 

जावा प्रोग्राम के विकास के मुख्‍य चार चरण हैं:-
  1.  अपना एप्‍लीकेशन बनाना।
  2.  एप्‍लीकेशन का सोर्स कोड लिखना।
  3.  एप्‍लीकेशन का परीक्षण करना।
  4.  बग फिक्‍स करना। 
जावा प्रोग्राम लिखते समय सोर्स फाइल का एक्‍सटेंशन .java  होता है।

JAVA क्या हैं?

आप तो Java का नाम तो सुने ही होंगे। लेकिन आपके मन में ये सवाल तो आया होगा की जावा क्या है और इसके साथ Java Programming Language कैसे सीखें। आज के लेख में इसका जवाब देंगे और इससे संबंधित कुछ और जानकारी देना चाहेंगे।
आज के समय में Programming Language की Demand बहुत ही ज्यादा है। आपको एक रोचक बात बताऊंगा तो आप के होस उड़ जाएंगे। अभी के समय में करीबन 3000000 से भी अधिक Electronic Device में Java Code का इस्तेमाल किया जाता है। इस बात से आप अंदाजा लगा सकते हैं की ये Programming Language कितनी लोक प्रिय है।
अभी भी आप जितने भी Smart Phone का इस्तेमाल कर रहे हैं और Electronic Device जैसे AC, Oven, Smart TV, Digital Fridege इन सभी में इसका इस्तेमाल होता है। कुछ Automated Industries के Equipment में भी अलग अलग parts को Programmed करने में. आप अगर Android Programming को सिखना चाहते हैं, तो फिर Java को सीखना बहुत जरुरी है. तो चलिए जानते है जावा क्या होता है।
 एक General Purpose Programming Language है। इनको Software और Application Development के लिए इस्तेमाल किया जाता है। java एक High Level Programming Language है। 1995 में Sun-micro system ने इसका प्रारंभ किया था। James Gosling इसके प्रमुख Developer में से एक हैं। यह Platform Independent Language है। इसमें लिखे गए Code को आप किसी भी Platform या os में Run कर सकते हैं।
 
इसमें लिखे गए सारे Codes English में होते हैं नाकि Numeric Codes में. लिखे गए codes को कोई भी बड़ी आसानी से समझ सकता है। इसीलिए इसे High Level Language में सामिल किया गया है। यह Oops के Concept को follow करती है। C++ Language के Fundamental को इसमें Use किया गया है।
Java Programming language की सबसे खास बात ये है कि इसको web application से लेकर desktop और mobile apps तक हर किसी को बनाने में use किया जा सकता है। Java को स्पष्ट रूप से Internet के distributed environment में उपयोग के लिये design किया गया था। Oracle के अनुसार दुनियाभर में लगभग 1 billion computers और 3 billion phones में Java run होती है।

Core Java क्या है?

असल मे Core Java का विवरण कही भी नही है क्योंकि ये एक Term है जिसे Sun Microsystems ने Java Standard Edition को बेहतर Describe करने के लिये Use किया था। ये सबसे Basic Version है, क्योंकि इसने ही बाकी Versions की Foundation को Set किया। आसान भाषा में ये Java SE Technologies के Subset को संदर्भित करता है।
इसमें कई Verity की General Purpose APIs और Special Purpose APIs शामिल होती है। क्योंकि ये Standard Version है तो इसमें आपको Language के Basic Fundamentals देखने को मिलेंगे। इसलिये जब आप Core Java सुने तो इसे अलग न समझे बल्कि ये जावा का सबसे शुरुआती संस्करण था। इसके बाद कई Java Versions को Release किया गया जिनमें शामिल है:-
  1. Java Enterprise Edition
  2. Java Micro Edition
  3. Java Card
  4. JavaFX
  5. PersonalJava


 Java के प्रकार

Web Application:- मतलब Server side web application Develop करने के लिए। अभी के समय में Web Application बनाने के लिए Servlet, Jsp, Struts, jsf इन सभी का इस्तमाल किया जाता है।
Standalone Application:- इसका मतलब है desktop application और Mobile application. ये वो sw होते हैं जिनको हम हर रोज इस्तेमाल करते हैं। उदहारण- Media Player, Antivirus, MS-Office, Browsers. AWT और SWING की मदद से Standalone application आसानी से बनाए जाते हैं।
Enterprise Application:- बहुत सारे Enterprise Application बनाने में java ही एक मात्र Programming है। क्यूंकि ये High Level Security Provide करता है। Banking Software, Industry Application, Accounting Application इन सभी तरह के Enterprise Application बनाने के लिए EJB ( Enterprise Java Bean) का इस्तेमाल किया जाता है।
Mobile Application:- इसके बारे तो आप जान ते ही होंगे की Mobile में जितने भी Game और Application Run करते हो वो सभी इस Language से बनाया जाता है। Google Playstore में जितने भी App होते हैं वो सभी Java प्रोग्रामिंग से Develop किए जाते हैं।

Java Version का इतिहास

समय के साथ साथ JAVA के अलग अलग Version को Release किया गया उनकी जानकारी निचे दी गई है:-
  1. JDK Alpha and Beta (1995)
  2. JDK 1.0 (23 Jan, 1996)
  3. JDK 1.1 (19 Feb, 1997)
  4. J2SE 1.2 (8 Dec, 1998)
  5. J2SE 1.3 (8 May, 2000)
  6. J2SE 1.4 (6 Feb, 2002)
  7. J2SE 5.0 (30 Sep, 2004)
  8. Java SE 6 (11 Dec, 2006)
  9. Java SE 7 (28 July, 2011)
  10. Java SE 8 (18 March, 2014)

JAMES GOSLING

James Gosling, JAVA के प्रमुख Developer में से एक हैं. अभी के समय में Java का उपयोग Internet Programming, Mobile Devices, Games, E-Business solution के लिए किया जाता है। James Gosling, Mike Sheridan, और Patrick Naughton ने Java Language का Project 1991 में शुरु किये थे।
इन्होने एक Engineers की टीम बनाई थी इस Project पे काम करने के लिए उस टीम नाम था Green Team. इस Language की Coding C में लिखी गई है। James Gosling ने इस Language का नाम GreenTalk रखे और File Extension था .gt . बाद में इसका नाम बदल के Oak रखा गया।

इसका नाम Oak ही क्यूँ रखा गया?

Oak को Strength का Symbol भी बोला जाता है। Oak Weasten Countries (USA, France, Germany, Romania) का National Tree है। 1995 में Oak नाम को बदलके Java रखा गया, क्यूंकि Oak उस समय पहले से ही Oak Technologies Company का Trade mark था। अब अगला सवाल है आया, इसका नाम Java ही क्यूँ कोई और नाम क्यूँ नहीं।


इसका नाम JAVA ही क्यूँ रखा गया?

जब Green Team एक जुट होक Language नाम का चयन कर रही थी. उन सभी टीम सदस्यों ने कुछ नाम के Suggestion दिए जैसे Dynamic, Revolutionary, Silk, Jiot, DNA. वो चहाते थे की कोई एसा नाम जो उनकी Technology को Represent करें। कोई एसा नाम जो Revolutionary हो, Dynamic, Lively, Cool, Unique हो. James Gosling के मुताबिक आखिर में दो नाम के Suggestion थे।
एक Silk और दूसरा JAVA. Green Team को JAVA नाम काफी Unique लगा आखिर में यही नाम रखा गया। Java Indonasia का एक Island का नाम था. जहाँ सबसे पहले Coffee Produce हुआ था। Sun MicroSystem में इसको Develop किया गया था। अभी ये Oracle Corporation का एक Part है. JDK 1.0 को January 1996 में Release किया गया था।

JAVA की विशेषताएं

यह आज व्यापक रूप से इस्तेमाल होने वाली Programming language है। अपने बेहतरीन Features के दम पर ही ये एक Popular भाषा बन पाई है. तो आइये इसकी कुछ विशेषताओं के बारे में जाने:-
  1. पहली विशेषता ये है कि, Java एक Simple Language है। इसके Program को Write, Compile और Debug करना काफी Easy है दूसरी भाषाओं की तुलना में।
  2. ये Object-Oriented-Programming पर Based है। इसका मतलब हुआ इसमें हर चीज को एक Object के रूप में देखा जाता है।
  3. एक और खासियत ये Platform Independent है। यानी इसके Program को किसी भी Platform में Run किया जा सकता है।
  4.  इसे सबसे Secure Language के रूप में देखा जाता है। जिससे Developers एक Virus Free System को Develop कर पाते है।
  5. मजबूत Memory Management, स्वचालित Garbage Collection और कई Security Problems को Avoid करने के कारण इसे Robust अर्थात मजबूत भाषा का दर्जा दिया जाता है।
  6.  इसका Architecture neutral है. यानी किसी भी Machine में Java program को Interpret करना आसान है।
  7.  ये पूरी तरह से Portable है यानी इसके bytecode को किसी भी Platform में Carried किया जा सकता है।
  8. इसमें Multi-threading की विशेषता होती है। अर्थात इसके द्वारा आप ऐसे Program लिख सकते है जो एक समय मे Multi Task को Perform करने में सक्षम होंगे।
  9. यह Distributed Language है। जिससे हम ऐसे Programs बना सकते है जो Computer Network पर Run करे।
  10. जावा एक परिपक्व भाषा है, इसलिये ये अधिक स्थिर और अनुमानित है। Java class library हमें Cross-platform के development की facility प्रदान करता है।
  11. इसके पास Large number में Active user community और Support उपलब्ध है।
  12. अपने बेहतरीन Tools के कारण ये Programmers को Integrated Development Environment प्रदान करता है.
  13. इसमें Open Source Libraries का बेहतरीन Collection उबलब्ध है। जिससे इसे कही भी उपयोग किया जा सकता है।
  14. एक बेहतरीन विशेषताये कि Java Language बिल्कुल Free है यानी आप इसके सभी Features का Use कर सकते है।


Java कहाँ-कहाँ उपयोग होता है?

आज के समय Java एक Widely Used Computer language है। कई सारे ऐसे Fields है जहां इसका उपयोग होता है। उदाहरण के लिये एक Scientific application से लेकर Financial applications तक को बनाने में इसका इस्तेमाल हुआ है। Minecraft जैसे बेहतरीन Games को Java में ही Program किया गया है; तो आइये देखे कहां-कहां जावा उपयोग होता है:-
Web Application:- इसका उपयोग Web applications को Develop करने में काफी होता है। Servlets, Struts, और JSPs जैसी तकनीकों के माध्यम से Java इन web applications को बनाने के लिये बेहतर support provide करता है। इस programming language के easy और secure होने कारण हम कई important fields जैसे: government, healthcare, insurance, education और defense department से सम्बंधित applications को आसानी से develop कर पाते है।
Desktop Application:- हर प्रकार के Desktop application को इसके द्वारा आसानी से develop किया जा सकता है. इनको बनाने के लिए विभिन्न प्रकार के API (Application program interface) जैसे Windowing Toolkit (AWT), Swing और JavaFX का use किया जाता है. Desktop application को बनाने के लिये कई developers द्वारा इसे एक बेहतरीन programming language का दर्जा मिल चुका है।
Mobile Application:- Java Micro Edition एक लोकप्रिय cross-platform framework है जिसका use करके उन applications को build किया जाता है जो सभी mobile devices पर run करते है. आज के समय अधिकतर phones में android OS का support होता है. वही Java में इसके लिए Android software development kit और अन्य किट का use होता है. इसकी कारण Mobile app development के लिये इसको अधिकारिक रूप से best programming language की उपाधि प्राप्त है।
Enterprise Application:- क्योंकि ये बाकी भाषाओं के मुकाबले अधिक secure और powerful है, इसलिए Enterprise application development में इसे पहली पसंद के रूप में देखा जाता है. Java enterprise edition एक बहुत ही बेहतरीन platform है जो scripting और runtime enterprise software के लिये API और Runtime environment, provide करता है. इसके अलावा ये विभिन्न प्रकार के banking applications के लिये भी backbone साबित हुई. Oracle का ऐसा कहना है कि 97% के लगभग enterprise computers में Java को run किया जा रहा है।
Scientific Application:- अधिकतर developers एक scientific application को develop करने के लिये Java language को prefer करते है. इसका मुख्य कारण ये है कि Java अधिक secure, portable और maintainable है. साथ ही ये C और C++ के comparison में बेहतर high-level concurrency tools के साथ मे आता है. कुछ सबसे शक्तिशाली application जैसे MATLAB को इसमें ही program किया गया है. खास कर scientific calculations और mathematical operations के लिये बनाये गए software की coding इसमें ही होती है।
Gaming Application:- Java, 2D Games को Develop करने के लिये Better Language है। इसमें बहुत सारे Frameworks और Engines उपलब्ध होते है, जिनका Use हम इसके साथ कर सकते है। हालांकि C, C# और C++ को इसके मुकाबले अधिक बेहतर माना जाता है Game Development के लिये। यदी आप Minecraft खेलते है तो इसके Program को भी Java में ही लिखा गया है। तो Web Development के लिये Programmers की इसके प्रति एक समान राय नही है।
Embedded Systems:- Embedded Systems किसी Large System के उस Component को कहा जाता है जो सिस्टम में एक Dedicated Task को Perform करता है। ये एक chip से लेकर Specialized Computers में कोई भी हो सकता है। उदाहरण के लिये Sim card, Blu-ray Disk Player, Utility Meters और Televisions इस Embedded Java Technology का Use करते है। हालांकि आज इसका उपयोग हर तरह के Applications को Develop करने में होता है। लेकिन Originally इसे Embedded Devices के लिये ही Develop किया गया था।
Big Data Technologies:- यदि आप नही जानते Big data क्या है, तो ये Huge data को Process करने और Business को Insights देने या कहे Provide करने के बारे में है। Big data से जुड़ा एक Open Source Framework (Hadoop) इसमें ही Program किया गया है। इसीलिए Big data की Processing के लिये Java को Suggest किया जाता है।
इसके अलावा भी कई Different Fields में इसका उपयोग बखूबी होता है। एक Object-Oriented-Programming के रूप में ये एक बेहतर लैंग्वेज है। OOP एक उपयोगी कौशल है क्योंकि ये Real world Application की Complexity को काफी अच्छे से Handle कर लेता है। एक Programmer के लिये भी Class और Objects के Terms से सोचना Easy होता है।

JAVA के घटक

Java के इन Components यानी घटकों को एक Developers के लिये समझना बेहद जरुरी है। क्योंकि Programming के Architecture को समझकर ही आप उसमे महारत हासिल कर सकते है। हम जब भी कोई Program लिखते है, तो वह Human readable language में होता है जिसे Source code कहा जाता है।
यानी उस code को हम तो समझ सकते है पर कोई भी computing device उसे read नही कर सकती. ये केवल machine code या Machine language को ही read कर पाती है तो Machine हमारे द्वारा लिखे Source code को understand कर पाए इसके लिये उसे machine language में convert करने की आवश्यकता होती है। 
इसके लिये Java में compilation और Interpretation की पूरी एक Process है। सबसे पहले लिखे गए code को convert किया जाता है Bytecode में ये सब  java compiler के इस्तेमाल से होता है। उसके बाद इस code को machine readable language में convert करने की process शुरू होती है। जिसमे इन तीन components का important role है:-
Java Virtual Machine:- JVM वो platform है जो Java program को execute करने के लिये एक runtime environment प्रदान करता है। ये JRE का एक part है. जो bytcode को machine code में convert करता है। JVM, bytcode को machine language में convert करने के लिए पहले उसे load करेगा, verify करेगा और फिर जाके उसे execute करेगा।
Java Runtime Environment:- JRE एक software है जो Java class libraries, Java class loader और JVM को नियंत्रित यानी contain करता है। इसे आप software का एक set भी कह सकते है, जो Java applications के development में काम आता है। ये JDK का एक Part है। हालांकि इसे आपको Separately download करना होगा।
Java Development Kit:- JDK एक Package है Tools का जिसकी Help से हम Java based software को Develop कर पाते है। अक्सर Programmer इन दो तकनीकों JRE और JDK को लेकर confuse हो जाते है. इसे समझिये JDK हमे उन tools को provide करता है जिससे हम Program को Create कर पाए। जबकि JRE वो Tools को Provide करता है जिससे Program Run हो सके। तो JDK बाकी सभी Tools को Contain करता है जिसमे JRE, loader, compiler, archiver etc. शामिल होते है।

JAVA के विभिन्न संस्करण

Java SE (Standard Edition):- Server Applications, Desktop Application और Applets program बनाने के लिए Java SE या Java Standard Edition आपको वो Tools और API Provide करता है। Java SE की मदद से जितने भी Program लिखे जाते हैं वो सभी Operating System में चलते हैं। जैसे Linux, Windows, Mac.
JEE (Java Enterprise Edition):- Web Application Services, Component Model, Enterprise Class Service Oriented Architecture (SOA) के लिए मददगार है।
JME (Java Micro Edition):- JME यह APIs का Collection है. इनका इस्तमाल Mobile Phones Application, PDAs, TV Set-Top Box software, Gaming Program Develop करने के लिए किया जाता है।Micro edition platform का Interface काफी User Friendly है। इसके साथ साथ भोरोसे लायक है। Security Model अलग अलग तरह के Built in Network की सुविधा देता है जिसेमें आप Java Based Application इसमें चला सकते हो।

JAVA कैसे सीखें?

इसमे कोई संदेह नही कि आज के समय ये सबसे प्रसिद्ध लैंग्वेज में से एक है। Industry में Java Developers की काफी Demand है। सबसे महत्वपूर्ण बात ये कि इसे सीखना Easy है क्योंकि इसके Syntax आसान English में होते है। तो यदि आप Decide कर चुके कि आपको Java सीखनी है तो आप हमारी बताई गयी Guidance को Follow करके इसकी शुरुवात कर सकते है।
नीचे दी गयी Tips आपको इसे सीखने में काफी मदद करेंगी:-

1. Programming language को Start करने के लिये सबसे पहले आपको उसके Basics को समझना चाहिये। जब तक आप इसके Fundamentals को नही समझेंगे आप इसमे आगे नही बढ़ पाएंगे।
2. Coding skills को Improve करने के लिये आपको Daily समय निकालकर Practice करनी होगी। तो जितना आप सीखे उसे अभ्यास भी करते जाए।
3. दूसरे Developers से Help लें। आप खुद से हर चीज नही सीख सकते इसलिये किसी ऐसे Mentor के Touch में रहे जो आपकी Problems को Solve कर सके।
4. Java Programming से सबंधित Blogs पढे जैसे कि-Tech Academy Pro को सर्च कर सकते हैं। ये आपको इसके बारे में Extra knowledge देंगे जो आपकी Skill Improve करने में काफी Help करेगा।
5. Coding में Mastering करने के लिये आपको कई Weeks, Month और Years भी लग सकते है। इसके लिये Patient बनाये रखे धीरे-धीरे ही सही पर एक दिन आप अपने मुकाम में जरूर पहुंच जाएंगे।

Java का Use कैसे करते है?

इस Computer Programming Language का एक ही मकसद है। इसमें जो भी Code लिखा गया है वो सारे Computers में Run होन चाहिए। चाहे वो दोनों machine एक जैसे हो या नहीं, मेरा कहने का मतलब है, चाहे वो कोई भी OS हो (Windows या Mac) जैसे एक उदहारण के तोर पे C++ में लिखा गया Code कभी भी दुसरे machine में एक जैसे Execute नहीं होता।
Windows में लिखा गया Code कभी भी Mac OS में Run नहीं होता, लेकिन यह Java के मामले में ये गलत है। Web based Programming और Mobile application, Software बनाने के लिए इसका इस्तेमाल किया जाता है।
 
Android के जितने भी Operating System हैं जैसे Kitkat, Lolipop,Oreo ये सभी इसी Programming Language से Develop किया गया है। आज के समय में जितने भी Web Pages हैं वो Java Script पे चलते हैं। आपके मन में सवाल होगा की कैसे Code Execute होता है।

Java Program Code कैसे Run या Execute होता है?

ये Language, Code को Run करने के लिए एक Abstract Computing Machine का इस्तेमाल किया करता है जिसका नाम है Java Virtual Machine. इसको समझना आपके लिए बेहद जरुरी है।
 
Java Virtual Machine:- इसका Short form है 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 करता है.एक बात जानले जितने भी Computer java program को run करते हैं उन सभी में पहले से ही JVM Installed रहता है. इसी लिए ये Code सारे Computer में चलता है। इसी वजह से java एक Platform Independent Language है। 
दुसरे जितने भी Programming Languages हैं उनके Compiler जो code produce करते हैं। वो एक ही sysytem के लिए Generate करते हैं और एक ही System में Run होते हैं। लेकिन java compiler जो byte Code generate करता है वह JVM के लिए होता है। JVM सारे System में रहने की वजह से यह प्रोग्राम हर Computer में चलता है। यह Virtual Machine code को Operating System में चलने लायक बनानता है।
Platform Independent:- इसके नाम से ही सायद आप समझ गए होंगे की Platform के उपर Depend नहीं करता। यहाँ पे Platform मतलब OS है. जैसे Windows, Linux, Mac, Android. जब हम program लीखते है या कोई software बनाते है वो सारे Os platform पे चलते हैं। लेकिन कुछ प्रोग्राम होते हैं जो बस एक ही computer और OS पे चलते हैं ऐसे program को Platform Dependent Program कहते हैं।
अगर कोई एसा Program है जो code दुसरे सारे Platform पे चलता हो (चलने का मतलब Run होना). तो उसे Platform Independent Code कहते हैं.इसका मतलब यही है, java एक एसी Programming Language है जिसके code सारे Cross-Platform पे चलते हो। एक कहावत है “Write Once Run Any Where” . तो चलिए अब बात करते हैं, कहाँ कहाँ इसका इस्तेमाल होता है और Use क्या है।

Java का इस्तेमाल कहाँ-कहाँ होता है?

अभी के समय में 3 Billion से भी अधिक Devices Java की मदद से चलते हैं। यह IT Indistriy में बहुत ही अत्यधिक इस्तेमाल किए जाने वाली Programming Language है।
JSP:- यह एक Web Technology है, इसका Use Web application में किया जाता है. JSP की मदद से Java Code को HTML Document में Insert किया जाता है। Java Code को HTML tag में Insert करने के लिए JSP Tag को Use किया जाता है। इसकी मदद से Dynamic Web Pages बनाए जाते हैं।
PHP:- आपको पता होगा यह एक Server Side Scripting Language है। PHP में भी जावा का Use हुआ है।
Applets:- ये भी एक तरह का Full Java Program है। जिसको Web page के अंदर add किया जाता है। जिससे web Browser में नए Features देखने को मिलते हैं। Applets HTML के अंदर ही रहते हैं। कुछ Online Game भी Applets के उदहारण हैं. applets को Web Browser में Run करने के लिए Plugin की जरुँरत पड़ती है।
J2EE:- Java 2 Enterprise Edition एक Platform Independent Environment है. जिसकी मदद से Web based Enterprise Application बनाए जाते हैं. XML Based Structured data को Companies आपस में Share करने के लिए J2EE के द्वारा बनाए गए web application को उपयोग किया जाता है।
Java Beans:- यह Visual Basic जैसा ही है। पहले से मोजुद COMPONENT से की मदद से नए और Advanced Application बनाए जाते है। इसमें बहुत सारे Objects को एक Object में रखा जाता है जिसे Bean कहते हैं।
Mobile:- उपर दिए गए सारे Technology के बाबजूद भी इस Language का Mobile Devices में बहुत अच्छा योगदान है। इसने Game Industries को पूरी तरह से बदल डाला. जितने भी Mobile Industries हैं वो सब Java Technology का इस्तेमाल करते हैं।
Stand-alone Applications:- ये वे program है, जो offline work करते है और इन्हें एक certain task को perform करने के लिये बनाया गया होता है. Computer में run करने के लिये इन्हें किसी भी network connections की आवश्यकता नही होती. इन्हें सीधे interpreter के द्वारा run किया जाता है. ये program, HTML और other languages के साथ embedded नही होते है. आप भी कभी Java में लिखे stand-alone applications जैसे text editors व word processors का उपयोग करते होंगे।
Servlets:- ये एक Java class है जिसका उपयोग servers की capabilities को बढ़ाने या extend करने के लिये किया जाता है. हालांकि Servlets किसी भी type की request को respond कर सकते है, परन्तु आमतौर पर वे web server द्वारा host किये गए applications को extend करने के लिये use किये जाते है. इसके अलावा ये एक web component भी है जिसे dynamic web page बनाने के लिये server में deploy किया जाता है।

Java Program लिखने के लिए Java Editors

आपको Java program को लिखने के लिए Editors की जरुरत पड़ेगी और आप निचे दिए गए Editers का इस्तेमाल कर सकते हो
Notepad ++:- यह एक Editor है जिसमें आप आसानी से Code लिख सकते हैं। Error धुंडने में और Missing Bracket धुंडने में भी आसानी होती है।
Netbeans:- यह Java IDE एक open source और free है। जिसको आप इस लिंक से Download कर सकते हो http://www.netbeans.org/index.html
Eclipse:- यह भी Java IDE है जिसको Eclipse Open Source Community ने Develop किया है। आप इस link से Download करें http://www.eclipse.org

JAVA के लाभ

Simple:- जावा को अन्य प्रोग्रामिंग भाषाओं की तुलना में उपयोग करना, लिखना, संकलन, डीबग करना और सीखना आसान बनाया गया था। जावा C ++ की तुलना में बहुत सरल है क्योंकि जावा स्वचालित मेमोरी आवंटन और कचरा संग्रह का उपयोग करता है।
Object-Oriented:- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग क्लास, ऑब्जेक्ट, इनहेरिटेंस, इनकैप्सुलेशन, एब्सट्रैक्शन, पॉलीमॉर्फिज्म आदि जैसी अवधारणाओं से जुड़ा है, जो आपको मॉड्यूलर प्रोग्राम और पुन: प्रयोज्य कोड बनाने की अनुमति देता है। आप कक्षाओं की घोषणा कर सकते हैं, कक्षाओं के अंदर ऑब्जेक्ट बना सकते हैं, और दो वस्तुओं के बीच बातचीत कर सकते हैं।
Platform-Independent:- जावा किसी भी हार्डवेयर और सॉफ़्टवेयर प्लेटफ़ॉर्म और किसी भी जावा संगत ब्राउज़र पर एक बार लिखने का कार्यक्रम प्रदान करता है। यह एक कंप्यूटर सिस्टम से दूसरे में आसानी से जाने की क्षमता देता है।
Distributed:- जावा में महान नेटवर्किंग क्षमता है, यह वितरित कंप्यूटिंग को नेटवर्किंग क्षमता के साथ आसान बनाने के लिए डिज़ाइन किया गया है जो स्वाभाविक रूप से इसमें एकीकृत है।
Secure:- जावा सुरक्षा का एक अभिन्न अंग डिजाइन शामिल करने के लिए पहली प्रोग्रामिंग भाषा है। जावा के संकलक, दुभाषिया और रनटाइम वातावरण प्रत्येक सुरक्षा को ध्यान में रखते हुए विकसित किए गए थे। जावा वर्चुअल मशीन में एक विशिष्ट पहचानकर्ता होता है जो बाइटकोड की पहचान करता है और इसे चलाने से पहले इसकी पुष्टि करता है।
Allocation:- जावा में स्टैक आवंटन प्रणाली की विशेषता है। यह LIFO (लास्ट इन फर्स्ट आउट) का अनुसरण करता है जो डेटा को आसानी से संग्रहीत और पुनर्प्राप्त करने में मदद करता है।
Multithreaded:- जावा मल्टीथ्रेडिंग का समर्थन करने के लिए प्रोग्रामिंग भाषाओं में से एक है। मल्टीथ्रेडिंग एक प्रोग्राम के लिए एक प्रोग्राम के भीतर एक साथ कई कार्य करने की क्षमता है।
Rich APIs:- जावा अनुप्रयोग विकास के लिए विभिन्न एपीआई प्रदान करता है। जावा एपीआई (एप्लीकेशन प्रोग्रामिंग इंटरफेस) डेटाबेस कनेक्शन, नेटवर्किंग, आई / ओ, एक्सएमएल पार्सिंग, यूटिलिटीज और बहुत कुछ जैसे विभिन्न गतिविधियों के बीच कमांड या संचार के तरीकों का सेट है।
Powerful Opensource Rapid Development Tools:- साल के कई ओपन सोर्स डेवलपमेंट टूल्स यानी, ग्रहण और नेटबीन्स जैसे आईडीई को एक बेस के रूप में जावा के साथ बनाया गया है, जो एप्लिकेशन डेवलपमेंट के लिए जावा को अधिक शक्तिशाली बनाता है। आईडीई शक्तिशाली कोडिंग और डीबगिंग सुविधाओं के साथ अनुप्रयोग विकास को सरल बनाता है।
Robust:- जावा सबसे मजबूत प्रोग्रामिंग भाषाओं में से एक है, जो कि जावा अधिक विश्वसनीय है। जावा कंपाइलर कोडिंग में किसी भी त्रुटि का पता लगा सकते हैं। कुछ अन्य विशेषताएं भी हैं जैसे अपवाद हैंडलिंग और कचरा संग्रह जो जावा को अधिक मजबूत बनाता है।
Resource Availability:- जावा सीखने के लिए ऑनलाइन जावा प्रशिक्षण पाठ्यक्रम उपलब्ध हैं। जावा प्रोग्रामिंग सीखने के लिए आपको एक पैसा खर्च नहीं करना पड़ेगा।

JAVA के नुकसान

किसी भी प्रोग्रामिंग भाषा को सीखना या काम करना शुरू करने के लिए, आपको इसकी खूबियों और कमजोरियों को जानना चाहिए ताकि आप इसमें से सबसे अच्छी चीजों का उपयोग कर सकें और उन परिस्थितियों को पैदा करने से बच सकें जो भाषा के बुरे पक्ष को चित्रित करती हैं। जावा को कुछ कमियां भी मिली हैं जिन्हें आपको शुरू करने से पहले पता होना चाहिए। जावा का उपयोग करने के बारे में चर्चा करते हैं।
Java is slow and has a poor performance:- जावा मेमोरी-खपत और C या C++ जैसी देशी भाषाओं की तुलना में काफी धीमा है। यह C और C++ जैसी अन्य भाषाओं की तुलना में भी धीमा है क्योंकि प्रत्येक कोड को मशीन स्तर कोड की व्याख्या करनी होगी। यह धीमा प्रदर्शन JVM द्वारा संकलन और अमूर्त के अतिरिक्त स्तर के कारण है। इसके अलावा, कभी-कभी कचरा कलेक्टर जावा के खराब प्रदर्शन की ओर जाता है क्योंकि यह अधिक सीपीयू समय लेता है।
Java provides not so attractive look and feels of the GUI:- यद्यपि चित्रमय इंटरफ़ेस बनाने के लिए जावा में कई GUI बिल्डर हैं फिर भी वे जटिल UI बनाने के लिए उपयुक्त नहीं हैं। उनका उपयोग करते समय कई विसंगतियां हैं। GUI बनाने के लिए कई लोकप्रिय फ्रेमवर्क जैसे कि स्विंग, SWT, JavaFX, JSF हैं। लेकिन वे एक जटिल यूआई विकसित करने के लिए पर्याप्त परिपक्व नहीं हैं। उनमें से एक को चुनना जो आपके लिए उपयुक्त हो सकता है अतिरिक्त शोध की आवश्यकता हो सकती है।
Java provides no backup facility:- जावा मुख्य रूप से भंडारण पर काम करता है और डेटा के बैकअप पर केंद्रित नहीं है। यह एक बड़ी कमी है जो उपयोगकर्ताओं के बीच रुचि और रेटिंग खो देती है।
Java requires significant memory space:- जावा को C और C ++ जैसी अन्य भाषाओं की तुलना में महत्वपूर्ण या बड़ी मात्रा में मेमोरी स्पेस की आवश्यकता होती है। कचरा संग्रहण के निष्पादन के दौरान, मेमोरी दक्षता और सिस्टम के प्रदर्शन पर प्रतिकूल प्रभाव पड़ सकता है।
Verbose and Complex codes:- जावा कोड क्रिया हैं, जिसका अर्थ है कि इसमें कई शब्द हैं और कई लंबे और जटिल वाक्य हैं जिन्हें पढ़ना और समझना मुश्किल है। इससे कोड की पठनीयता कम हो सकती है। जावा अधिक प्रबंधनीय होने पर ध्यान केंद्रित करता है लेकिन साथ ही, इसे प्रत्येक चीज़ के लिए अत्यधिक जटिल कोड और लंबे स्पष्टीकरण के साथ समझौता करना पड़ता है।

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top