सीधे मुख्य सामग्री पर जाएं

What is Program hindi । Generation of Computer language

प्रोग्राम ( PROGRAM )क्या होते है हीैंदी में :-

 किसी प्रश्न या समस्या को कम्प्यूटर पर हल करने के लिए पूर्व में कुछ योजना बनाने को प्रोग्राम कहते हैं । दूसरे शब्दों में कम्प्यूटर प्रोग्राम कम्प्यूटर को विशेष कार्य करने के लिए उपयुक्त क्रम में व्यवस्थित निर्देशों के समुच्चय को कहते हैं । वह व्यक्ति जो इन प्रोग्राम्स को लिखता या यह प्रोग्राम जो बनाता है प्रोग्रामर कहलाता है । प्रोग्राम लिखना एक कठिन कार्य है तथा इसके विकसित या प्रोग्राम बनाने करने की प्रक्रिया सामान्यत : 6 चरणों मे होती है जो निम्न प्रकार है:-

1 प्रोग्राम एनालिसिस ( Program Analysis ) :-

इस step में प्रोग्रामर , दी गई समस्या की परीक्षण ( Analysis ) करता है तथा यह पता लगाने की कोशिश करता है कि इस समस्या का कम्प्यूटर की सहायता से समाधान करना संभव है अथवा नहीं यह पता लगाने के लिए वह देखता है कि क्या और कैसा आउटपुट चाहिये ? परिणामों की गणना के लिए क्या - क्या प्रक्रिया ( Operations ) करनी होंगी ? आवश्यक इनपुट हैं अथवा नहीं ? आदि । अगर इन सब प्रश्नों के हल ढूंढने के बाद प्रोग्रामर को लगता है कि इस समस्या का कम्प्यूटर से समाधान सम्भव है तो प्रोग्राम का अगला चरण शुरू होता है ।

 2 प्रोग्राम डिजाइन ( Program Design ) :-

 इस step में प्रोग्रामर , प्रोग्राम के द्वारा की जाने वाली मुख्य क्रियाओं की सामान्य संरचना तैयार करता है । फ्लोचार्ट ( Flowchart ) डिसीजन टेबल ( Decision Table ) लेआउट चार्ट ( Layout Chart ) आदि कुछ टूल्स ( Tools ) होते हैं । जिनकी सहायता से प्रोग्रामर समस्या के समाधान का चित्र तथा रूपरेखा तैयार करता है ।

3 प्रोग्राम कोडिंग ( Program Coding ) :-

प्रोग्रामर द्वारा , समस्या के समाधान की जो रूपरेखा पिछले step में की गई है , उसे इस चरण में कम्प्यूटर की किसी भी प्रोग्रामिंग भाषा में निरूपित कर देते हैं । प्रोग्रामिंग भाषा के चयन में प्रोग्रामर तीन मुख्य लक्षणों का ध्यान रखता है , वे हैं - सरलता ( Simplicity ) , मेमोरी का सदुपयोग ( Effecient Utilisation of Memory ) तथा कम प्रोसेसिंग समय प्रत्येक प्रोग्रामिंग भाषा के अपने कुछ मानक , नियम तथा व्याकरण होती है , जिनका पालन करते हुए प्रोग्रामर प्रोग्राम बनाता या लिखता है ।

4 प्रोग्राम डिबगिंग ( Program Debugging ) :-

कम्प्यूटर की भाषा में बग ( Bug ) का मतलब प्रोग्राम की एक त्रुटि ( Error ) होता है । वैसे तो प्रोग्रामर प्रोग्राम लिखते समय हर संभव सावधानी बरतता है फिर भी संभावना हो सकती है कि पूरा बनने के पश्चात् उसमें कोई त्रुटि रह गई हो । प्रोग्रामिंग के इस चरण में सभी त्रुटियों को दूर किया जाता है इस प्रक्रिया को प्रोग्राम डिबगिंग कहते हैं । सामान्यत : प्रोग्राम में से त्रुटियां दूर करने का कार्य निम्नलिखित तीन विधियों की सहायता से किया जा सकता है-
 1 . स्ट्रक्चर्ड वॉक ( Structured Walk Throught ) -
इस विधि के अनुसार प्रोग्रामर पूरे प्रोग्राम को कागज पर ही क्रियान्वित करके उसमें से त्रुटियाँ दूर करता है ।
2 . टेस्ट पैक ( Test Pack ) -
इस विधि में प्रोग्रामर वास्तविक डाटा से मिलते जुलते डमी डाटा ( Dummy Data ) को प्रोग्राम से प्रोसेस करा कर प्राप्त परिणामों की जाँच करता है ।
3 . डायग्नोस्टिक रूटिन ( Diagnostic Routine ) -
डायग्नोस्टिक रूटिन एक विशेष प्रकार का प्रोग्राम होता है जो किसी दूसरे प्रोग्राम्स की त्रुटियाँ ढूंढने का कार्य करता है । इस विधि में प्रोग्रामर अपने प्रोग्राम तथा डायग्नोस्टिक रूटिन को एक साथ कम्प्यूटर में डालकर क्रियान्वित कर देता है । प्रोग्राम तो अपने परिणामों की गणना करता रहता है तथा रूटिन इस दौरान उत्पन्न हुई त्रुटियों की सूची तैयार करता रहता है जिसकी सहायता से अंत में प्रोग्रामर की सभी त्रुटियाँ दूर करता है ।

