i3 Full Form in Hindi




i3 Full Form in Hindi - i3 की पूरी जानकारी?

i3 Full Form in Hindi, i3 Kya Hota Hai, i3 का क्या Use होता है, i3 का Full Form क्या हैं, i3 का फुल फॉर्म क्या है, Full Form of i3 in Hindi, i3 किसे कहते है, i3 का फुल फॉर्म इन हिंदी, i3 का पूरा नाम और हिंदी में क्या अर्थ होता है, i3 की शुरुआत कैसे हुई, दोस्तों क्या आपको पता है i3 की Full Form क्या है और i3 होता क्या है, अगर आपका answer नहीं है, तो आपको उदास होने की कोई जरुरत नहीं है, क्योंकि आज हम इस पोस्ट में आपको i3 की पूरी जानकारी हिंदी भाषा में देने जा रहे है. तो फ्रेंड्स i3 Full Form in Hindi में और i3 की पूरी इतिहास जानने के लिए इस पोस्ट को लास्ट तक पढ़े.

i3 Full form in Hindi

i3 की फुल फॉर्म “Interface source (Modula-3)” होती है. i3 को हिंदी में “इंटरफ़ेस स्रोत (मॉड्यूला -3)” कहते है.

मोडुला -3 एक प्रोग्रामिंग भाषा है जिसे मोडुला -2 के उन्नत संस्करण के उत्तराधिकारी के रूप में माना जाता है जिसे मोडुला -2+ के नाम से जाना जाता है. हालांकि यह अनुसंधान मंडलियों में प्रभावशाली रहा है (जावा, सी #, और पायथन जैसी भाषाओं के डिजाइन को प्रभावित करता है) इसे उद्योग में व्यापक रूप से अपनाया नहीं गया है. यह लुका कार्डेली, जेम्स डोनह्यू, ल्यूसिल ग्लासमैन, मिक जॉर्डन (ओलिवेटी सॉफ्टवेयर टेक्नोलॉजी लेबोरेटरी से पहले), बिल कलसो और ग्रेग नेल्सन द्वारा डिजिटल उपकरण निगम (डीईसी) सिस्टम्स रिसर्च सेंटर (एसआरसी) और ओलिवेटी रिसर्च सेंटर द्वारा डिजाइन किया गया था. ओआरसी) 1980 के दशक के अंत में. सिस्टम-प्रोग्रामिंग भाषा की शक्ति को संरक्षित करते हुए मोडुला -3 की मुख्य विशेषताएं सादगी और सुरक्षा हैं. मोडुला -3 का उद्देश्य व्यावहारिक वास्तविक दुनिया प्रोग्रामिंग के लिए नए निर्माणों को पेश करते हुए टाइप सुरक्षा की पास्कल परंपरा को जारी रखना है. विशेष रूप से मोडुला -3 ने जेनेरिक प्रोग्रामिंग (टेम्पलेट्स के समान), मल्टीथ्रेडिंग, अपवाद हैंडलिंग, कचरा संग्रह, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग, आंशिक रहस्योद्घाटन [आगे स्पष्टीकरण की आवश्यकता], और असुरक्षित कोड के स्पष्ट अंकन के लिए समर्थन जोड़ा. मोडुला -3 का डिज़ाइन लक्ष्य एक ऐसी भाषा थी जो आधुनिक अनिवार्य प्रोग्रामिंग भाषाओं की सबसे महत्वपूर्ण विशेषताओं को काफी बुनियादी रूपों में लागू करती है. इस प्रकार कथित रूप से खतरनाक और जटिल सुविधाओं जैसे कि एकाधिक वंशानुक्रम और ऑपरेटर ओवरलोडिंग को छोड़ दिया गया था.

What Is i3 In Hindi

मान लीजिए कि आप लिनॉक्स के लिए एक बड़ा, जटिल एप्लिकेशन विकसित करना चाहते हैं. एप्लिकेशन मल्टीप्रोसेस होने जा रहा है, शायद वितरित किया जा रहा है, और निश्चित रूप से एक जीयूआई होना चाहिए. आप इस एप्लिकेशन को काफी तेज़ी से बनाना चाहते हैं, और आप चाहते हैं कि यह अपेक्षाकृत बग मुक्त हो. पहला सवाल जो आप खुद से पूछ सकते हैं, वह यह है कि "मुझे किस प्रोग्रामिंग भाषा और परिवेश का उपयोग करना चाहिए?" सी एक अच्छा विकल्प हो सकता है, लेकिन शायद इस परियोजना के लिए नहीं. यह उतना अच्छा नहीं है जितना आप चाहते हैं, और सी के लिए मल्टीप्रोसेस/वितरित प्रोग्रामिंग करने के लिए उपकरण बस वहां नहीं हैं. आप सी ++ पर विचार कर सकते हैं, लेकिन भाषा काफी जटिल है. साथ ही, आपने और अन्य लोगों ने पिछले अनुभव से पता लगाया है कि सूक्ष्म स्मृति प्रबंधन समस्याओं को डीबग करने में काफी समय लगता है.

एक विकल्प है, डिजिटल उपकरण निगम के सिस्टम रिसर्च सेंटर (एसआरसी) से मोडुला -3 प्रोग्रामिंग सिस्टम. मोडुला -3 एक आधुनिक, मॉड्यूलर, वस्तु-उन्मुख भाषा है. भाषा में कचरा संग्रहण, अपवाद हैंडलिंग, रन-टाइम टाइपिंग, जेनरिक और मल्टीथ्रेडेड अनुप्रयोगों के लिए समर्थन शामिल है. इस भाषा के SRC कार्यान्वयन में एक देशी-कोड संकलक है; एक वृद्धिशील, पीढ़ीगत, रूढ़िवादी, बहुप्रचारित कचरा संग्रहकर्ता (वाह!); एक न्यूनतम पुनर्संकलन प्रणाली; एक डिबगर; पुस्तकालयों का एक समृद्ध समूह; वितरित अनुप्रयोगों के निर्माण के लिए समर्थन; एक वितरित वस्तु-उन्मुख स्क्रिप्टिंग भाषा; और, अंत में, वितरित अनुप्रयोगों के लिए एक ग्राफिकल यूजर इंटरफेस बिल्डर. संक्षेप में, ऊपर उल्लिखित आवेदन के प्रकार के लिए आदर्श वातावरण. इसके अलावा, सिस्टम स्रोत के रूप में स्वतंत्र रूप से उपलब्ध है, और पूर्व-निर्मित लिनक्स बायनेरिज़ भी उपलब्ध हैं.

इस लेख का शेष भाग भाषा की प्रासंगिक विशेषताओं को स्पर्श करेगा और पुस्तकालयों और उपकरणों का एक सिंहावलोकन प्रदान करेगा.

मॉड्यूल -3 भाषा की मूल बातें ?

मोडुला -3 भाषा के लिए प्रमुख लक्ष्यों में से एक सरल और बोधगम्य होना था, फिर भी बड़े, मजबूत, लंबे समय तक चलने वाले अनुप्रयोगों और प्रणालियों के निर्माण के लिए उपयुक्त था. भाषा डिजाइन प्रक्रिया समेकन में से एक थी न कि नवाचार; यानी, लक्ष्य कई अलग-अलग भाषाओं के विचारों को समेकित करना था, ऐसे विचार जो बड़ी परिष्कृत प्रणालियों के निर्माण के लिए उपयोगी साबित हुए थे.

मोडुला-3 . की विशेषताएं

आप मोडुला -3 को पास्कल से शुरू करने और इसे वास्तविक सिस्टम विकास के लिए उपयुक्त बनाने के लिए फिर से आविष्कार करने के बारे में सोच सकते हैं. पास्कल जैसे आधार से शुरू होकर, सुविधाओं को एकीकृत किया गया था जिन्हें वास्तविक अनुप्रयोगों को लिखने के लिए आवश्यक समझा गया था. ये विशेषताएं मोटे तौर पर दो क्षेत्रों में आती हैं: वे जो बड़ी प्रणालियों की संरचना के लिए भाषा को अधिक उपयुक्त बनाती हैं, और वे जो "मशीन-स्तरीय" प्रोग्रामिंग करना संभव बनाती हैं. वास्तविक अनुप्रयोगों को इन दोनों की आवश्यकता होती है.

बड़े सिस्टम विकास का समर्थन करना मोडुला -3 में कई विशेषताएं हैं जो बड़ी प्रणालियों की संरचना का समर्थन करती हैं. सबसे पहले इंटरफ़ेस को कार्यान्वयन से अलग करना है. यह सिस्टम के विकास की अनुमति देता है क्योंकि कार्यान्वयन उन इंटरफेस के ग्राहकों को प्रभावित किए बिना विकसित होते हैं; कोई भी इस बात पर निर्भर नहीं है कि आप किसी चीज़ को कैसे लागू करते हैं, केवल वही जो आप लागू करते हैं. जब तक जो स्थिर रहता है, वह जितना आवश्यक हो उतना कैसे बदल सकता है.

दूसरे, यह एक साधारण एकल-विरासत वस्तु प्रणाली प्रदान करता है. मल्टीपल इनहेरिटेंस (MI) के लिए उचित मॉडल क्या है, इस पर काफी विवाद है. मैंने ऐसे सिस्टम बनाए हैं जो बहु-विरासत का व्यापक रूप से उपयोग करते हैं और एमआई का समर्थन करने वाली भाषा के लिए प्रोग्रामिंग वातावरण लागू किया है. अनुभव ने मुझे सिखाया है कि एमआई एक भाषा को काफी जटिल कर सकता है (दोनों अवधारणात्मक और कार्यान्वयन के मामले में) और अनुप्रयोगों को भी जटिल कर सकता है.

मोडुला -3 में किसी वस्तु की विशेष रूप से सरल परिभाषा है. मोडुला -3 में, ऑब्जेक्ट संबंधित विधि सूट के साथ हीप पर एक रिकॉर्ड है. ऑब्जेक्ट के डेटा फ़ील्ड राज्य को परिभाषित करते हैं और मेथड सूट व्यवहार को परिभाषित करता है. मोडुला -3 भाषा किसी ऑब्जेक्ट की स्थिति को एक कार्यान्वयन मॉड्यूल में छिपाने की अनुमति देती है जिसमें केवल इंटरफ़ेस में दिखाई देने वाला व्यवहार होता है. यह सी ++ से अलग है जहां एक वर्ग परिभाषा सदस्य डेटा और सदस्य फ़ंक्शन दोनों को सूचीबद्ध करती है. सी ++ मॉडल से पता चलता है कि पूरी दुनिया के लिए अनिवार्य रूप से निजी जानकारी (अर्थात् राज्य) क्या है. मोडुला -3 वस्तुओं के साथ, जो निजी होना चाहिए वह वास्तव में निजी हो सकता है.

मोडुला-3 में सबसे महत्वपूर्ण विशेषताओं में से एक कचरा संग्रहण है. कचरा संग्रह वास्तव में मजबूत, लंबे समय तक चलने वाले सिस्टम को सक्षम बनाता है. कचरा संग्रह के बिना, आपको सम्मेलनों को परिभाषित करने की आवश्यकता है कि किसके पास भंडारण का एक टुकड़ा है. उदाहरण के लिए, यदि मैं आपको एक संरचना के लिए एक सूचक देता हूं, तो क्या आपको उस सूचक को कहीं स्टोर करने की अनुमति है? यदि हां, तो भविष्य में संरचना का आवंटन रद्द करने के लिए कौन जिम्मेदार है? तुम या मैं? प्रोग्रामर इस तरह के सम्मेलनों को अपनाते हैं क्योंकि यह निर्धारित करने के लिए संदर्भ गणना के स्पष्ट उपयोग के रूप में भंडारण को रद्द करना सुरक्षित है. दुर्भाग्य से, प्रोग्रामर निम्नलिखित सम्मेलनों के बारे में बहुत अच्छे नहीं हैं. शुद्ध परिणाम यह है कि प्रोग्राम स्टोरेज लीक विकसित करते हैं या स्टोरेज का एक ही टुकड़ा गलती से दो के लिए उपयोग किया जाता है.

पुस्तकालय

एक अच्छी, सरल वस्तु-उन्मुख भाषा एक अच्छा प्रारंभिक बिंदु बनाती है, लेकिन यह अपने आप में शायद एक नई भाषा पर विचार करने के लिए पर्याप्त प्रेरणा प्रदान नहीं करती है. वास्तविक उत्पादकता तब आती है जब अच्छी पुन: प्रयोज्य पुस्तकालय हों. यह एसआरसी मोडुला -3 प्रणाली की वास्तविक ताकतों में से एक है. यह "औद्योगिक ताकत" पुस्तकालयों का एक बड़ा सेट प्रदान करता है. इनमें से अधिकांश पुस्तकालय कई वर्षों के उपयोग और शोधन का परिणाम हैं. वे अधिकांश व्यावसायिक रूप से उपलब्ध पुस्तकालयों की तुलना में अच्छी तरह से या बेहतर-दस्तावेज हैं.

Libm3

Libm3 मोडुला -3 के लिए वर्कहॉर्स लाइब्रेरी है. यह libc (मानक सी पुस्तकालय) के बराबर मॉड्यूल -3 है, लेकिन यह काफी समृद्ध है.

Libm3 I/O के लिए सार प्रकारों के एक सेट को परिभाषित करता है; इन्हें "पाठक" और "लेखक" कहा जाता है. पाठक और लेखक "धाराओं" को लिखने के लिए एक सार इंटरफ़ेस प्रस्तुत करते हैं. स्ट्रीम बफ़र किए गए इनपुट और आउटपुट का प्रतिनिधित्व करते हैं. Stdin, stdout, और stderr उन धाराओं का प्रतिनिधित्व करते हैं जो अधिकांश प्रोग्रामर से परिचित हैं. स्ट्रीम पैकेज को नए प्रकार की स्ट्रीम जोड़ना आसान बनाने के लिए डिज़ाइन किया गया था.

मानक I/O स्ट्रीम के अलावा, कोई फ़ाइल स्ट्रीम और टेक्स्ट स्ट्रीम (यानी, वर्ण स्ट्रिंग पर स्ट्रीम) खोल सकता है. असंबद्ध I/O के लिए अमूर्तता का एक सेट भी है. फ़ाइल प्रकार के अलावा, टर्मिनल और पाइप हैं. Fmt इंटरफ़ेस C के प्रिंटफ़ का टाइप-सुरक्षित संस्करण प्रदान करता है. सी प्रोग्राम में त्रुटियों का एक बड़ा स्रोत एक प्रकार के डेटा को एक प्रिंटफ में भेज रहा है, लेकिन इसे एक अलग प्रकार के डेटा के रूप में प्रारूपित करने का प्रयास कर रहा है. Fmt इंटरफ़ेस को प्रिंटफ के लचीलेपन के लिए डिज़ाइन किया गया था, लेकिन इसकी समस्याओं को पेश किए बिना.

Libm3 सामान्य इंटरफेस के रूप में "कंटेनर" प्रकारों के एक साधारण सेट को भी परिभाषित करता है. मूल कंटेनर प्रकारों में टेबल, सूचियां और अनुक्रम शामिल हैं. एक तालिका एक सहयोगी अनुक्रमित सरणी है. सूची प्रकार परिचित "लिस्प" शैली सूची है. एक अनुक्रम एक पूर्णांक (कार्डिनल, वास्तव में) संबोधित सरणी है जो आकार में बढ़ सकता है.

अंत में, Libm3 अचार नामक एक सरल दृढ़ता तंत्र प्रदान करता है. जटिल डेटा संरचनाओं को कुछ डिस्क प्रारूप में बदलने के लिए कोड लिखना थकाऊ और त्रुटि प्रवण है. कई प्रोग्रामर इसे तब तक नहीं करते जब तक कि उन्हें बिल्कुल नहीं करना पड़े. अचार पैकेज के साथ, अब आपको इस प्रकार का कोड लिखने की आवश्यकता नहीं है. चूंकि रनटाइम मेमोरी में प्रत्येक ऑब्जेक्ट के लेआउट को जानता है, यह इस जानकारी का उपयोग संरचनाओं के एक सेट पर चलने और उन्हें पढ़ने या स्ट्रीम में लिखने के लिए कर सकता है. किसी स्ट्रीम में ऑब्जेक्ट लिखने के लिए प्रोग्रामर को ऑब्जेक्ट-विशिष्ट कोड लिखने की आवश्यकता नहीं होती है, हालांकि यदि बेहतर प्रतिनिधित्व ज्ञात हो तो वह कर सकता है. उदाहरण के लिए, हैश तालिका का प्रोग्रामर व्यक्तिगत प्रविष्टियों को लिखना चुन सकता है यदि तालिका एक निश्चित आकार से नीचे है.

ट्रेस्टल और वीबीटीकिट

अधिकांश यूजर इंटरफेस (यूआई) इवेंट हैंडलर, टाइमर और सिग्नल की स्पेगेटी हैं. ऐसा इसलिए है क्योंकि उन्हें मनमाने समय पर आने वाले उपयोगकर्ता इनपुट से निपटने की ज़रूरत है, उन्हें स्क्रीन को रीफ्रेश करने से निपटने की ज़रूरत है, और उन्हें यह सुनिश्चित करना होगा कि लंबे समय तक चलने वाले संचालन एप्लिकेशन की विंडो को फ्रीज न करें. इन सभी बाधाओं के कारण पारंपरिक भाषाओं और पुस्तकालयों में यूजर इंटरफेस विकसित करना बहुत मुश्किल हो जाता है.

एसआरसी मोडुला -3 कार्यान्वयन एक यूआई पुस्तकालय प्रदान करता है जिसे ट्रेसल के नाम से जाना जाता है. ट्रेसल के बारे में उल्लेखनीय बात यह है कि यह अत्यधिक समवर्ती है. यह धागे का व्यापक उपयोग करने और बहु-थ्रेडेड वातावरण में उपयोग करने के लिए लिखा गया था.

यह यूजर इंटरफेस के विकास को काफी सरल करता है, क्योंकि अब आपके पास इवेंट लूप के साथ कोई डील नहीं है. एक इवेंट लूप अनिवार्य रूप से "गरीब आदमी की मल्टीथ्रेडिंग" है. चूंकि भाषा और पुस्तकालय प्रथम श्रेणी के धागों का समर्थन करते हैं, इसलिए इनका उपयोग इसके बजाय किया जा सकता है. यदि किसी बटन से जुड़ी कार्रवाई में लंबा समय लग सकता है, तो कार्रवाई केवल बड़ी कार्रवाई को संभालने के लिए एक थ्रेड को फोर्क कर सकती है. यह थ्रेड स्क्रीन को नए परिणामों के साथ अपडेट करने के लिए ट्रेसल में मनमानी कॉल कर सकता है. ताले के विवेकपूर्ण उपयोग के माध्यम से ट्रेस्टल अपनी रक्षा करता है.

ट्रेसल दो प्रकार की वस्तुएं प्रदान करता है: ग्राफिक्स ऑब्जेक्ट जैसे पथ और क्षेत्र, और उपयोगकर्ता-इंटरफ़ेस ऑब्जेक्ट का एक आधार सेट. इन उपयोगकर्ता-इंटरफ़ेस ऑब्जेक्ट्स को "VBT" के रूप में जाना जाता है. ये ट्रेस्टल में वही भूमिका निभाते हैं जो एक्स इंट्रिनिक्स एक्स टूलकिट की दुनिया में निभाते हैं. वे परिभाषित करते हैं कि विभिन्न "विजेट्स" के बीच स्क्रीन-स्पेस कैसे आवंटित किया जाता है. ट्रेसल अपने बेस UI आइटम के सेट में बटन और मेनू का एक सरल सेट प्रदान करता है.

VBTKit एक उच्च-स्तरीय टूलकिट है जिसे ट्रेसल के शीर्ष पर बनाया गया है. VBTKit UI ऑब्जेक्ट प्रकारों की एक विस्तृत श्रृंखला प्रदान करता है. यह एक मोटिफ जैसा 3-डी "लुक एंड फील" (रंग डिस्प्ले पर) भी प्रदान करता है. एक ही इंटरफ़ेस का उपयोग मोनोक्रोम डिस्प्ले पर बिना बदलाव के किया जा सकता है, लेकिन उचित दृश्य उपस्थिति के बिना. VBTKit स्क्रॉलबार, बटन, मेनू आइटम, संख्यात्मक I/O ऑब्जेक्ट, और इसी तरह के सामान्य पूरक प्रदान करता है.

प्रपत्रVBT और प्रपत्रसंपादित करें

FormsVBT एक यूजर इंटरफेस मैनेजमेंट सिस्टम (UIMS) है जिसे लाइब्रेरी के रूप में संरचित किया गया है और इसे VBTKit के शीर्ष पर बनाया गया है. FormsVBT यूजर इंटरफेस के लेआउट और उस भाषा के लिए इवेंट इंटरप्रेटर का वर्णन करने के लिए एक सरल भाषा प्रदान करता है.