Saturday, April 8, 2023

Hardware and software requirement for Java programming जावा प्रोग्रामिंग हेतु हार्डवेयर एवं सॉफ्टवेयर आवश्यकता

जावा प्रोग्रामिंग सीखने या करने के लिए कुछ आवश्यक हार्डवेयर और सॉफ्टवेयर कॉन्फ़िगरेशन की आवश्यकता होती है। यह निर्भर करता है कि आप Java का कौन सा वर्जन इस्तेमाल कर रहे हैं। नीचे Java 8 के आधार पर आवश्यकताओं की जानकारी दी गई है:-

(a) Hardware Requirements हार्डवेयर आवश्यकता:-

Java 8 संस्करण के लिए निम्नलिखित हार्डवेयर की आवश्यकता होती है:
1️⃣ RAM रैम:  At least 128 MB कम से कम 128 एमबी


2️⃣ Disk Space डिस्क स्थान: 124 MB for JRE जेआरई के लिए 124 एमबी, 2 MB for Java Update जावा अपडेट के लिए 2 एमबी


3️⃣ Microprocessorमाइक्रोप्रोसेसर: Minimum Pentium II, 266 MHz न्यूनतम पेंटियम II, 266 मेगाहर्ट्ज

(b) Software Requirements सॉफ्टवेयर आवश्यकता:-

1️⃣ Operating System ऑपरेटिंग सिस्टम: Windows, Linux or other OS विंडोज़, लिनक्स आदि


2️⃣ Editor / IDEs संपादक / आईडीई: Notepad (Basic) नोटपैड (मूल), Eclipse, NetBeans (For beginners to professionals) एक्लिप्स, नेटबीन्स (शुरुआती से प्रोफेशनल तक)


3️⃣ Terminal or Command Line: Windows के लिए CMD और Linux के लिए Shell आदि


4️⃣ Java Development Kit (JDK): JDK एक जरूरी सॉफ्टवेयर टूल है जो Java प्रोग्राम्स को लिखने, कंपाइल करने और रन करने में उपयोग होता है। जावा डेवलपमेंट किट (JDK) यह एक सॉफ्टवेयर टूल है जो जावा प्रोग्राम बनाने और चलाने के लिए आवश्यक होता है।

Difference between C, C++ and Java सी, सी++ एवं जावा में अंतर

C, C++ and Java are all popular programming languages, but they have many differences in their structure, functioning and usage. Below are the important differences between these languages in a simple and comparative way:-

सी, सी++ और जावा तीनों लोकप्रिय प्रोग्रामिंग भाषाएँ हैं, लेकिन इनकी संरचना, कार्यप्रणाली और उपयोग में कई अंतर होते हैं। नीचे इन भाषाओं के बीच महत्वपूर्ण अंतरों को सरल और तुलनात्मक रूप से दर्शाया गया है:-


a) C language is based on B and BCPL languages. C++ is based on C, while Java is based on both C and C++.
सी लैंग्वेज, बी और बीसीपीएल पर आधारित है। सी++ सी पर आधारित है जबकि जावा, सी और सी++ दोनों पर आधारित है।

b) C is a procedural language, whereas C++ and Java are object-oriented languages.
सी एक प्रोसीजरल लैंग्वेज है जबकि सी++ और जावा ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज हैं।

c) C uses top-down approach, while C++ and Java use bottom-up approach.
सी टॉप-डाउन अप्रोच का उपयोग करती है जबकि सी++ और जावा बॉटम-अप अप्रोच का।

d) C and C++ codes are compiled and run directly, while Java code (byte code) runs using the JVM.
सी और सी++ का कोड सीधे निष्पादित होता है जबकि जावा का बाइट कोड JVM के माध्यम से चलता है।

e) File extensions: C uses .c , C++ uses .cpp , Java uses .java 

फाइल एक्सटेंशन: सी में .c , सी++ में .cpp , जावा में .java 

f) C and C++ are platform dependent. Java is platform independent due to bytecode and JVM.
सी और सी++ प्लेटफॉर्म पर निर्भर होती हैं, जबकि जावा प्लेटफॉर्म स्वतंत्र है।