5 प्रोग्राम डॉक्यूमेन्टेशन ( Program Documentation ) :-

 इस चरण में प्रोग्रामर एक निर्देश पुस्तिका ( Instruction Manual ) तैयार करता है जिसमें प्रोग्राम को क्रियान्वित करने के सभी दिशा निर्देश दिये हुए होते हैं । ex - यह प्रोग्राम किस कार्य हेतु बनाया गया है , व किन - किन फाइलों का इस्तेमाल इसमें होता है तथा उनकी क्या संरचना है ।

6 प्रोग्राम मैन्टेनेन्स ( Program Maintenance ) :-

व्यावसायिक डाटा प्रोसेसिंग में जरूरतें हमेशा एक जैसी नहीं रहती है , अपितु समय के साथ - साथ बदलती रहती  हैं । ऐसे में प्रोग्राम को कुछ समय तक क्रियान्वित रहने के पंश्चात् उसमें परिवर्तन की आवश्यकता हो सकती है । यही परिवर्तन करना प्रोग्राम मैन्टेनेन्स कहलाता है ।



भाषाओं की पीढ़ियाँ ( GENERATION OF LANGUAGES )


● भाषाओं की पीढ़ियाँ ( Generation of languages ) : -

 पिछले 50 सालों में कम्प्यूटर का प्रोग्रामिंग की भाषा के क्षेत्र में जो स्तर दर - स्तर विस्तार तथा विकास हुआ । उसे कम्प्यूटर भाषाओं की पीढियाँ कहा जाता है । प्रत्येक पीढी , कम्प्यूटर के उपयोग के सरलीकरण की तरफ एक कदम बढ़ाती है । प्रारम्भ की पीढ़ियों में लिखी गई भाषा कुछ इतनी कठिन व जटिल थी कि कम्प्यूटर का इस्तेमाल कुछ तकनीकी विशेषज्ञों तक ही सीमित था । लेकिन बाद में आने वाली पीढियों में विकसित भाषाओं में कम्प्यूटर के उपयोग को व्यापक बना दिया । कम्प्यूटर की भाषाओं को निम्न प्रकार से पीढ़ियों में वर्गीकृत किया जा सकता है ।


1 प्रथम पीढ़ी 1940 - 50 ( First generation 1940 - 50 ):-

मशीनी भाषा ( Machine Language ) को इस पीढ़ी की भाषा माना जाता है । इसमें सभी निर्देश व डाटा सिर्फ दो अंकों ( 0 , 1 ) जिन्हें बाइनरी डिजिट कहा जाता है , में दिये जाते थे । इसका इस्तेमाल में कठिन तथा जटिल होता है तथा इसमें किसी एक कम्प्यूटर के लिए लिखा गया प्रोग्राम बहुत परिवर्तन के बाद ही किसी अन्य कम्प्यूटर पर चलाया जा सकता है । इस पीढी की भाषा से लिखे प्रोग्राम्स की गति अन्य पीढ़ियों की तुलना में अधिक होती है क्योंकि यहाँ प्रोग्राम्स के क्रियान्वयन से पहले उसे किसी अन्य भाषा में रूपान्तरित करने की आवश्यकता नहीं होती है ।

2 द्वितीय पीढ़ी 1950 - 60 ( Second Generation 1950 - 60 ):-

असेम्बली भाषा ( Assembly Language ) को इस पीढी की भाषा माना जाता है । इस भाषा में प्रोग्राम को बडी आसानी से एल्फान्यूमेरिक संकेतों ( Albhanumeric Symbols ) की सहायता से लिखा जाता है । बजाय 0 तथा । की बाइनरी डिजिट में भी इस भाषा में काफी अर्थपूर्ण तथा आसानी से याद रखने योग्य संकेतों का इस्तेमाल किया गया है । जैसे - ADD जोड़ने के लिए , SUB घटाने के लिए , CMP तुलना करने के लिए आदि । मशीनी भाषा की तुलना में असेम्बली भाषा के प्रोग्राम आसानी से तथा जल्दी बन जाते हैं । इन प्रोग्राम्स का आकार भी मशीनी भाषा में लिखे प्रोग्राम की तुलना में छोटा होता है । अत : कम मेमोरी के कम्प्यूटरों पर भी इनको क्रियान्वित किया जाता है तथा हमें परिणाम प्राप्त होते हैं । क्योंकि यह भाषा प्रयोक्ता या प्रोग्रामर के कार्य करती है तथा हमें परिणाम प्राप्त होते हैं क्योंकि यह भाषा प्रयोक्ता या प्रोग्रामर के कार्य को आसान करने के लिए लिखी गई थी । अतः कम्प्यूटर तो मशीनी भाषा पर ही कार्य करता है ।

