Features of Java Language

Features of Java Language: Java केवल एक Programming Language ही नहीं है बल्कि ये एक Platform भी है। जब Sun Microsystems ने November 1995 में Java को दुनिया से परिचित करवाया तब Company के Co-Founder Bill Joy ने Java की निम्न परिभाषा दी थी कि

Java एक Small, Simple, Safe, Object-Oriented, Interpreted या Dynamically Optimized, Byte-Coded, Architecture-Neutral, Garbage-Collected, Multithreaded Programming Language है जिसमें Distributed, Dynamically Extensible Programs लिखने के लिए एक Strongly Typed Exception-Handling Mechanism है। जावा के इन्हीं गुणों को जावा के Features भी कहते हैं।

Small and Simple

Java एक छोटी और सरल भाषा है जिसे आसानी से सीखा जा सकता है। जावा को इस तरह से Design किया गया है कि इसे कोई भी Programmer आसानी से सीख सके और Computer Programming के Internal Functionality को जाने बिना भी ज्यादा से ज्यादा Efficient Program Develop कर सके।

यदि किसी Programmer को किसी भी Programming Language का थोडा भी ज्ञान है, तो वह बहुत ही आसानी से व जल्दी से Window Based ApplicationInternet Based Distributed Application (Applets) Develop करना सीख सकता है।

जब जावा को पहली बार Release किया गया था, तब वह काफी छोटी भाषा थी। लेकिन आज ये काफी बडी भाषा बन चुकी है और सभी प्रकार के Applications को Efficiently Develop करने में सक्षम है। ये Language C/C++, Simula, Ada जैसी कई अन्य Languages से प्रेरित है, लेकिन इसकी ज्यादातर Coding C++ Language के समान ही है।

इसलिए किसी C/C++ Programmer को जावा सीखने में कोई कठिनाई नहीं होती है। इस Language में C व C++ के अच्छे Features को Use कर लिया गया है जबकि इन Languages के Confusing तथा Typical Features को छोड कर उनके स्थान पर अधिक सरल Concepts को Include कर लिया गया है। जैसे C++ के Operator OverloadingPointer जैसे Concepts को जावा में छोड दिया गया है, जबकि Multithreading जैसी Advance Technique को Add कर लिया गया है।

Object Oriented

Java में हर चीज ObjectClass के रूप में परिभाषित है, जिसे Object Oriented Programming System कहा जाता है। OOPS हमें Abstraction and Encapsulation, Polymorphism और Inheritance जैसे Features प्रदान करता है, जिससे हम एक समस्या को उसी तरह से Computer में Logically Organize कर सकते हैं, जिस तरह से समस्या Real World में Actually या Physically Organized रहती है। जावा में बहुत सारी जरूरी Classes पहले से ही Packages के Form में हमें प्राप्त होती है, जिन्हें बिना Rewrite किए हम ज्यों का त्यों Use कर सकते हैं।

Distributed

Java के Programs Network पर यानी Web पर भी Execute होते हैं। इसलिए इसे Distributed Language कहा जाता है। Distribution का मतलब ये होता है कि Java के Program किसी भी Platform पर Run हो सकते हैं। हम जानते हैं कि आज कई तरह के Operating Systems उपलब्ध हैं और अलग-अलग लोग अपनी जरूरत व इच्छा के अनुसार अलग-अलग Operating Systems का प्रयोग करते हैं। कोई Windows Operating System Use करता है तो कोई Linux तो कोई MacOS या OS/2 Use करता है। ये सभी अलग-अलग Platform कहलाते हैं।

यदि हम Windows Based Computer पर कोई Program “C” या Visual Basic जैसी भाषा में Create करते हैं, तो वे Program उन सभी Computers पर आसानी से Run होते हैं जो Windows को Use करते हैं। लेकिन यदि इन्हीं Programs को Linux या MacOS पर Execute करने की कोशिश की जाए तो ये Program उस Operating System पर Execute नहीं होते। इन Platforms के लिए Program को वापस इन्हीं Platform वाले Computers पर Compile करना पडता है।

जबकि Java के साथ ऐसा नहीं है। जावा में हम किसी भी Platform पर Program Create करके Compile करें, वे Program सभी अन्य Platforms पर समान रूप से Execute होते हैं। यानी Java के Programs को विभिन्न Platforms पर Distribute किया जा सकता है। इसलिए Java को Distributed Language कहा जाता है।