g) C and C++ use only compiler, whereas Java uses both compiler and interpreter.
सी और सी++ में केवल कंपाइलर का उपयोग होता है, जबकि जावा में कंपाइलर और इंटरप्रेटर दोनों का।

h) C and C++ generate .exe files. Java generates .class files.
सी और सी++ .exe फाइल बनाते हैं, जबकि जावा .class फाइल।

i) C and C++ support goto, union, structure, and pointer. Java does not support them.
सी और सी++ में goto, union, structure, pointer का उपयोग होता है, लेकिन जावा इन्हें सपोर्ट नहीं करता।

j) C/C++ use preprocessor directives like #include, #define. Java uses package and import.
सी/सी++ में #include, #define जैसे प्रीप्रोसेसर डायरेक्टिव्स होते हैं जबकि जावा में package, import का उपयोग होता है।

k) C and C++ are used to create system programs, OS, device drivers. Java is used for web, mobile, and desktop applications.
सी और सी++ का प्रयोग सिस्टम प्रोग्राम, ऑपरेटिंग सिस्टम, ड्राइवर इत्यादि में होता है, जबकि जावा वेब, मोबाइल व डेस्कटॉप एप्लीकेशन में।

l) In C and C++, array must be declared with size. In Java, array can be declared without size (with new).
सी और सी++ में ऐरे को साइज़ के साथ घोषित करना जरूरी होता है जबकि जावा में साइज़ के बिना भी ऐरे डिक्लेयर किया जा सकता है।

m) C does not support exception handling. C++ and Java support exception handling using try-catch.
सी में एक्सेप्शन हैंडलिंग नहीं होती, जबकि सी++ और जावा try-catch से इसे सपोर्ट करते हैं।

Features of Java or Java Buzzwords जावा की विशेषताएं या विशेष गुण

Java is a simple, secure, and robust programming language. The features or "buzzwords" of Java make it one of the most popular choices for developers across the world.

जावा एक सरल, सुरक्षित और मजबूत प्रोग्रामिंग भाषा है। इसके विशेष गुणों (Buzzwords) के कारण यह दुनिया भर के डेवलपर्स की पहली पसंद बन चुकी है।


🔑 Key Features of Java जावा की मुख्य विशेषताएँ:-


✅ a) Simple (सरल)

Java is designed to be easy to learn. Its syntax is clean and based on C++, so those familiar with C or C++ can quickly grasp Java.

जावा को सीखना आसान है। इसका सिंटैक्स सी++ से मिलता-जुलता है, जिससे इसे समझना और कोड करना सरल होता है।


✅ b) Object-Oriented (ऑब्जेक्ट ओरिएंटेड)

Java follows Object-Oriented Programming (OOP) principles like Class, Object, Inheritance, Polymorphism, Abstraction, and Encapsulation. This helps in building modular and reusable code.

जावा पूरी तरह से ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पर आधारित है। इसमें ऑब्जेक्ट, क्लास, इनहेरिटेंस, पालीमॉर्फिज़्म आदि का प्रयोग किया जाता है जिससे सॉफ्टवेयर को मॉड्यूलर और दोबारा उपयोग योग्य बनाया जा सकता है।


✅ c) Portable (पोर्टेबल)

Java programs are portable. Once compiled, the bytecode can be transferred and run on any system with a JVM.

जावा में तैयार बाइटकोड को कहीं भी ले जाया और चलाया जा सकता है। बस उस सिस्टम में JVM होना चाहिए।


✅ d) Platform Independent (प्लेटफॉर्म स्वतंत्र)

Java follows "Write Once, Run Anywhere" because JVM runs the same bytecode on all platforms.

जावा का “Write Once, Run Anywhere” सिद्धांत इसे प्लेटफॉर्म से स्वतंत्र बनाता है। एक बार लिखा गया प्रोग्राम सभी प्लेटफॉर्म पर JVM के माध्यम से चलता है।


