Online Computer Courses Classes and Training Program

Introduction to C Language

Introduction to C Language
Introduction to C Language
 
हेलो फ्रेंड्स मैं हूँ अजय , स्वागत करता हूँ DDRI वेबसाइट पर । इस कोर्स को करने के बाद आप C Programming के चैंपियन बन जायोगे। ये कोर्स बिलकुल फ्री में उपलब्ध है हमारे वेबसाइट पर। ये कोर्स उन लोगो के लिए है जो जीरो से प्रो level तक सीखना चाहते है। या फिर हो सकता है अपने अभी कंप्यूटर प्रोग्रामिंग स्टार्ट ही किया हो। ये कोर्स ऐसे लोगो के लिए भी है जो रिसेंटली कंप्यूटर प्रोग्रामिंग स्टार्ट की है। और वो ओर एक्स्प्लोर कर रहे है की Computer Programming Kya Hoti hai किस तरह सीखी जाती है। और वो एक अच्छे प्रोग्राम किस तरह लिख सकते है।

 C Language in Hindi Tutorial

 Contents
  1. Introduction
  2. Version of C language
  3. Features of C language

 

Introduction

C एक structured general purpose programming language है। इसे Unix operating system को दोबारा लिखने के लिए develop किया गया था। इससे पहले Unix operating system को B लैंग्वेज में लिखा गया था।  लगभग पूरा Unix ऑपरेटिंग सिस्टम और उसमें चलाये जाने वाले ज्यादातर प्रोग्राम्स C लैंग्वेज में ही लिखे गये है।

C लैंग्वेज को Dennis Ritchie ने 1972 में bell laboratories में ही develop किया था। C लैंग्वेज बहुत से डाटा टाइप प्रोवाइड करती है।

C एक बहुत ही short और simple language थी। इसीलिए कम ही समय में बहुत अधिक पॉपुलर हो गयी और इसे दूसरे कंप्यूटर साइंटिस्ट भी प्रयोग करने लगे।

