Computer Fundamentals

Computer Language (कंप्यूटर भाषा)

हर देश तथा राज्य की अपनी अपनी भाषा होती हैं और इसी भाषा के कारण लोग एक दूसरे की बातो को समझ पाते है| ठीक उसी प्रकार कंप्यूटर की भी अपनी भाषा होती है जिसे कंप्यूटर समझता है गणनाये करता है और परिणाम देता है| प्रोग्रामिंग भाषा कंप्यूटर की भाषा है जिसे कंप्यूटर के विद्वानों ने कंप्यूटर पर एप्लिकेशनों को विकसित करने के लिए Design किया है| पारंपरिक भाषा कि तरह ही प्रोग्रामिंग भाषाओँ के अपने व्याकरण होते है इसमें भी वर्ण, शब्द, वाक्य इत्यादि होते हैं|

प्रोग्रामिंग भाषाओ के प्रकार (Types of Programming Language)

प्रोग्रामिंग भाषा कई है | कुछ को हम समझते है तथा कुछ को केवल कम्प्यूटर ही समझता है | जिन भाषाओ को केवल कम्प्यूटर समझता है वे आमतौर पर निम्नस्तरीय भाषा (Low level Language) कहलाती है तथा जिन भाषाओ को हम समझ सकते है उन्हें उच्चस्तरीय भाषा (High level language) कहते है |

 निम्न स्तरीय भाषा (Low Level Language)

वह भाषाएँ (Languages) जो अपने संकेतो को मशीन संकेतो में बदलने के लिए किसी भी अनुवादक (Translator) को सम्मिलित नही करता, उसे निम्न स्तरीय भाषा कहते है अर्थात निम्न स्तरीय भाषा के कोड को किसी तरह से अनुवाद (Translate) करने की आवश्यकता नही होती है | मशीन भाषा (Machine Language) तथा असेम्बली भाषा (Assembly Language) इस भाषा के दो उदाहरण है| लेकिन इनका उपयोग प्रोग्राम (Program) में करना बहुत ही कठिन है | इसका उपयोग करने के लिए कम्प्यूटर के हार्डवेयर (Hardware) के विषय में गहरी जानकारी होना आवश्यक है | यह बहुत ही समय लेता है और त्रुटियों (Error) की सम्भावना अत्यधिक होती है | इनका संपादन (Execution) उच्च स्तरीय भाषा (High level language) से तेज होता है | ये दो प्रकार की होती है –

  1. मशीन भाषा (Machine Language)
  2. असेम्बली भाषा (Assembly Language)

 मशीन भाषा (Machine Language)

कम्प्यूटर प्रणाली (Computer System) सिर्फ अंको के संकेतो को समझाता है, जोकि बाइनरी (Binary) 1 या 0 होता है | अत: कम्प्यूटर को निर्देश सिर्फ बाइनरी कोड 1 या 0 में ही दिया जाता है और  जो निर्देश बाइनरी कोड (Binary Code) में देते है उन्हें मशीन भाषा (Machine Language) कहते है | मशीनी भाषा (Machine Level Language) मशीन के लिए सरल होती है और प्रोग्रामर के लिए कठिन होती है | मशीन भाषा प्रोग्राम का रख रखाव भी बहुत कठिन होता है | क्योकि इसमें त्रुटीयो (Error) की संभावनाएँ अधिक होती है | Machine Language प्रत्येक Computer System पर अलग-अलग कार्य करती है, इसलिए एक कंप्यूटर के कोड दूसरे कंप्यूटर पर नही चल सकते|

असेम्बली भाषा (Assembly Language)

असेम्बली भाषा में निर्देश अंग्रेजी के शब्दों के रूप में दिए जाते है, जैसे की NOV, ADD, SUB आदि, इसे mnemonic code(निमोनिक कोड) कहते है | मशीन भाषा की तुलना में असेम्बली भाषा को समझना सरल होता है लेकीन जैसा की हम जानते है की कम्प्यूटर एक इलेक्ट्रॉनिक डिवाइस (Electronic Device) है और यह सिर्फ बाइनरी कोड (Binary Code) को समझता है, इसलिए जो प्रोग्राम असेम्बली भाषा में लिखा होता है, उसे मशीन स्तरीय भाषा (Machine level language) में अनुवाद (Translate) करना होता है | ऐसा Translator जो असेम्बली भाषा (Assembly language) को मशीन भाषा (Machine language) में Translate करता है, उसे असेम्बलर (Assembler) कहते है |

      डाटा (Data) को कम्प्यूटर रजिस्टर में जमा किया जाता है और प्रत्येक कम्प्यूटर का अपना अलग रजिस्टर सेट होता है, इसलिए असेम्बली भाषा में लिखे प्रोग्राम सुविधाजनक नही होता है | इसका मतलब यह है कि दुसरे कम्प्यूटर प्रणाली के लिए हमें इसे फिर से अनुवाद करना पड़ता है |

उच्च स्तरीय भाषा (High Level Language)