3 तृतीय पीढ़ी 1960-70 ( Third generation 1960-70 ) :-

 सभी उच्च स्तरीय भाषाएँ ( High Level Languages ) तृतीय पीढ़ी की भाषाएँ कहलाती हैं । द्वितीय पीढी में बनी असेम्बली भाषा की सबसे बड़ी हानि यह थी कि यह कम्प्यूटर की संरचना पर निर्भर करती है । अत : अत्यधिक कठिनाइयों के बावजूद यदि एक प्रोग्राम लिख भी दिया जाता है तो वह किसी अन्य कम्प्यूटर पर क्रियान्वित हो सकेगा या नहीं , ऐसा विश्वास से नहीं किया जा सकता । भाषा की मशीन पर निर्भरता को देखते हुए ही तृतीय पीढ़ी में ऐसी भाषाओं का विकास हुआ जो मशीन यानि कम्प्यूटर की संरचना पर निर्भर नहीं करती हैं । इन सभी भाषाओं को उच्च स्तरीय भाषाएँ ( High Level Languages ) कहा गया । उच्च स्तरीय भाषा में लिखें गये निर्देशों ( ComITIands ) को स्टेटमेंट्स ( Statements ) कहा जाता है तथा ये अंग्रेजी भाषा के वे छोटे - छोटे से शब्द हैं जिन्हें हम अपनी बोलचाल में प्रयोग करते हैं । अतः इस पीढी की भाषाओं का व्यापक इस्तेमाल होता है । इन उच्च स्तरीय भाषाओं का प्रयोग बड़े - बड़े ऐप्लिकेशन प्रोग्राम ( Application Program ) बनाने में होता है । वैसे द्वितीय पीढी की असेम्बली भाषा की तरह इन उच्च स्तरीय भाषाओं में लिखे गये प्रोग्राम्स की भी कम्प्यूटर में क्रियान्वित करने से पहले मशीनी  भाषा में रुपान्तरित करना आवश्यक है तथा इस कार्य के लिए आवश्यक प्रोग्राम बाजार में उपलब्ध हैं । इन्हें । कमपाइलर ( Compiler ) तथा इन्टरप्रेटर ( Interpreter ) कहते हैं । सबसे पहले विकसित हुई उच्च स्तरीय भाषा फोरटान ( Fortran ) तथा उसके बाद अन्य कई भाषाएँ आई जैसे - PASCAL , COBOL , BASIC , C , C + + आदि ।

4 चतुर्थ पीढ़ी 1970 से अभी तक ( Fourth generation 1970 to upto) :-

 क्वेरी भाषा ( Query Language ) को चतुर्थ पीढी की भाषा कहा जाता है । ये भाषाएँ एक अविधिक ( Non- Procedural ) भाषाओं के रूप में परिभाषित की जा सकती हैं । इस पीढी की भाषाओं में प्रयोक्ता को सिर्फ यह बताना होता है कि क्या करना है , कैसे करना है यह सब कुछ भाषा में ही परिभाषित होता है । डी - बेस ( Dbase ) , औरैकल ( Oracle ) आदि कुछ चतुर्थ पीढ़ी की भाषाओं के उदाहरण हैं । इन भाषाओं में बहुत से कार्यों के लिए प्रोग्राम तो पूर्व में ही बने हुए होते हैं तथा भाषा में स्टोर होते हैं । अत : यदि हमारी जरूरत उनसे पूर्ण होती है तो हमें एक लाइन भी प्रोग्राम की लिखने की आवश्यकता नहीं है । उदाहरणार्थ तृतीय पीढ़ी में किसी फाइल में से एक रिकॉर्ड हटाना है तो उसकी किसी भी भाषा में एक छोटा सा सही प्रोग्राम बनाना तो पड़ेगा ही परन्तु चतुर्थ पीढी में यह काम सिर्फ एक कमाण्ड ( Delete ) देकर कराया जा सकता है । सामान्यतः चतुर्थ पीढी की भाषाओं को 4 GLs ( फोरजीएल्स ) कहा जाता है।
सामान्यत : चतुर्थ पीढी की भाषाओं LS ( फोरजीएल्स ) कहा जाता है तथा निम्न वर्गों में बाँटा जा सकता है ।