जावा को इस प्रकार से Design किया गया है कि हम इसमें ऐसे Applications Develop कर सकें, जो Internet पर चल सके। इस Language में ये Ability है कि ये Data व Program दोनों को Internet पर विभिन्न Computers पर Share कर सकता है।

जावा Applications Remote Objects को भी उतनी ही आसानी से Access कर व Open कर सकते हैं, जितनी आसानी से वे Local Computer के Objects को Open व Access करते हैं। जावा ऐसी Networking की सुविधा प्रदान करता है कि विभिन्न Remote Locations पर स्थित विभिन्न Programmers एक ही Single Project पर समान समय पर एक साथ काम कर सकते हैं।

Compiled and Interpreted

ज्यादातर अन्य Languages के Programs या तो Compile होते हैं या फिर Interpreted होते हैं। लेकिन Java के Programs Compile भी होते हैं और Interpreted भी। Java के Programs को सबसे पहले Compile किया जाता है। Java के Program Compile होने के बाद सीधे ही Machine Language में Convert नहीं होते हैं, बल्कि ये Source Code व Machine Code के बीच की स्थिति में Convert होते हैं जिसे Bytecodes कहा जाता है। इन Bytecodes को जब किसी भी Platform पर Run करना होता है तब ये Bytecodes उस Computer के Platform में अनुसार Interpreted हो कर पूरी तरह से उस Machine के अनुसार Machine Code में Convert होते हैं और उस Platform पर Execute हो सकते हैं।

Robust and Safe

Java के Programs में Errors आने की सम्भावना अन्य Languages की तुलना में बिल्कुल कम होती है। इसलिए Java के Programs को Robust कहा जाता है। इसके Compiler में विभिन्न प्रकार से Generate होने वाली Errors को Handle करने के लिए कई Built-In तरीके Develop कर दिए गए है और जावा को इस तरह से Design किया गया है, कि एक बार सही तरीके से Compiled Program में कभी भी Error आने की सम्भावना नहीं रहती है। जितनी भी Errors आनी होती हैं, वे सभी Program Development व Testing के समय ही आ जाती हैं, जिन्हें Handle कर लिया जाता है।

इसमें Compile Time व Runtime दोनों स्थानों पर विभिन्न प्रकार के Errors के लिए विभिन्न Data Types की Checking होती है। विभिन्न प्रकार के Objects द्वारा ली जाने वाली Memory को ये स्वयं ही Release कर देता है, जिससे हमें इस बात की चिन्ता करने की जरूरत नहीं होती है, कि हमने सभी Unrequited Objects को Destroy करके उनकी Memory को Release किया या नहीं।

जावा में Exception Handling के लिए भी सुविधा प्रदान की गई है, जिसका प्रयोग हम Serious Errors को Trap करने व उन्हें Solve करने के लिए कर सकते हैं, जिससे हमारे Program की और सुरक्षा हो जाती है। जब हम Internet की बात करते हैं, तब Security काफी मायना रखती है। जावा स्वयं ही विभिन्न प्रकार के Memory Management व Memory Access से सम्बंधित काम करता है, इसलिए ये कभी भी Memory व उसमें Stored Data को गलत तरीके से Access करने की छूट नहीं देता है। इस वजह से Applet द्वारा किसी Computer में Virus आने की सम्भावना ही नहीं होती है।

क्योंकि जावा में Pointers की सुविधा नहीं है जो Directly Memory को Access कर सके, इसलिए हम किसी भी Computer की Memory को Directly Access नहीं कर सकते हैं। साथ ही जावा Applets कभी किसी Client Computer के Resources को Access नहीं करते हैं, इसलिए जावा Applets कभी भी Clients के Computer या उसके Data को नुकसान नहीं पहुंचा सकते हैं।

Architecture Neutral / Platform Independent / Portable / Byte Coded

Java के Bytecodes विभिन्न प्रकार के Processors व Operating Systems पर समान रूप से Run हो सकते हैं। इसलिए इसे Architecture Neutral or Portable कहा जाता है। जावा के Programs को केवल एक ही बार Develop करना होता है। एक बार इसे Develop करने के बाद इसे किसी भी Computer पर किसी भी Platform पर Run किया जा सकता है।