उच्च स्तरीय भाषा (High level language) सुविधाजनक होने के लक्षणों को ध्यान में रखकर बनाया गया है, इसका अर्थ यह कि ये भाषा मशीन पर निर्भर करती है | यह भाषा अंग्रेजी भाषा के कोड जैसी होती है, इसलिए इसे कोड करना या समझना सरल होता है | इसके लिए एक Translator की आवश्यकता होती है, जो उच्च स्तरीय भाषा के Program को मशीन कोड में translate करता है इसके उदाहरण है – फॉरटरैन (FORTRAN), बेसिक (BASIC), कोबोल (COBOL), पास्कल (PASCAL), सी (C), सी++ (C++), जावा (JAVA), VISUAL BASIC, Visual Basic.net HTML, Sun Studio आदि इसी श्रेणी (Category) की भाषा है इसको दो generation में बाँटा गया गई|

  1. Third Generation Language
  2. Fourth Generation Language

तृतीय पीढ़ी भाषा (Third Generation Language)

तृतीय पीढ़ी भाषाएँ (Third Generation Language) पहली भाषाएँ थी जिन्होंने प्रोग्रामरो को मशीनी तथा असेम्बली भाषाओ में प्रोग्राम लिखने से आजाद किया| तृतीय पीढ़ी की भाषाएँ मशीन पर आश्रित नही थी इसलिए प्रोग्राम लिखने के लिए मशीन के आर्किटेक्चर को समझने की जरुरत नही थी | इसके अतिरिक्त प्रोग्राम पोर्टेबल हो गए, जिस कारण प्रोग्राम को उनके कम्पाइलर व इन्टरप्रेटर के साथ एक कम्प्यूटर से दुसरे कम्प्यूटर में कॉपी किया जा सकता था| तृतीय पीढ़ी के कुछ अत्यधिक लोकप्रिय भाषाओ में फॉरटरैन (FORTRAN), बेसिक (BASIC), कोबोल (COBOL), पास्कल (PASCAL), सी (C), सी++ (C++) आदि सम्मिलित है |

चतुर्थ पीढ़ी भाषा (Fourth Generation Language)

Forth Generation Language, तृतीय पीढ़ी के भाषा से उपयोग करने में अधिक सरल है | सामान्यत: चतुर्थ पीढ़ी की भषाओ में विजुअल (Visual) वातावरण होता है जबकि तृतीय पीढ़ी की भाषाओ में टेक्सचुअल (Textual) वातावरण होता था | टेक्सचुअल वातावरण में प्रोग्रामर Source Code को निर्मित करने के लिए अंग्रेजी के शब्दों का उपयोग करते है | चतुर्थ पीढ़ी की भाषाओ के एक पंक्ति का कथन तृतीय पीढ़ी के 8 पंक्तियों के कथन के बराबर होता है | विजुअल वातावरण में, प्रोग्रामर बटन, लेबल तथा टेक्स्ट बॉक्सो  जैसे आइटमो को ड्रैग एवं ड्रॉप करने के लिए टूलबार का उपयोग करते है| इसकी विशेषता IDE (Integrated development Environment) हैं जिनके Application Compiler तथा run time को Support करते है| Microsoft Visual studio and Java Studio इसके दो उदाहरण है|

 लाभ (Advantages)

  • चतुर्थ पीढ़ी की भाषा को सीखना सरल है तथा इसमें सॉफ्टवेयर का विकास करना आसान है|
  • चतुर्थ पीढ़ी की भाषाओ में टेक्सचुअलइंटरफेस (Textual Interface) के साथ-साथ ग्राफिकल इंटरफेस (Graphical Interface) भी होता है |
  • प्रोग्रामरो के लिए चतुर्थ पीढ़ी की भाषाओ में विकल्प उपलब्ध रहते है क्योकि इसकी संख्या काफी बड़ी होती है |
  • चतुर्थ पीढ़ी की भाषाओ में प्रोग्रामिंग कम स्थान लेती है क्योकि इस पीढ़ी की भाषा की एक पंक्ति पूर्ववर्ती पीढ़ी भाषाओ की कई पंक्तियो के समान होती है |
  • चतुर्थ पीढ़ी की भाषाओ की उपलब्धता कठिन नहीं है |

हानि (Disadvantages)

  • चतुर्थ पीढ़ी की भाषाएँ उच्च कंफिगरेशन के कंप्यूटरो पर ही संचालित हो सकती है|
  • इस पीढ़ी की भाषाओ के लिए विशेषज्ञता की कम आवश्यकता होती है | इसका अर्थ है की इसमें प्रोग्रामिंग आसान होने के कारण नौसिखिए भी सॉफ्टवेयर विकसित करने में सक्षम हो पाते है | परिणामस्वरूप, विशेषज्ञों का महत्व कम हो जाता है |
  • इस पीढ़ी में प्रोग्रामिंग भाषाओ की एक बड़ी श्रंखला होती है, जिससे यह निर्णय ले पाना कठिन हो जाता है की किसका प्रयोग किया जाये तथा किसे छोड़ा जाये |