1 यूजर ओरिऐन्टेड  4GLs ( User Oriented 4 GLs ) -

इस श्रेणी में आने वाली चतुर्थ पीढी की वे भाषाए हैं जिनका विकास तथा डिजाइन कम में उपलब्ध डाटा को प्रोसेस करने के लिए किया गया है । - सामान्यतः उन लोगों के लिए हैं जो व्यवसायिक रूप में प्रोग्रामर नहीं हैं तथा उनका अपना कम्प्यूटर है और वे अपनी जरूरत के हिसाब से छोटे - छोटे प्रोग्राम बनाना चाहते हैं । इन भाषाओं का अपना ही डाटाबेस प्रबन्धन साफ्टवेयर होता है जो कि प्रयोक्ता के DBMS से वार्तालाप ( Interaction ) कर सकता है । इनकी सहायता से छोटे तथा आवश्यकतानुसार प्रोग्राम बनाये जा सकते हैं तथा इस कार्य के लिए किसी विशेष प्रशिक्षण की आवश्यकता भी नहीं होती है ।

2 प्रॉडक्ट ओरिऐन्टेड 4GLs ( Product Oriented 4 GLs ) - 

ये चतुर्थ पीढ़ी की वे भाषाएँ है जो किसी सॉफ्टवेयर विशेष के लिए बनाई जाती हैं । ये भाषाएँ किसी भी डाटाबेस प्रबन्ध सिस्टम के साथ वार्तालाप ( Interaction ) नहीं कर सकती हैं । ये काफी जटिल होती है तथा अधिक संख्या में उपलब्ध डाटा को प्रोसेस करने में सक्षम हैं । इनका इस्तेमाल , प्रोग्राम बनाने में , सिर्फ वे ही प्रयोक्ता करते है जिन्हें इस कार्य को विशेष योग्यता हासिल हो तथा जो व्यावसायिक रूप से प्रशिक्षित भी हो ।
उदाहरणार्थ - SQL , FLORAL आदि कुछ इस श्रेणी की चतुर्थ पीढ़ी की भाषाएँ है ।

इस ब्लॉग से लोकप्रिय पोस्ट

Query Optimization in hindi - computers in hindi 

 आज  हम  computers  in hindi  मे query optimization in dbms ( क्वैरी ऑप्टीमाइजेशन) के बारे में जानेगे क्या होता है और क्वैरी ऑप्टीमाइजेशन (query optimization in dbms) मे query processing in dbms और query optimization in dbms in hindi और  Measures of Query Cost    के बारे मे जानेगे  तो चलिए शुरु करते हैं-  Query Optimization in dbms (क्वैरी ऑप्टीमाइजेशन):- Optimization से मतलब है क्वैरी की cost को न्यूनतम करने से है । किसी क्वैरी की cost कई factors पर निर्भर करती है । query optimization के लिए optimizer का प्रयोग किया जाता है । क्वैरी ऑप्टीमाइज़र को क्वैरी के प्रत्येक operation की cos जानना जरूरी होता है । क्वैरी की cost को ज्ञात करना कठिन है । क्वैरी की cost कई parameters जैसे कि ऑपरेशन के लिए उपलब्ध memory , disk size आदि पर निर्भर करती है । query optimization के अन्दर क्वैरी की cost का मूल्यांकन ( evaluate ) करने का वह प्रभावी तरीका चुना जाता है जिसकी cost सबसे कम हो । अतः query optimization एक ऐसी प्रक्रिया है , जिसमें क्वैरी अर्थात् प्रश्न को हल करने का सबसे उपयुक्त तरीका चुना

What is Message Authentication Codes in hindi (MAC)

What is  Message Authentication Codes in hindi (MAC) :- Message Authentication Codes (MAC) , cryptography के सबसे attractive और complex areas में से एक message authentication और digital signature का area है। सभी क्रिप्टोग्राफ़िक फ़ंक्शंस और प्रोटॉल्स को समाप्त करना असंभव होगा, जिन्हें message authentication और digital signature के लिए executed किया गया है।  यह message authentication और digital signature के लिए आवश्यकताओं और काउंटर किए जाने वाले attacks के प्रकारों के introduction के साथ होता है। message authentication के लिए fundamental approach से संबंधित है जिसे Message Authentication Code (MAC)  के रूप में जाना जाता है।  इसके दो categories में MACs की होती है: क्रिप्टोग्राफिक हैश फ़ंक्शन से बनाई और ऑपरेशन के ब्लॉक सिफर मोड का उपयोग करके बनाए गए। इसके बाद, हम एक relatively recent के approach को देखते हैं जिसे Authenticated encryption के रूप में जाना जाता है। हम क्रिप्टोग्राफ़िक हैश फ़ंक्शंस और pseudo random number generation के लिए MCA के उपयोग को देखते हैं। message authentication ए