यदि Operating System, System Resources या Processor में Change किया जाता है, तब भी हमें जावा के Program में किसी प्रकार का Change करने की जरूरत नहीं होती है। यही जावा के सबसे ज्यादा Popular होने की मुख्‍य वजह है, जिससे हम जावा का प्रयोग Internet Programming के लिए करके World Wide Web पर Run होने वाले Applications Develop करते हैं और विभिन्न Computers को आपस में Interconnected करते हुए World Wide Web पर काम करने के लिए ऐसे Programs को Use करते हैं।

हम जावा Applet को Remote Computer से Download कर सकते हैं और फिर उसे अपने Computer पर Run कर सकते हैं। इस प्रकार की सुविधा होने से एक User को उसके घर पर ही विभिन्न प्रकार के Applications व Applets प्राप्त हो जाते हैं, जिन्हें वह Use करना चाहता है।

जावा दो तरीकों से Portable होता हैः एक तो जावा Compiler Byte Codes Instructions Generate करता है, जिसे किसी भी Computer पर Implement किया जा सकता है और दूसरा जावा के Primitive या Basic Data Types Machine पर निर्भर नहीं होते हैं बल्कि जावा Platform पर निर्भर होते हैं। यानी किसी भी Compute पर जावा के सभी Data Types की Size समान होती है, चाहे हम Pentium Computer पर जावा Program को Use करें, चाहे AMD पर।

Garbage Collective

Java एक Programmer को Memory Manage करने की सुविधा प्रदान नहीं करता है बल्कि जरूरत के अनुसार स्वयं ही Memory Management करता है। इसलिए Programmer द्वारा Memory Management के समय किसी दूसरे Data को नुकसान पहुंचाने की सम्भावना नहीं होती है। इसलिए ये Language “C” व “C++” जैसी भाषाओं की तुलना में अधिक सुरक्षित या Secure Language है।

High Performance

Java के Program Interpreted Mode में Run होते हैं लेकिन फिर भी अन्य Interpreted Based Languages की तुलना में Java की Speed व Performance बहुत अच्छी होती है। इसलिए इसे High Performance Language कहा जाता है।

Multithreaded and Interactive

Java ये सुविधा प्रदान करता है कि एक ही Software Program के विभिन्न भागों को एक ही समय में एक साथ Run किया जा सकता है। इसलिए इसे Multithreaded Programming Language कहा जाता है। उदाहरण के लिए मानलो कि हम किसी Program से Audio Sound तो सुन ही रहे हैं, साथ ही उसी Program में Scroll Bars को भी Use कर रहे हैं। किसी Window में एक तरफ कोई Movie Clip तो Play हो ही रहा है, साथ ही हम किसी अन्य Movie Clip को Open करने के लिए Open Dialog Box में किसी दुसरी Movie Clip को भी खोज रहे हैं। इस तरह से एक ही Program के विभिन्न हिस्सों का एक ही समय में एक साथ Run होना Multithreaded Concept के कारण ही सम्भव होता है।

Dynamic and Extensible

Java में एक ही Program के कई Versions को एक साथ Maintain किया जा सकता है। इसलिए इसे Dynamic Language भी कहा जाता है। यानी जावा एक Dynamic Language है। जावा में किसी Program के लिए Required Classes जावा के Program के Run होते समय उसमें Link हो सकती है और जैसे ही उस Class का काम समाप्त होता है, वह Class स्वयं ही Memory से Release हो जाती है। इस प्रक्रिया को Dynamic Process कहा जाता है।

जावा एक Query द्वारा ये भी Determine कर सकता है कि Program के Run Time में उससे कौनसी Class Link हो रही है। साथ ही वह Program के Run Time में भी किसी भी Dynamic Class या Dynamic Link Library से Link हो सकता है और Run Time सुविधाओं को प्राप्त कर सकता है। इस प्रक्रिया को Dynamic Linking भी कहते हैं।

जावा हमें अन्य Languages के Methods को भी जावा में Use करने की सुविधा प्रदान करता है। इन Methods को Native Methods कहते हैं और ये Program के Run Time में Dynamically Link हो कर अपना काम करते हैं। यानी हम जावा में अन्य Languages की सुविधाओं को Use करके जावा के Program की क्षमताओं को बढा सकते हैं या Extend कर सकते हैं। इसी प्रक्रिया को जावा की Extensibility कहते हैं।