C लैंग्वेज की पॉपुलैरिटी में आज भी कोई कमी नहीं आई है।  किसी भी दूसरी प्रोग्रामिंग लैंग्वेज को सिखने से पहले C लैंग्वेज को सिखाया जाता है। क्योंकि C लैंग्वेज के बाद जीतनी भी प्रोग्रामिंग लैंग्वेज (C++ , Java , PHP , C# आदि) आई उन्होंने किसी न किसी तरह C के syntax को अपनाया है।

Versions of C  language

C इस समय की सबसे अधिक यूज की जाने वाली प्रोग्रामिंग लैंग्वेज है। इसे 1970 के दशक में डेवेलोप किया गया था। 

C 1989 तक American National Standards Institute (ANSI)और उसके बाद से International Organization for Standardization  (ISO) के द्वारा standardize की गयी है। 

शुरुआत से लेकर अब तक C  लैंग्वेज के कई versions (Standards) release हो चुके है। C language के कुछ popular versions (standards) के बारे में निचे बताया जा रहा है। 

  • K & R - यह original C language version था जो Brian Kernighan और Dennis Ritchie द्वारा पब्लिश किया गया था। 
  • C89 - C का first standard ANSI द्वारा 1989 में publish किया गया था।  इसे ANSI C और C89 नामों से जाना जाता है। 
  • C99 - 1999 में ISO द्वारा C का नया स्टैण्डर्ड पब्लिश किया गया। इसमें कुछ नए built in data types , keywords ,header files और libraries ऐड की गयी थी। 
  • C11 - 2007 में ISO द्वारा C का एक और स्टैण्डर्ड पब्लिश किया गया। इसमें type generic macros , anonymous structures और multi-threading जैसे नए features add किये गए थे। 
ऊपर दी गयी versions की लिस्ट में C11 सबसे latest version है। 

Features of C Language 

C लैंग्वेज की पॉपुलैरिटी उसके फीचर्स के कारण रहे है।  ये फीचर्स C लैंग्वेज को यूनिक और पावरफुल बनाते है। C लैंग्वेज के फीचर्स की लिस्ट निचे दी जा रही है। 

Structured 
C एक structured programming language है। C में किसी program को छोटे - छोटे modules के रूप में create किया जाता है , जिन्हें functions कहा जाता है। ऐसा करने से programs को manage और debug करने में आसानी रहती है और बड़ी प्रॉब्लम को भी आसानी से किया जा सकता है। 

Small 
C 32 reserved keywords provide करती है। ये keywords programmer को language पर control provide करते है। इन keywords के उपयोग को समझ कर आप C लैंग्वेज में प्रोग्रामिंग कर सकते है। 

C लैंग्वेज के small होने से इसे कम समय में easily learn किया जा सकता है। साथ ही इसे उसे करने में भी आसानी होती है 

Middle Level 
C एक middle level language है। C high level (software के बहुत करीब) और लो लेवल (hardware के बहुत करीब) दोनों तरह की applications create करने में सक्षम है। 

C लैंग्वेज का यह फीचर्स उन प्रोग्रामर्स के लिए एक advantage है जो low और high दोनों ही levels की applications  create करना चाहते है। यह feature C language को flexible बनाता है।

Fast
C language assembly language के बाद सबसे fast language मानी जाती है। इसे कई बार low level language भी कहा जाता है। C language hardware के करीब होती है। इसलिए ये दूसरी programming languages से fast होती है। C language में create की गयी applications की processing fast होती है।

Why Learn C Programming Language ? 

C programming language बहुत पुरानी language है।  मैं आज आपलोगों को ये बताऊंगा की C Programming आपलोगों को क्यों सीखना चाहिए। ये आज के दौर में भी उतना ही इम्पोर्टेन्ट क्यों है जितनी काफी  पहले हुआ करती थी। आज तो मैं ये कहूँगा की इसकी इम्पोर्टेंस धीरे धीरे बढती ही जा रही है। ऐसा क्यों है ? और क्यों आपलोगों को C Programming सीखनी चाहिए इस पोस्ट में हमलोग ये सीखेंगे की आज के टाइम में किस technique को अपना के हमे c सीखना चाहिए। जॉब मार्केट में c प्रोग्रामिंग किस तरह इम्पोर्टेन्ट है।  किस तरह हम मार्केट को dominate कर सकते है। ये courses कैसे बाकी कोर्स से अलग होने वाला है। 

अब C Programming आपलोगों को क्यों सीखना जरुरी है इसको जरा समझ लेते है। कुछ ही सालों में C Programming अब अपना 50वा जन्मदिन मनाएगी PRO-LOG और PL  नामक language के साथ शेयर करेगी। C Programming इन 50 सालों में इतना नाम कमाया इतने प्रोग्रामर के दिलो में जगह बनाई की आपलोग सोच भी नहीं सकते और PL , Prolog जैसी languages को काफी पीछे छोड़ दिया है। C प्रोग्रामिंग अगले 5 से 10 सालों में और पॉपुलैरिटी गेन करने वाली है। इसकी पॉपुलैरिटी टाइम के साथ बढ़ती ही जा रही है। ये सब देखकर ऐसा लगता है की फ्यूचर में C Programming का स्कोप कभी खत्म ही नहीं होने वाला हर साल के किसी भी तरह के डेवलपर सर्वे में C प्रोग्रामिंग टॉप 10 प्रोग्रामिंग languages में हमेशा रहती है। C प्रोग्रामिंग software मार्किट में सबसे ज्यादा पोपुलर स्किल्स में एक है। ये सबसे demanding स्किल्स में से एक है। 

और अगर आपको C प्रोग्रामिंग आती है तो आपके हायर होने की चांस 10 गुना से भी ज्यादा बढ़ जाती है। इसकी वजह ये है की C फ़ास्ट है , पोपुलर है और इजी to use है। जिन हाँ आप ने सही सुना C काफी इजी to use है।  अगर आप कुछ construct को दिमाग में रखते है और उन construct को इस्तेमाल करते है अच्छा कोड लिखना सीखते है। C काफी powerful है एक बार आप समझ जाते है की किस तरह चीजें काम करती है। 
 

C इतनी फ़ास्ट क्यों है।

अब बात करते है C इतनी फ़ास्ट क्यों है। C इतनी फ़ास्ट इसीलिए है क्योंकि C में programmer के हाथ में काफी जायदा control होता है। Programmer अपनी मेमोरी खुद मैनेज कर सकता है। Programmer के हाथ में इतना कण्ट्रोल होता है की अगर वो अच्छी तरह अपने लॉजिक को प्लान करे अपने अल्गोरिथम को प्लान करे तो मशीन लेवल कोड के ज्यादा से ज्यादा नजदीक पहुँच सकता है। जिसकी वजह से C प्रोग्रामिंग में फास्टेस्ट कोड लिख सकते है। हो सकता है वोही लोजिक पाइथन में इस्तेमाल करे तो वो फ़ास्ट ना हो इसीलिए कंप्यूटर में कभी भी आपको स्पीड चाहिए होती है तो C Programming का इस्तेमाल किया जाता है। कभी कोई ऐसी चीज आपको बनानी हो जैसे की गेम का इंजन जिसमें की एक बटन दबाते ही आपलोग एक्शन एक्स्पेक्ट करे वहां पर C Programing बहुत ज्यादा पोपुलर है। C प्रोग्रामिंग जैसी लैंग्वेज ऐसे टाइम में मशीहा का काम करती है।
 

C किस-किस ने Use की है ?

अब बात कर लेते है C किस किस ने Use की है। कौन कौन use करता है किस तरह की चीजे C में लिखी गई है।  सबसे पहले मैं बात करना चाहूँगा लिनक्स Operating सिस्टम के लिए। लिनक्स ऑपरेटिंग सिस्टम का नाम आपने जरुर सुना होगा। अगर आप कुछ टाइम से प्रोग्रामिंग करते है। जैसे की उबंटू हो गया रेड हट हो गया। ये सारे linux के डिस्ट्रीब्यूशन है। इसका मोस्ट of the पार्ट c में लिखा। C प्रोग्रामिंग language इतनी पोपुलर प्रोग्रामिंग language है की MySQL जैसा Database ऑलमोस्ट C में लिखा हुआ है पूरा । MySQL एक ऐसा Database है जो की सभी लोग आज use करते है आज की तारीख में।  बहुत सारे प्रोडक्शन  डेटाबेस  server है उनमें MySQL run करता है।  तो आप लोग समझ ही सकते है C प्रोग्रामिंग कितनी ज्यादा पोपुलर है।  उसी के साथ साथ Python का जो C-Python है। C प्रोग्रामिंग की मदद से लिखा गया है। इसके साथ साथ Ruby प्रोग्रामिंग language है PERL प्रोग्रामिंग language है उसका भी मोस्ट of the पार्ट C में लिखा गया है।  इसी के साथ - साथ JAVA का जो पहला Compiler जो था वो C प्रोग्रामिंग language में लिखा गया था।  और आपलोग को जानकर हैरानी होगी की जितनी भी ऑपरेटिंग सिस्टम है उन सभी में ज्यादतर पार्ट C में लिखा गया है। 

इन सबका रीज़न क्या है ?

इन सबका रीज़न है यह है की C is the lowest level portable  language इसका मतलब ये है की C एक ऐसी lowest language है की जिसमें आपके हाथ में इतना कण्ट्रोल होता है की मशीन कोड तक पहुँच सकते है।  C language से low level की बात करूँ तो असेंबली language है लेकिन असेंबली लैंग्वेज में कोड करना बहुत ज्यादा मुश्किल हो जाता है।  अब अगर आप ये बात नहीं समझ रहे है की असेंबली language क्या होता है CPU इंस्ट्रक्शन क्या होते है , CPU Cycles क्या होते है ? तो मैं आपलोगों से कहूँगा। आप थोड़ा सा वेट करे और C प्रोग्रामिंग को सीखें अपना पूरा फोकस C प्रोग्राम्स बनाने में दें और इस पार्ट में जायदा न घुसे की कम्पाइलर कैसे काम करता है। कैसे ये सब चीजे होती है। 
 
जबतक आपलोग बेसिक प्रोग्राम लिखने में सफल ना हो जाये तबतक इन सब चीजो में ना घुसे और हाँ यह सब चीजे इम्पोर्टेन्ट है और हमलोग देखेंगे आगे के आने वाले टुटोरिअल में इन सब चीजो को भी थोड़ा बहुत टच करेंगे। यहां पर मैं सिर्फ C का चैंपियन बनाना चाहता हूँ। इस टुटोरिअल सीरीज की सहायता से। 

तो जैसा की मैंने बताया C लोवेस्ट लेवल पोर्टेबल लैंग्वेज है एक ऐसी भाषा है जिसकी मदद से आपलोग CPU instructions के सबसे नजदीक पहुँच सकते है। जिसकी वजह से ये बहुत फ़ास्ट रन करती है। अब क्या होता है की पाइथन जैसी भाषा में जब हम  प्रोग्रामिंग करते है तो वो थोड़ी सी इजी हो होती है तो अगर syntax बहुत आसान हो किसी language का तो उसमें कॉम्पेरमइज आ जाता है स्पीड का लेकिन C में क्या है की उसका Syntax भी आसान है कम्पेयर to वो जितनी स्पीड प्रोवाइड करती है। और इसीलिए C Programming लैंग्वेज को पाइथन जैसी लैंग्वेज की लाइब्रेरी को जैसे की num pi इन सारी लाइब्रेरी को C लैंग्वेज में लिखा गया है। और उसका पाइथन डिस्ट्रीब्यूशन बनाया गया है फिर पाइथन programmer उसका use करके प्रोग्रामिंग का कोड रन कर सकते है जिससे की उनका कोड फ़ास्ट run करेगा। 

तो C प्रोग्रामिंग का use दूसरी प्रोग्रामिंग लैंग्वेज को सपोर्ट करने में आज की तारीख में भी किया जाता है। तो यार अगर आपलोग जॉब की तलाश में है और जॉब की तलाश मार्केट में सर्च कर रहे है। इस तरह के कंपनी में जाते है जो इस तरह के वर्क कर रही है तो आपको C लैंग्वेज आना मस्ट है। 

C प्रोग्रामिंग जो है वो C++ सिखने के लिए बहुत आसान बना देती है।  क्यों कि C++ सीखना आपके लिए मैं कहूँगा की आप 60% C++ सिख लिया अगर आप ने C प्रोग्रामिंग सिख ली है तो आप रेडी है C++ सिखने के लिए। 
 
आप ज्यादा से ज्यादा परफॉरमेंस निकालना चाहते है अपने प्रोग्राम से कम समय में और ज्यादा से ज्यादा एक्यूरेसी के साथ और जहाँ पर चाहते है मेमोरी जैसी चीजे आपके कण्ट्रोल में रहे सबकुछ तो वहां पर आप C Programming का इस्तेमाल करते है। यही वजह है की हाफ ऑफ़ वेब जो की APACHE और NGNIX सर्वर द्वारा चलता है। वो C Programming में ही लिखे गए है। 

अगर आप वेबसाइट development से जुड़े है तो आपको पता होगा की APACHE और NGINX क्या होते है। ये Web Server होते है जिनकी मदद से स्केलेबल वेबसाइट को सर्व किया जाता है। तो मार्केट में कितनी भी लैंग्वेज आ जाये PERL हो PYTHON हो , RUBY हो या JAVA हो। C Programming ऐसे ही सभी के दिलों में जगह बना के रखेगी। और आज से 5 से 10 साल तक C Programming की डिमांड आगे ही जाते जायेगी। 
 

What is Coding & Programming Language ?

आज जो मैं बताने वाला हूँ काश 4 साल पहले बता दिया होता तो यार मजा ही आ जाता मेरी जो लाइफ है थोड़ी चेंज हो जाती जिस हिसाब से मैं ने प्रोग्रामिंग करना सिखा वो थोड़ा बहुत तो change हो ही जाता। 

फ्रेंड्स आप कुछ भी करते है कंप्यूटर के थ्रू तो C में लिखते है कोड Python में लिखते है कोड ये टुटोरिअल तो c का है मगर तब भी मैं आपलोगों से जेनरली बात करता हूँ। किसी भी language में आप लोग कोई भी कोड लिखते है तो programing क्यों की जाती है ?  क्या हम कंप्यूटर से ये नहीं कह सकते यार Hello World लिख दो। ऐसा कर दो , वैसा कर दो हम ऐसा क्यों नहीं कर पाते है ? ये मैं आज आपलोगों को बताता हूँ। 
 
फ्रेंड्स coding या प्रोग्रामिंग किसी भी भाषा में हो , वो हमारे और कंप्यूटर के बीच में interaction का एक जरिया होता है। वो एक जरिया होता है जिससे हम कंप्यूटर को बताते है की हम क्या करना चाहते है। जिस तरह मैं अपनी बातों को व्यक्त करने के लिए अभी हिंदी भाषा का प्रयोग कर रहा हूँ और आप लोगो को समझा रहा हूँ की C language क्या होती है ? प्रोग्रामिंग क्यों करते है ? कोडिंग क्यों करते है ?  
 
उसी तरह कंप्यूटर को बताने के लिए की स्क्रीन पर Hello World लिखना चाहते है या फिर आप अपनी ऑडियो रिकॉर्ड करना चाहते है या फिर आपलोग कोई मूवी देखना चाहते है।  इस तरह के कंप्यूटर प्रोग्राम्स बनाने के लिए आप लोगो को एक language का इस्तेमाल करना पड़ता है। आपको इंटरैक्ट करने के लिए कंप्यूटर से एक चीज का use करना पड़ता है एक कंप्यूटर language का use करना पड़ता है एक माध्यम का use करना पड़ता है। यही माध्यम होती है coding , यही माध्यम होती है प्रोग्रामिंग language जिससे आप अपनी CPU को बताते है की क्या करना है?
बिलकुल उसी तरह जैसे मैं आपलोगों से हिंदी में बात कर रहा हूँ। हम लोग एक दुसरे से बात करते है अपनी भावनाओ को व्यक्त करते है उसी तरह कंप्यूटर से बात करने के लिए प्रोग्रामिंग लैंग्वेज की जरुरत पड़ता है।   
 
कंप्यूटर एक डम्ब मशीन होती है जी हाँ आप लोगो ने बीलकुल सही सुना कंप्यूटर एक बहुत ही डम्ब मशीन होती है। उसको समझाने के लिए CPU को समझाने के लिए जिसको की ब्रेन of कंप्यूटर भी बोलते है Central Processing Unit आप लोगो ने जरुर सुना होगा। अगर नही सुना है तो मैं बता देता हूँ CPU जो कि ब्रेन of  कंप्यूटर होता है  वहां पर जाकर instructions एक्सीक्यूट होते है। 

जो CPU होती है उसको चाहिए उसके द्वारा समझे जाने वाली भाषा की क्या करना है ? आप अगर उसको instruction भेजेंगे की इसको इसमें कॉपी कर दो तो वो कॉपी कर देगा ऐसा कर दो, वैसा कर दो तो उसको उसकी भाषा में चीजे चाहिए होती है की क्या करना है और अगर आप हिंदी में बोलेंगे की Hello World प्रिंट कर दो ऐसा कर दे वैसा कर दे तो वो यार बिलकुल नहीं समझेगा यही प्रॉब्लम होती है कंप्यूटर की इसीलिए मैंने कंप्यूटर को डम्ब मशीन बोला। 
 
CPU जो भाषा समझती है वो है 0 , 1 की भाषा जो हम लोग नहीं बोल सकते और अगर बोल भी सकते तो बहुत मुश्किल होगी हमलोगों को छोटे-छोटे काम करवाने के लिए अपने कंप्यूटर में 
 
तो यार इसका solution क्या है ? इसका solution सिंपल है इसके लिए आप लोगो को एक level of abstraction जाना पड़ेगा मैं आपलोगों को समझाता हूँ मेरा कहने का मतलब क्या है। 
फ्रेंड्स कोई भी एक कंप्यूटर सिस्टम होता है उसमें abstraction लेयर होती है की CPU जो भाषा समझता है कोई ओर चीज उसे फीड करती है वो भाषा और उस हिसाब से रियेक्ट करता है। जैसे ही आप ने कीबोर्ड या mouse का बटन दबाया instruction को ट्रेवल करने में मदद करी और वो instruction CPU की भाषा में CPU तक पहुँचा। इसी तरह आप कुछ भी र्पोग्राम बनाते है तो आप लोग चाहते है CPU को बताए की आप क्या करवाना चाहते है।  आप कौन सा प्रोग्राम लांच करना चाहते है। किस file को कहाँ कॉपी करना चाहते है।  
 
अभी Basically बस इतना समझ लीजिये की कंप्यूटर एक डम्ब मशीन होता है। तो उसकी भाषा को बनाने के लिए हम प्रोग्रामिंग लैंग्वेज लिखते है। यानी की हम जो प्रोग्रामिंग लिखते है वो compile होके मशीन लैंग्वेज में convert होती है जिसको CPU फाइनली समझता है। 
 
अगर आप लोग को मेरा आर्टिकल अच्छा लग रहा तो फ्रेंड्स इसे अपने दोस्तों के साथ जरुर शेयर करें और किस टॉपिक के ऊपर मैं लिख कर आप लोगो जानकारी दूँ तो आप कमेन्ट में लिख कर बता सकते है। इस कोर्स को डिटेल्स में लिखने का यही मोटिव है की ये ज्यादा से ज्यादा लोगो तक पहुंचे। मैं आप सभी से रिक्वेस्ट करूँगा की इस को सपोर्ट करते हुए अभी आप WhatsApp , Facebook जितने भी ग्रुप्स है सभी में शेयर कर डालिए। और ज्यादा से ज्यादा लोगो तक फैला दीजिये। चाहे वो आपके स्कूल के प्रोग्रामिंग का Group हो या जॉब की टीम का Group हो दिखा दीजिये सभी को की यहाँ पर हिंदी में C Programming का Course स्टार्ट हो चूका है। और मैं चाहता हूँ ज्यादा से ज्यादा ज्वाइन करे लोग। मुझे पता है आप लोग मुझे सपोर्ट जरुर करेंगे। इससे होगा क्या की मैं इससे ज्यादा से ज्यादा प्रोग्रामिंग के Courses Free में लाऊंगा।  

next post :


Post a Comment

1 Comments

कमेंट केवल पोस्ट से रिलेटेड करें