✅ e) Secure (सुरक्षित)

Java offers strong security features. It doesn’t use pointers and runs inside JVM, protecting the system from viruses and unauthorized access.

जावा सुरक्षित प्रोग्रामिंग प्रदान करता है। इसमें पॉइंटर का उपयोग नहीं होता और यह JVM के अंदर रन होता है जिससे वायरस और हानिकारक कोड से सुरक्षा मिलती है।


✅ f) Robust (मजबूत)

Java provides automatic memory management and error handling features like Garbage Collection and Exception Handling.

जावा की मजबूती का कारण है इसका शक्तिशाली मेमोरी प्रबंधन और त्रुटि नियंत्रण – जैसे गार्बेज कलेक्टर और एक्सेप्शन हैंडलिंग।


✅ g) Architecture-Neutral (आर्किटेक्चर से स्वतंत्र)

Java bytecode is not dependent on processor architecture or operating system.

जावा का बाइटकोड किसी विशेष हार्डवेयर आर्किटेक्चर पर निर्भर नहीं करता।


✅ h) Interpreted and Compiled (कंपाइल और इंटरप्रेटेड)

Java code is first compiled into bytecode and then interpreted by JVM at runtime using Just-In-Time (JIT) compiler.

जावा को पहले कंपाइल किया जाता है फिर JVM द्वारा इंटरप्रेट किया जाता है। इसका JIT कम्पाइलर इसे और तेज बनाता है।


✅ i) High Performance (उच्च प्रदर्शन)

Thanks to the JIT compiler and optimized bytecode, Java offers better performance than traditional interpreted languages.

जावा JIT कंपाइलर के कारण तेज गति से चलता है और बेहतर प्रदर्शन देता है।


✅ j) Multithreaded (मल्टीथ्रेडेड)

Java supports multithreading – allowing multiple tasks to run simultaneously. Example: checking grammar while typing in MS Word.

जावा में मल्टीथ्रेडिंग सपोर्ट होता है – जिससे एक साथ कई कार्य किए जा सकते हैं।


✅ k) Distributed (डिस्ट्रिब्यूटेड)

Java allows the creation of distributed applications (e.g. RMI, EJB), which can be used over networks like the Internet.

जावा नेटवर्किंग और डिस्ट्रिब्यूटेड एप्लिकेशन (जैसे RMI, EJB) को सपोर्ट करता है जिससे इंटरनेट पर डेटा शेयर करना संभव होता है।


✅ l) Dynamic (डायनामिक)

Java supports dynamic loading of classes and dynamic memory allocation during program execution.

जावा रन टाइम पर क्लासेस को लोड करने और मेमोरी अलोकेट करने की सुविधा प्रदान करता है।


📌 Summary Table

Feature Explanation (English + Hindi)
Simple Easy to understand and learn (समझने और सीखने में आसान)
Object-Oriented Based on OOP concepts (OOP के सिद्धांतों पर आधारित)
Portable Bytecode can run anywhere (बाइटकोड को कहीं भी रन किया जा सकता है)
Platform-Independent Write once, run anywhere (एक बार लिखो, कहीं भी चलाओ)
Secure Virus-free, pointer-less (वायरस मुक्त, बिना पॉइंटर के)
Robust Error handling and memory management (त्रुटि प्रबंधन और मेमोरी कंट्रोल)
Architecture-Neutral Not tied to any system architecture (किसी आर्किटेक्चर पर निर्भर नहीं)
Interpreted + Compiled Compiled then interpreted (पहले कंपाइल, फिर इंटरप्रेट)
High Performance Fast execution (तेज निष्पादन)
Multithreaded Multiple tasks simultaneously (एक साथ कई कार्य)
Distributed Network-based apps supported (नेटवर्क पर आधारित एप्लीकेशन)
Dynamic Load classes at runtime (रन टाइम पर क्लासेस लोड करना)

📚 Other Stream Classes in Java जावा में अन्य स्ट्रीम क्लासेस

In Java, apart from basic byte and character streams, there are several specialized stream classes that provide advanced input-output operat...