Java के Programs कई प्रकार के होते हैं :

  • Applications – ये ऐसे Programs होते हैं जिन्हें Execute होने के लिए किसी Browser की जरूरत नहीं होती है। ये Stand Alone होते हैं और किसी भी Computer पर Run हो सकते हैं। इन्हें Command Prompt पर Run किया जा सकता है।
  • Applets – ये ऐसे Programs होते हैं जिन्हें Run होने के लिए Browser की जरूरत होती है। ये Programs Web Pages पर Run होते हैं। एक Applet Program कभी भी किसी Local Machine के Resources को Access नहीं करता है।
  • Servlet – ये Programs Web Servers की Functionality को बढाने के लिए लिखे जाते हैं। इनका कोई GUI नहीं होता है।
  • Packages – ये Java की Classes का एक Collection होता है जिसे किसी भी अन्य Java Program में आसानी से Reuse किया जा सकता है।

Object Oriented Programming System, Programming करने का एक असाधारण लेकिन बहुत ही Powerful तरीका है। OOP में एक Computer Program को Objects के एक ऐसे Group के रूप में परिभाषित किया जाता है जिसमें सभी Objects आपस में Interact कर सकते हैं। यानी सभी Objects अपनी सूचनाओं का एक दूसरे के बीच Transaction कर सकते हैं।

OOPS में दुनिया की हर चीज को Object माना जाता है। मानलो कि एक Worker Object, Money Object को CompanyFunds Object से लेता है और अपने स्वयं के BankAccount Object में जमा करवाता है। यदि दूसरा कोई Worker Object DoublecheckFund Object को Use करता है तो Polish Object को बुलाया जाता है।

Java Program की सबसे बडी यदि कोई विशेषता है, तो वह ये है कि Java के Program को World Wide Web Pages पर Execute किया जा सकता है। इन Programs को Applets कहते हैं। Java से पहले HTML Format में ही विभिन्न Web Pages को लिखा जाता था। ये Web Pages ऐसे होते थे, जिसमें जिस Page को देखना हो उसके Hyperlink पर Click करो और दूसरा Page देखना है तो उसके Hyperlink पर Click करो और आगे से आगे बढते जाओ।

जबकि Java Applet जो कि Web Pages पर Run होते हैं, अधिक अच्छा अनुभव प्रदान करता है। इसमें User के Response के अनुसार Web Page Dynamically Update होता है। जैसे आज हम कई TV Channel पर देखते हैं जहां कोई सवाल पूछा जाता है और लोग SMS भेज कर अपना पक्ष बताते हैं। जैसे – जैसे लोग SMS भेजते रहते हैं, SMS की संख्‍या भी बदलती रहती है। ये काम Dynamically होता है जो कि Java के कारण ही सम्भव हुआ है।

आज User Internet पर उपलब्ध विभिन्न प्रकार के Web Pages से Java के कारण ही Interact कर सकता है। यदि इसका उदाहरण लेना चाहें, तो Share Market का सारा काम Online होता है। User जब चाहे अपने Account की Information को प्राप्त कर सकता है। यदि वह किसी Company का Share खरीदना चाहता है, तो वह Online खरीद सकता है। जैसे ही वह Share खरीदता है, उस Company के Buyers की संख्‍या बढ जाती है।

इसी तरह से यदि Share को बेचा जाता है, तो Company के Sellers की संख्‍या बढ जाती है। ये जो परिवर्तन Web Pages के Data में होता है, वह Dynamic परिवर्तन कहलाता है। यानी Web Page Dynamically या Run Time में User के Interaction से Update होता है। इस प्रकार की Dynamic व Online सुविधा हमें Java के कारण ही प्राप्त हो पा रही है।

हालांकि Web Based Programs की वजह से Java अधिक महत्वपूर्ण लगती है लेकिन ये एक General Purpose Language भी है जिसका प्रयोग सभी तरह के Programs को Develop करने में होता है। आज हम Mobile के जितने भी Software देखते हैं उनमें से ज्यादातर Java Based हैं। Mobile में जो Games Run होते हैं वे ज्यादातर Java में Develop किए जाते हैं। (Features of Java Language)

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW GET DEMO REVIEWS