Hello everyone, so today we are going to start C language. See language, I think everyone knows that this is a programming language. So very first question which will come to our mind is what is a program? So program is nothing but collection of instruction.
Program is a collection of instruction. And when I used to teach in offline classes, then some students used to say that set of instruction is a program. But actually set of instruction is not a program. Why is it not a program?
क्योंकि आपको पता है आप प्रोग्राम के अंदर यह statement जैसे आपने लिखी, यह एक instruction है न वे, तो इस instruction को आप दो बार लिख दो, तो फिर क्या यह प्रोग्राम नहीं बनेगा, बिल्कुल प्रोग्राम बनेगा वे, तो फिर definition तो यह गल्त होगी न, क्योंकि set में हमेशा elements क तो obviously बात हमने instruction को repeat कर दिया, तो फिर ये program तो नहीं होना चाहिए, but actually मैं तो ये program है, तो इसका में set of instruction program नहीं होता, तो अगर आपको set की भाषा में बोलना ही है, तो हमारे को बोलना चाहिए, set of logically grouped instruction is a program, okay, set of logically grouped instruction is a program, तो this is your perfect statement, okay, let me use a different color, तो आप, आगे से क्या बोलोगे, set of logically grouped instruction is a program, ठीक है, set of instruction is not a program, चलो ठीक है, तो अब आगे बढ़ते हैं हम, तो थोड़ा सा मैं आपको पहले history में गाता हूँ, थोड़ा सा आपको समझाता हूँ कि C language कैसे develop हुई, और उसके बाद हम लोग धीरे धीरे dive in deep करेंगे C language के अंदर, देखो भी, इसको आप history of languages भी बोल सकते हो, types of languages भी बोल सकते हो, तो यू केन कॉल इट एस हिस्ट्री ऑल्सों मतलब कैसे कैसे लैंग्वेज डेवलप हुई कैसे कैसे प्रोग्रामिंग लैंग्वेज आई वो सब चीजे मैं यहाँ पर आपको बताऊंगा लेकिन बहुत सारे स्टुडेंट्स को इस तरह से रिलेटेड इसलिए आपको क्लियर कर रहा हूं ठीक है ओके जी लेंग्वेज को लो लेवल लेंग्वेज हाई लेवल लेंग्वेज फोर्स डेटिशन लेंग्वेज एंड फिर लेंग्वेज टेक्ट लो लेवल लेंग्वेज अगेंड इज आफ टू टाइप मशीन लेंग्वेज एंड असेम्प्ली लेंग्वेज टेक्ट तो जी ना अच्छा जी तो जी रो का मतलब क्या होता है जी रो वोल्ड वन का मतलब क्या होता है फाइव वोल्ड रफ्ली आप इस टाइप से समझ सकते हैं तो जी रो वोल्ड का मतलब क्या हुआ एप्सेंस ऑफ करेंट फाइव वोल्ड का मतलब क्या हो प्रेजेंस तो इसका मतलब सिर्फ binary language एक ऐसी language होगी जो कि computer समझ पाएगा, इसके अलावा computer को कोई भी language समझ नहीं आएगी, ठीक है, तो यही point मैंने देखो लिखा भी हुआ है, कि computer is an electronic device, okay, so it can understand binary language only, यहाँ के लिख लेता है, प्रेसेंस से only, है न, और सिर्फ binary language क्यों समझता है, क्यों जिसके लिए आपको बहुत अधिक और अधिक तरह करने के लिए इस वर्ष को उपयोग करना चाहते हैं। अच्छा, इसके अधिक तरह क्या है? आपको अधिक तरह को देखते हैं। वह बहुत बदल रखना चाहता है। क्योंकि हमारा विश्वास नमबर नहीं रख सकता है। आप अपनी mobile phone में आपने मतलब नाम से लोगों का number रख रखे है ना भी है ना सीधे number चोड़ी याद होते है आपको तभी तो आपने telephone directory बना रखे है आपको phone के अंदर है ना I think सब use करते हो ना भी तो उसका use ही क्या है है ना रहते है आप जैसे suppose कर लो मेरे को two plus five करना था computer में तो binary मेरे को क्या करना पड़ेगा ना पास तो two का binary one zero five का binary one zero one और फिर प्लस, ये प्लस थोड़ी computer समझेगा, प्लस का भी कोई binary code होगा, like this, ठीक है, ये चीज़े detail में, architecture में पढ़ाऊंगा आपको, कि प्लस के लिए कैसे code लिख रहे हैं, and so on, वो सब क्या कर रहे हैं, वो सब हमसे बाद में देखेंगे, है न, तो main बात क्या है, कि, इस type से इतना कुछ binary number आपको लिखना पड़ेगा, 2 plus 5 करने के लिए, और obvious बात है, कि इसका code क्या है, क्या नहीं है, and so on, तो obviously this language will be very difficult to learn, ठीक है अच्छा उसके बाद होता है जी टेस्टिंग एंड डीबग दो बातें मैंने लिखिए टेस्टि यह मैं आपको समझाता हूँ आराम से यह exactly क्या है देखो भाई आपने कोई program बनाया program बनाने के बाद कैसे पता लगेगा कि वो ठीक काम कर रहा है या नहीं कर रहा है तो हम उसको अलग-अलग inputs देते हैं जैसे for example मैं आपको बोलता हूँ कि मैंको greatest of three number का program बनाना है greatest of three numbers का program बनाना है ठीक है तो मैंने program बना लिया तो मैंने इनपुट दिया इसे 2, 5 और 10, तो प्रोग्राम ने बताया कि हाँ जी 10 greatest है, आपका output आया प्रोग्राम से कि 10 is the greatest number, तो आप बोलोगे ठीक है प्रोग्राम ठीक है, नहीं, ऐसे नहीं, आप इसको कुछ और तरह से इनपुट दे के देखो, ठीक है, तो फिर मैंने इ आपको दिया जी 10, 5, 2 और फिर इसने बोल दिया 2 is greatest तो फिर आपको लगेगा कि ना भी प्रोग्राम है तो बिलकुल गर्बड़ है और आपका माइंड चलने लगेगा कि अच्छा ये तो हमेशा लास्ट वाला जो भी मैं इंपूट दे रहा हूँ उसको हमेशा तो ये जो हमने different different inputs लगा कर के देखे that is known as testing तो testing का basic aim क्या है testing का basic aim है finding error from the program testing का मतलब क्या होता है भाई finding errors from the program program में से error ढूंदो finding error from program अच्छा जी अब एक बार यह आपको पता लग गया different different inputs आपने लगाए और आपको पता लग गया कि program में कहीं ना कहीं कोई error है अब आप इस error को जा करके ठीक करनी के कोशिश करोगे मतलब आप code में जाओगे और program में जो भी आपने code लिखा हुआ था that is known as debugging तो debugging का basic मतलब क्या होगा डीबगिंग का बेसिक मतलब होगा रिमूविंग एरर फॉर द प्रोग्राम ओके रिमूविंग एरर फॉर द प्रोग्राम यही छोटी-छोटी तो आप code के अंदर जाएंगे और जाकर के उस code को ठीक करने की कोशिश करेंगे, that is known as debugging. So debugging means removing error from the program. ठीक है, debugging is removing error, testing means finding error. ठीक है, I think clear हो गया होगा सबको, ओके जी, तो ये चीज़ फिर मैंने देखो आप लिखी भी हुई है कि it is difficult to learn, test and debug.
उसके बाद ही इनपुट देने की कोशिश करेंगे अब आपके पास प्रोग्राम तो था जी ग्रेटेस्ट और सी नंबर का और आप इसको इनपुट डाल रहे हैं एबी सी डी पता नहीं क्या क्या कुछ भी डालता चले जा रहे हैं तो वह से बात थोड़ी बनेगी तो आपक विशेष नेक्स्ट इन पॉसिबल होगा निमंस के लिए कोई बाइनरी बाइनरी प्रोग्राम दो आप उसको बैठे डिबग करो नोट पॉसिबल आप समझ पा रहे होगे आप ना तो रिमोविंग एरर बात नहीं बनने वाली है तो हम एरर्स रिमोव करना डेट इस वेरी वेरी डिफिकल्ट तो इसलिए इट इस डिफिकल्ट टो लंट टेस्ट डिबग एंड सेकेंड डिसेडवांटेड इस इट इस मशीन डिपेंडेंट देत आपके computer में plus का code यह था, है न, किसी दूसरे computer में plus का code कुछ ऐसे हो सकता था, मतलब 2 plus 5 करना था आपको, तो किसी दूसरे computer में आपको लिखना पड़ेगा, से ऐसे कुछ, है न, मतलब यह हो गया 2, यह हो गया 5, यह तो standard है, लेकिन यह plus का code कुछ ऐसा हो सकता है, तो इसलिए फिर यह machine dependent बन जाती है, आप यह समझ पाते हैं, जैसे हर एक अर्किटेक्चर अर्किटेक्चर अलाइक है, तो यह अर्किटेक्चर के बारे में प्रवार प्रवार करेगा, और अर्किटेक्चर अर्किटेक्चर के बारे में प्रवार करेगा, और वह सब अर्किटेक्चर के बारे में देखेंगे, और अधिकता क्या है, तो आपको नजरा रही है, यह एक अर्किटेक्चर के बारे में प्रवार करेगा, जीरो मतलब एप्सेंस, वान मिन प्रेसेंस ओफ करंट, और कंप्यूटर इन एलेक्ट्रोनिक डिवाइस, वो सिर्फ राइजन्स और एक्स्ट्रेंस ओफ करंट को बगड़ता है, जो कि हम लोग यहां पर दे पा रहे हैं, ठीक है, तो आपको आपको आधार हो गया होगा, मैं इतना अधिक अधिक अधिक अधिक अ जिनको निमोनिक्स कहा जाता था, निमोनिक्स लाइक add, sub, and so on, इस ट्रेप्स यह लोग यूज़ करते थे, एडिशन के लिए आब एडबल डी लिख दो, सब्ट्रैक्शन के लिए एस यू बी लिख दो, तो कुछ binary से तो हमारा पिछा छुटा, तो यह थोड़ा सा assembly language में advancement हुई थी, but still operands यहाँ पे binary ही चलते थे, यह बात यहाँ रखना, मतलब अगर आपको 2 plus 5 करना है, 10 add 101, ठीक है समझ गए, तो आपको देखते से आना आएगा, जहां binary आई, वहाँ पर हमारी intention पैदा हुई, तो वही बात है कि difficult to learn, test and debug, क्योंकि binary हमारे को समझ नहीं आती है, और यह बहुत अजीब अजीब से प्रोग्राम बनते थे, I think थोड़ा-बहुत आपको पता होगा, और सबसे बड़ी problem यह पैदा हुई, यह देखो, हमने mnemonics यूज़ कर रहे हैं, add, sub, mal, यह सब चीजें कंप्यूटर को कहां से समझ में आएगी कंप्यूटर तो एलेक्ट्रोनिक डिवाइस है उसको सिर्फ जीरोर बन की भाषद समझ में आते इसको कुछ समझ है तो आपने जो निमोनिक्स गुशाए है वहीं बात है कहा जाता है ना देखिए फ्री लंच आपको कोई फ्री में लंच करवा था ही डेन मोटो होगा आपके लिए कि मतलब आपसे कुछ निकलवाना चाहता होगा तभी वह लंच करा रहा है और तो आप आपने एड्स अब मलिये सब निमोनिक्स दे लिए तो यूजर को तो थोड़ी सी असानी हो गई लेकिन इसका एक बहुत बड़ा कोश्च हमारे को भूगतना मड़ेगा क्या कंप्यूटर इसको अंडरस्टेंड नहीं करेगा तो कंप्यूटर ने देखो निमोनिक वन नॉट अंडरस्टूट बाइक कंप्यूटर हेंस विनेज लैंग्वेज ट्रांसलेटर कॉल असेंब्लर देखो मैंने बना करके दिखा रखें पिक्टोरियली assembly language program हम इसको input करते हैं, और यह machine language program output में दे देता है, तो जब machine language program हमारे पास आ जाएगा, तो हम इसको input दे लेंगे, और उससे कुछ output receive कर लेंगे, क्यों कि machine language अलाज प्रोग्रम होगा, वो computer understand कर सकेगा, ठीक है, तो it's just like this, language translator simple literal बता दो, जैसे मेरे को Hindi आती है, तो हम एक वीच में language translator बिठा देंगे, जो कि मेरी Hindi को English में convert करके आपको बता देगा, computer को सिर्फ binary आती है, तो असेम्ब्ली लैंग्विज को binary में convert करने के लिए हमने बीच में assembler as a language translator लगा रखा है literal मतलब निकालो language translator जो language को translate करते है एक से दूसरे में convert करते है and so on ठीक है ओके तो I think clear हो गया होगा सबको मैं क्या कह रहा हूँ ठीक है जी तो ये था पड़ा सा कहानी assembly language की ठीक है note down करें न ये सब एक ही page पे है ठीक है जी उसके बाद आई high level language तो next slide पे हम आ गए है आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको बात करेंगे, आपको और ये सब्सक्राइब कर लो user है, तो ये user के नज़दी कौन सी रहती है जी, high level language, ठीक है, तो इसलिए इसको high level कहते है, high level because it is close to user, that means it is understood by user, and low level को low level क्यों कहते है, because it is close to hardware, लोग लेवल के लिए इस प्रतिवार को आधार पर आपको आधार पर आध मतलब simple बात कर तो, hardware interaction is possible with the help of low level languages. Why? Because these are close to hardware. But high level languages के प्रूँ हम hardware interaction नहीं कर सकते हैं भी है न, hardware से तो मतलब हम बहुत दूर चले जाते हैं न, क्योंकि user के नज़ीग हो जाती हैं language, तो अब मैं किसी high level language में instruction दू, कि इस register में ये value डाल दो, that is not possible. तो hardware interaction is possible with low level languages, but high level languages are close to user, क्योंकि ये, इजी अंडर्स्टूड होती है यूजर से, बस थे, ठीक है, चलो ठीक है जी, तो हमने समझ दिया हाई लेवल लैंग्वेजिस, इजी अंडर्स्टूड बाय यूजर, फ्यू एग्जांपल, जैसे बेसिक, बेसिक था, बिगिनर्स, आल परपर, सिंबोलिक इंस्ट्रक्शन कोड, यी फुल फूर में मैंने लिखी है, नाम याद रखने की बात नहीं, सिर्फ एज़ाइ एग्जांपल मैं आपको दे रहा हूँ, कोबोल, कॉमन, बिजनेस ओरियं लैंग्वेज लैंग्वेज लैंग् टेस्टिंग डिबगिंग भी ऑफिसिडी बहुत इसी हो जाएगी है ना एंड दिजर मशीन इंडिपेंडेंट लैंग्वेज यह बहुत बड़ी अड्रेटेज थी ना तो मतलब एक मशीन में प्रोग्राम बना दूसरी मशीन में जाकर कि उसको चला पारते नहीं आ रही थी बहुत बड़ी अड्रेटेज थी लेवल लैंग्वेज लो लेवल मशीन डिपेंडेंट लैंग्वेज इसके दिस्ट बात आज यू कैसे असेमिल लैंग्वेंज में थोड़ा बहुत बांजरी था तो थोड़ा बहुत कंप्यूटर को एडवेंटेज मिल रहा था बस निमोनिक्स तो उसको हम लोग कंवर्ट कर लेते थे इसमें लेकिन अब दिक्कत यहां पर यह क्या पैदा हो जाएगी यहां पर सारा कुछ इंग्लिश में है तो फिर सब कुछ कंवर्ट करना पड़ेगा तो अब इसी बात है टाइम लगेगा असेंब्ली लैंग्वेज में असेंब्लर बीच में घुसेगा तो फिर वही बात है कंवर्जन थोड़ा सा टाइम लगाएगा बट असेंब्लर के साथ प्रोफ़ फॉर से एडवेंटेज यह रहेगी कि कुछ-कुछ तो बांजरे में दे पा रहे हैं तो बांजरे में दे पा रहे हैं तो बांजरे में दे पा रहे हैं जो की बिल्कुल English like languages थी, उनमें काम करना थोड़ा सा, मतलब हमारे को तो साहनी हो रही थी, लेकिन computer को understand करना वो बड़ा मुश्किल था, तो इसलिए यहाँ पे भी language translator के जुद पड़े थी, और ये languages काफी inefficient हो गई थी, inefficient in the sense बहुत slow थी, आपने एक program बनाया, जैसे addition of two number का program बनाया high level language में, और एक addition of two number का program बनाया low level language में, तो low level language वाला program ज़्यादा fast work करेगा, बज़ा high level language की program की, क्यों?
क्यों? कि high level language की program को convert करना पड़ेगा पहले, लैंग्वेज ट्रांसलेटर भी तो कुछ ना कुछ टाइम खर्च करेगा न भी, इसलिए वो थोड़ से स्लोव हो जाते थे, ठीक है, ओके, तो देखो, मैंने ये लिखा भी हुआ है, ये कांट बी अंडर्स्टूट बाई कंप्यूटर, हैंस, वी नीड लैंग्वेज ट्रा ठीक है जी, अच्छे यहाँ पे दो टाइप के language translator चलते थे, एक होता था compiler और दूसरा होता था interpreter, ठीक है, तो थोड़ा सा मैं आपको समझा देता हूँ इनके बारे में, है न, तो high level languages के लिए compiler और interpreter दो use होते थे, तो मैं इनको थोड़ा सा difference आपको समझा देता हूँ, फटा लाइन बार ला लेकिन यह एक प्रतिवार करने का मतलब है कि यह एक प्रतिवार भी लाइन बारे में चलता है। लेकिन यह एक प्रतिवार भी लाइन बारे में चलता है। यह एक प्रतिवार भी लाइन बारे में चलता है। यह एक प्रतिवार भी लाइन बारे में चलता है। bracket missing and so on, जो भी errors होंगे, वो राम से बता देगा आपको, ठीक है, तो list of errors, यह देग वह पॉइंट कंपाइल पर इंटरप्रेटर लाइन बाय लाइन पीस मतलब जहां पर रहा है वहीं रुक जाता है तो यह तो ऑब्युसी बात है बताओ मेरे को डीबग इंटरप्रेटर में कियोंकि जहां रहा है वहीं रुक गया है तो ठीक है जिस आप डीबग आप आएगी क्योंकि पूरा लिस्ट आपको लाइन ढूंढनी पड़ेंगी एंड सॉन तो डिफिकल्ट इसी है अच्छा जी कंपाइलर फास्ट होगा इंटरप्रेटर स्लोह होगा इस विषय क्यों है थोड़ा सा मैं आपको समझा देता हूं वैसे यह सब चीजें फास्ट लोग वाली यह सब बातें मैं आपके साथ डिटेल में करूंगा कंपाइलर के सब्जेक्ट पढ़ाऊंगा वहां पर थोड़ा सा आईडिया मैं आपको देता हूं देखो बजे जो कंपाइलर यह आपको पता है कि किसको इनपुट होगा असेंबलर को और असेंबलर बना करके देगा मशीन कोड मशीन कोड और बाइनरी कोड ठीक है और फिर इस मशीन कोड को ठीक है हम लोग देंगे कुछ इनपुट और उससे कि कहानी exactly होती क्या है, ठीक है, high level language का program था, आपने compiler को दिया, उसने assembly language में convert कर दिया, assembly language का program, फिर assembler के पास जाएगा, machine code बनेगा, और machine code को फिर हम लोग कुछ input देते, और कुछ output receive करते हैं, तो तीन stages में काम हो रहा है, compiler के case में, but interpreter के case में क्या होता है, interpreter के case में, हम लोग program भी दे देते हैं, जो भी high level language का program होगा, साथ साथ input भी दे देते हैं, मतलब addition of two number का program था, 2,3 ये दोनों दे दोगे, और interpreter सिधा आपको output बार देता है क्या? 5, 2 plus 3 is 5, ठीक है, तो ये कहानी है interpreter की, तो ये सारा एकी step में काम कर देता है, बट जो हमारा compiler था, है न, वो तो 3 step में काम कर रहा है, तो आपको लगे तो compiler बहुत slow होना चाहिए, और interpreter तो बहुत fast होना चाहिए, लेकिन actually ऐसा है न, देखो problem क्या है, अगर आप अपने अपना प्रति देना चाहते हैं, तो इंटरपेटर के लिए आपको प्रोग्रम और प्रति देंगे इंटरपेटर दुबारा काम करेगा, इंटरपेटर अपने प्रति देगा और उसके बाद आपको प्रति देगा लेकिन इंटरपेटर के बारे में तीन स्टेज में काम करने का फायदा है इसलिए compiler फास्ट होता है, थोड़ा सा आपको मैंने rough idea दिया है, detail मैं आपको compiler design में समझाऊंगा, basic basic idea आपको मिल गया होगा, यहाँ पर मैं क्या कहाना चाहा हूँ, तो इसलिए याद रखना, compiler fast होता है, और interpreter slow होता है, ठीक है, उसके बाद, अब compiler में मैंने आपको समझा दिया, कि यहाँ पर कोई output वगैरा नहीं आ रहा हूँ, compiler ने तो simply assembly language program बना के दे दिया, output मतलब वो addition of two number था, लेकिन interpreter ने output भी दिया है, तो interpreter ने output दिया है, but compiler ने output नहीं दिया है, ठीक है जी, और RAM की requirement obviously compiler के लिए ज्यादा होगी, interpreter के लिए कम होगी, क्यों, क्योंकि इसने list of error सारा maintain करना है and so on, तो इसलिए इसको RAM की requirement ज्यादा है, ठीक है, तो I think clear होगा होगा सबको, मैं छोटा कर देत मैं यह भी आपके लिए पढ़ देता हूँ, देखो मैंने क्या लिखा है, कि यह प्रोग्रामिंग लैंग्विज में यूज कंपाइलर और इंटरपेटर बट नोट बोथ, या तो कंपाइलर यूज करेगी या इंटरपेटर यूज करेगी, अब विशेबात है दोनों का क्य आगे बढ़ते हैं हम लोग तो उसके बाद हमारे पास हाई लेवल लैंग्वेज के बारे में काफी कुछ पढ़ लिया आप आई दी फोर्स जनेशन लैंग्वेज फोर्स जनेशन लैंग्वेज का आप देखो बेसिक एम क्या था जो इसको डवलप करने का बेसिक एम था वो कम से कम input से maximum output निकले, that was the basic aim of 4th generation language. इसके best example थे जी visual basic structured query language, sql, ये तो हमारे syllabus में भी है, DBM से मैंने पढ़ा रखी है, आप वो देख सकते हैं, ठीक है, तो visual basics, sql, ये सब examples है 4th generation language के, जैसे drag कर लिया, एक button बना लिया, फिर text box बना लिया, text box के अंदर कुछ double click करके, आपने देखा होगा विजियो बेसिस के बारे में आपने भी टेक में थोड़ा बहुत आइडिया लिया होगा नहीं लिया तो थोड़ा सा मैं आपको बता रहा हूँ इसमें ड्रैग एंड ड्रॉप चलता है सारा कुछ है ना बटन आपने ड्रैग किया ड्रॉप किया तो एक बटन बना लिया बटन का नाम चेंज कर लिया फिर टेक्स बॉक्स बना लिया ग्राफिक्स का यूज़ करना पड़ता है, और इस तरह तो यही आपको देखना था, इस प्रश्न पर फोर्स्ट जनेशन लैंग्विज को डवेलप करने का, कि कम से कम इन्पुट से मैक्सिमम आउटपूट हम लोग लेकर आ सके, तो यही फोर्स्ट जनेशन लैंग्विज का इम था, अच्छा अधिकता वही बात है, आप समझ पा रहे होगे कि बहुत बात दिन आपको उपयोग करने के लिए ज़रूरत दिन आपको उपयोग कर रहे हैं। बहुत जल्दी जल्दी हम लोग उपयोग कर पा रहे थे इसके प्रूँचियों के लिए। यही सबसे बड़ी इसके अधिकता था। आपको समझ पा रहे होगा कि वह बहुत बहुत बहुत बहुत ब कि कम अफिशेंट रहेंगे यह कि कन्वर्शन में बहुत अधिक टाइम लेंगे कंपीटर को बिल्कुल समझ नहीं आएंगे यह सब ठीक है तो इस वाले बाद फोर्ट जनेशन लेंगे जैसे आपको प्रोडक्टिव देता हूं सिलेक्विक का है तो बहुत बड़ा है वह तो मेमोरी रिक्वेशन बहुत ज्यादा है उसके लिए रेम की रिक्वेशन बहुत ज्यादा रहती है लुट लुट लुट इस पर आपको दे रहा है, यह उपर ऊपर से आईडिया दे रहा है, मैं इस पर आईडिया दे रहा हूं, इस पर एक इंटरेस्ट्री बता रहा हूं, इंटरेस्ट्री बता रहा हूं, कि इस पर कैसे आईएंड्स आईएंड्स आईएंड्स आईएं यह तो यह सब करेटर इजर इंटरफेस से मतलब करेटर इजर इंटरफेस तरह में ना यूनिक्स में भी करेटर इजर इंटरफेस है अब तो ग्राफिकल इजर इंटरफेस आ गए हैं बट पहले करेटर इजर इंटरफेस पर चला करता था जब बड़ी-बड़ी मेंफ्रेम सिस्टम पर हम लोग चला करते हैं यूनिक्स को तब ऐसा था बट तो फिर ग्राफिकल आ गया है और सौन ठीक है जितो करेटर इजर इ और fifth generation language ने हमारे को voice interaction दिया था, natural language processing and so on.
ठीक है, तो अब आपको यह लगेगा, लगबख सद आदा घंटा हो गया, आपने C language के बारे में तो बात ही नहीं करी, सारी history बता दी, language के सब कुछ बात हो गई, लेकिन C कहां गई वही? Actually, जो यह हमने four categories दिखाई है ना, आपको languages के, यह star category दिखाई थी, इन में कहीं पे भी C language लाइ नहीं करती, C language actually लो लेवल और हाई लेवल के बीच में लाइ करती है, and hence it is known as middle level language, so C is a middle level language, ध्यान रखना. मिडल लेवल लैंग्वेज का मतलब क्या होगा इसकी पास दोनों के फीचर्स होंगे लो लेवल के भी और हाई लेवल के भी हाई लेवल के फीचर्स मतलब एट विजीट ऑनडर्स्टूड जैसे एक इंग्लिश लैंग्वेज है तो इजीली अंडर्स्टूड हो जाएगी औ आपको पता है कर्नल की जितनी भी प्रोग्रामिंग होती है ना operating system का जो main part होता है that is kernel उसकी जितनी भी programming होती है अभी भी वो C language में की जाती है ठीक है तो मतलब बहुत advantages है इस language के इसको हम लोग mothers of all languages भी कहते हैं कि हर एक अगर जिस भी language को आप सिखना चाहते हो तो उससे बे� यह बहुत बदल नहीं है, यह सिंटेक्स के लिए बहुत बदल है। यह बहुत बदल है, यह सिंटेक्स के लिए बहुत बदल है। यह बहुत बदल है। यह बहुत बदल है, यह सिंटेक्स के लिए बहुत बदल है। जो भी चीज़ आप सोच सकते हैं जिस भी चीज़ का प्रोग्राम बना सकते हो हर एक प्रॉब्लम के लिए जो भी आप सोच सकते हो उसका प्रोग्राम अगर बन सकता है तो वो सी लैंगेज में प्रोग्राम जरूर बनेगा टॉफ़ट बनाओ जो बनाना चाहते हो वह बना सकते हो लेकिन ऐसा नहीं करने सकते और इन फैक्ट आपने सुना होगा यूनिक्स ऑपरेटिंग सिस्टम पूरा कप्त पूरा C language में बना हुआ, entire operating system is built using C language only, ठीक है, तो hardware interaction ends on, यही सबसे बड़े features है C language, इसके कारण, यह अब तक ticky हुई है, और अब तक चल रही है, तो बहुत languages आई, बहुत languages गई, कोबोल, Pascal, नाम नहीं सुना आप लोगों ने इनका, है न, कोबोल का common business oriented language, इनके नाम कहां सुनिया भी आप लोगों ने मेरे को जरा समझाओ को बोल फोर्माट ट्रांसलेशन बेसिक बिगनर आलप पर पसिबल एक्सडेक्शन कोड इसे मैंने आपको सिर्फ एग्जांपल के दौर पर दे दिया बेसिक का एडवांस वर्जनता विजुअल बेसिक ठीक और हमारे पास इसके लिए एक computer में प्रोग्राम बनाया जा सकता है तो प्रोग्राम मैं आपको C language में बना करके दिखा सकता हूँ ठीक है इसमें इतनी power है आपको बहुत प्रॉब्लम्स आई डिसाइडेबल है वो सब तो TOC में आपने पढ़ा है बाकि सब अंडिसाइडेबल है ठीक है इस सब आपने देखा होगा ठीक है जी तो ठीक है, मैंने देखो, जो अभी points मैंने थोड़ा जल्दी-जल्दी बोल दिया है, वो सब मैंने लिखी हुआ है, मैं आपको एक बार फटा-फटा पढ़े के सुना देता हूँ, देखो, she lies in none of the above category, है ना, तो she is present between low-level and high-level language, hence it is known as middle-level language, and hence she is having features of both high-level and low-level, that is, it is easy to understand like high-level, and powerful as that of low-level language, hardware interaction and so on, हम सब कुछ इसके थूँ कर सकते हैं, ठीक है जो यह किसने इन्वेंट करती है डैनिस रिचे ने 1972 में बैल लैप्स यूएसे में इतनी पुरानी लैंग्ज़ा 1972 की कितने साल हो गए देखना जरा इसको आई थिंग 40-50 इयर्स हो चुके हैं और अब तक ही चल रही है ठीक है कारण इसका यह सारी कर्नल की प्रोग्रा तो एक स्टुडेंट में से पढ़कर गया था और वह फाइनली यूएससे में जॉब कर रहा है डॉबी में इस टाइम और मास्टर्स में मास्टर जब वह कर रहा था तो उसने में बहुत एप्रेसिशन किया था स्पेशल इसने मैसेज करके मुझे बताया था कि सर आपने मु� ठीक है, तो आगे देखते हैं, तो C is very powerful language, देखो मैंने लिखा है, C is very powerful language, in the sense that we can make any kind of application with it, है न, we can make any kind of application with it, like virus, antivirus, games, text reading, software, operating system, etc., operating system का example Unix, जो की पूरा का पूरा C language पर based है, ठीक है, चले ठीक है, जिस is all about basic introduction to C language, I hope you have enjoyed the lecture thoroughly, और फिर next lecture से basic basic terms हैं, कुछ जो, मुझे आपको clear करनी है, और उसके बाद फिर हम लोग C की programming properly start करतेंगे, एक दो lectures अभी थिवरी के चलेंगे, उसके बाद फिर C programming properly start हो जाएगी, ठीक है, okay, thank you so much, bye-bye.