What is Programming in C? Know Programming in C in Details in Hindi?
PROGRAMMING IN C
C एक General Purpose High Level Programming Language है जो Portable Applications और Firmware को Develop करने के लिए Use की जाती है। इसे मूल रूप से System Software और Operating System को Develop करने के लिए डिज़ाइन किया गया है।
हिस्ट्री ऑफ़ Programming in C
अगर C Programming Language के इतिहास (History) की बात करे तो इसका विकास 1972 में Dennis Ritchie द्वारा AT&T (American Telephone & Telegraph) की Bell Laboratories में हुआ था। शुरुवात में C language को UNIX Operating System में उपयोग करने के लिए Design किया गया था।
इससे पहले 1967 में, BCPL (Basic Combined Programming Language) नामक एक भाषा को मुख्य रूप से System Software लिखने के लिये develop किया था। इसके बाद BCPL के कई Features का उपयोग करते हुए एक नयी भाषा B बनाई गयी। B Language के उपयोग से ही UNIX Operating System के शुरुआती संस्करण बनाये गए थे। सी लैंग्वेज इन दोनों भाषाओ B और BCPL का मिला जुला रूप है।
यूनिक्स ऑपरेटिंग सिस्टम के Program की Coding पूरी तरह से सी लैंग्वेज में की गयी है। सी भाषा तब अधिक लोकप्रिय हुई जब Brian Kernighan व Dennis Ritchie ने “The C Programming Language” नामक एक पुस्तक प्रकाशित की। आज C Program कई नयी Programming लैंग्वेज में इस्तेमाल किये जाते है। यह तो था सी भाषा का इतिहास चलिए अब जानते है, C Language कहां उपयोग की जाती है।
Programming in C का परिचय
C Language का अविष्कार 1972 में Dennis Ritchie ने Bell Telephone laboratories में प्रमुख रूप से एक System Programming Language के रूप में किया था। System Programming Language का तात्पर्य एक ऐसे Language से है, जिसका प्रयोग Operating Systems लिखने में किया जाता है।
C का अविष्कार करने के पीछे Ritchie का प्रमुख उद्देश्य एक ऐसा Programming Language प्रदान करना था, जो Compile करने में आसान हो, जिसे बेहतर तरीके से Memory Access करने की इज़ाजत हो, जो बेहतर Code देता हो और जिसे Run-Time-Support की बहुत ज्यादा ज़रूरत ना पड़े।
C जैसे High-Level-Language की Designing जहाँ एक Low-Level-Language की तरह की गयी थी, वहीँ दूसरी ओर इसने Platform Independent Programming को भी काफी बढ़ावा दिया ।C 1973 में इतना उपयोगी और लचीला साबित हुआ, कि Ritchie और Ken Thompson ने UNIX Operating System का एक बहुत बड़ा हिस्सा फिर से C Language में लिख डाला।
इससे पहले के Operating Systems Assembly Language में लिखे जाते थे । Assembly, जो किसी Program को एक ही CPU में बाँध देता है, से अलग C की ज़बरदस्त Portability क्षमता ने UNIX को अलग-अलग प्रकार के Computers में दोबारा Compile किये जाने की अनुमति दी, वो भी Assembly की Speed से । कहा जा सकता है की C और Unix का भाग्य एक दुसरे से जुड़ा है।
UNIX का एक Operating System के रूप में सफल होने का कारण कही न कही C की बेजोड़ सफलता ही रही है ।1978 में, Brian Kernighan और Dennis Ritchie ने “The C Programming Language” नाम के एक किताब का प्रकाशन किया । इस किताब ने, जो की K&R (इसके Authors के Last Name के आधार पर) के नाम से भी जाना जाता था, Language की विशेषताओं का एक अनौपचारिक परिचय दिया और साथ ही साथ C के लिए एक Standard की तरह बन गया।
जब Portability की अत्यधिक ज़रूरत होती थी, Programmers K&R के Recommendation को अपनाते थे, क्यूंकि ज्यादातर Compilers उस वक़्त K&R Standards पर ही आधारित थें ।1983 में, American National Standards Institute (ANSI) ने C का औपचारिक Standard पेश करने के लिए एक Committee का गठन किया।
1989 में (Committees को कोई भी काम करने में काफी लम्बा समय लगता है), Committee ने अपना काम ख़त्म कर C89 Standard Launch किया, जो आज ANSI C के नाम से जाना जाता है । सन 1990 में, International Organization for Standardization (एक संस्था) ने ANSI C को अपना लिया (पर कुछ Modifications के साथ)। C का ये Version C90 के रूप में जाना जाने लगा।
Compilers ANSI C/C90 पर बनने लगे, और Programs जिन्हें Maximum Portability की ज़रूरत थी, उनकी Coding इसी Standard के आधार पर की जाने लगी । सन 1999 के दौरान, ANSI Committee ने C का एक नया Standard, C99 Launch किया । इसमे कई नए Features जोड़े गए, जिन्हें या तो Compilers ने पहले से ही Extension के रूप में अपना लिया था, या फिर जिनका C++ में Implementation हो चूका था।
C Programming के ऊपर आधारित पहली Book क्या है?
सन 1978 में, C Programming की सबसे पहली Book “The C Programming Language”, को Publish किया गया। Book की पहली Edition में Programmers को Landuage की Informal Specification के विषय में जानकारी प्रदान की गयी थी. इसे लिखा है Brian Kernighan और Dennis Ritchie ने, यह book बहुत ही Popular बनी C Programmers के बीच “K&R” के नाम से।
Programming in C को कैसे Install करे?
Cऔर C++ के लिए बहुत सारे कंपाइलर उपलब्ध हैं। आप किसी को भी डाउनलोड कर सकते है । यहां, हम Turbo C++ का उपयोग करेंगे।
यह C और C ++ दोनों के लिए काम करेगा। Turbo C++ स्थापित करने के लिए, पूरा स्टेप देखे:-
01.Turbo C++ डाउनलोड करें।
02.C ड्राइव के अंदर Turbo डायरेक्टरी बनाएं और c: turboc के अंदर tc3.zip निकालें।
03.Install.exe पर क्लिक करें।
04.प्रोग्राम लिखने के लिए c: TC BIN के अंदर tc एप्लिकेशन पर क्लिक करें।
Programming in C क्या है?
C Language एक general purpose programming language है, जिसका उपयोग कई प्रकार के Applications बनाने में किया जाता है। C programming के द्वारा हम Windows या iOS जैसे Operating system से लेकर कई प्रकार Software विकसित कर सकते है।
यह मशीन स्वतंत्र structured programming language भी है. जिसका अर्थ है, सी लैंग्वेज के programs विभिन्न प्रकार के कंप्यूटर पर चल सकते है.इस प्रोग्रामिंग भाषा को मुख्य रूप से एक system programming language के रूप में develop किया गया था। C Programming Language को अक्सर एक middle level language के रूप में देखा जाता है, क्योंकि इसमे low level और high level languages की कई विशेषताएं होती है।
इसके कुछ उदाहरण जैसे सी लैंग्वेज प्रोग्राम को accembly code में बदल सकते है, जो पॉइंटर अंकगणित (pointer arithmetic) को support करता है।यह विशेषता एक लो लेवल भाषा मे होती है। वही यह machine independent है, जो एक हाई लेवल feature है।सी को computer programming language भी कहा जाता है.
C program, portable होते है। जिसका मतलब है, लिखा गया source code बिना किसी बदलाव के दूसरे operating system में काम करता है।
सी को compiled language का दर्जा भी दिया जाता है, क्योंकि एक बार C program लिखने पर आपको इसे निष्पादन योग्य (executable) बनाने के लिए C compiler में चलाना होगा ताकी computer इसे समझ कर चला सके। C Language बहुत ही popular, simple और flexible है. यही कारण है, कि चालीस साल पुरानी होने बावजूद आज भी इस्तेमाल की जाती है।
Programming in C के प्रकार
प्रोग्रामिंग भाषा कई प्रकार की होती है, कुछ भाषाओ को हम समक्ष सकते है, तो कुछ भाषाओ को केवल कंप्यूटर ही समक्ष सकता है। मूल रूप से कंप्यूटर प्रोग्रामिंग भाषा को तीन भागो मे विभाजित कर सकते है:-
- Low Level Language
- Middle Level Language
- High level language
(1) Low Level Language:- वह भाषा जो अपने संकेतों को मशीनी संकेतों में बदलने के लिए किसी भी ट्रांसलेटर को सम्मिलित नहीं करती है उसे Low Level Language कहते हैं अर्थात निम्न स्तरीय भाषा के कोड को किसी तरह के ट्रांसलेटर की आवश्यकता नहीं होती मशीन लैंग्वेज तथा असेंबली लैंग्वेज इस भाषा के 2 उदाहरण हैं:-
Machine language – कंप्यूटर केवल 1 और 0 की भाषा ही समझता है अतः कंप्यूटर को निर्देश सिर्फ बाइनरी कोड 1 और 0 में ही दिया जा सकता है, जो निर्देश बाइनरी कोड में देते हैं उन्हें Machine language कहते हैं। मशीन लैंग्वेज मशीनों के लिए अर्थात कंप्यूटर के लिए सरल होती है परन्तु प्रोग्रामर के लिए यह बहुत ही कठिन होती है ,प्रत्येक कंप्यूटर प्रणाली में अपना अलग निर्देशो का सेट होता है इसलिए जो प्रोग्राम एक मशीन पर लिखा होता है वह दूसरी मशीन पर नहीं चलाया जा सकता।
Assembly Language- असेम्बली भाषा में दिए जाने वाले निर्देश अंग्रेजी के शब्दों के रूप में दिए जाते हैं जैसे- NOV, ADD, SUB आदि इन्हे “mnemonic code” भी कहा जाता है,मशीनी भाषा की तुलना में असेंबली भाषा को समझना सरल होता है लेकिन जैसा कि हम जानते हैं कि कंप्यूटर एक इलेक्ट्रॉनिक डिवाइस है और यह बाइनरी कोड को ही समझता है इसलिए असेंबली भाषा में लिखे गये प्रोग्राम को मशीनी भाषा में ट्रांसलेट करने की अवश्यकता होती है। जो ट्रांसलेटर असेंबली भाषा को मशीनी भाषा में ट्रांसलेट करता है उसे असेंबलर(Assembler) कहते हैं।
(2) Middle Level Language:- ऐसी भाषाएँ जिनमे निम्न स्तरीय भाषा और उच्य स्तरीय भाषा दोनो की विशेषता होती है मध्य स्तरीय भाषा कहलाती है। मध्यम स्तर की भाषा मुख्य रूप से उच्च-स्तरीय भाषा में लिखे गए programming code का एक आउटपुट होती है, जिसे source code के रूप में जाना जाता है। मध्य स्तर की भाषा मे लिखे गये Code को CPU द्वारा execute करने से पहले translated code में सुधार करने के लिए डिज़ाइन किया गया है। इसमे लिखे गये प्रोग्राम कंप्यूटर द्वारा सीधे execute नहीं किये जा सकते है, इसके लिए इसे Binary Code मे परिवर्तित करने की अवश्यकता होती है।
मध्य स्तरीय भाषा के उदाहरण:-
(1) C
(2) C++
(3) High level language:- हाई लेवल लैंग्वेज अंग्रेजी के भाषा कोड जैसी होती है इसलिए इसमे कोडिंग करना या इसे समझना सरल होता है। High level language को एक लैंग्वेज ट्रांसलेटर की आवश्यकता होती है जो हाई लेवल लैंग्वेज के प्रोग्राम को मशीन लैंग्वेज मे ट्रांसलेट कर सके।
उच्य स्तरीय भाषा के उदाहरण:-
(1) Python
(2) JAVA
(3) C#
(4) PHP
Programming in C के Functions
Function एक Piece Of Code होता है दुसरे शब्दों में कहें तो यह प्रोग्राम में एक प्रकार से एक Sub-Program की भाँती कार्य करता है। किसी प्रोग्राम को बनाते समय कभी-कभी हमें आवश्यकता होती है कि हमें कुछ कोड्स के Execution से प्राप्त Result को प्रोग्राम में बार बार प्रयोग करना पड़ता है, ऐसी स्थिति में कोड्स को बार-बार नहीं लिखा जाता है बल्कि फंक्शन के रूप में Main() फंक्शन के बाहर परिभाषित करके एक ही स्थान पर प्रयोग कर लिया जाता है। और फंक्शन से प्राप्त Result को प्रोग्राम में प्रयोग करने के लिए उस फंक्शन को Call कर लिया जाता है। Functions का फायदा यह है कि इससे हमारा समय तथा जगह दोनों कि बचत होती है।
फंक्शन का syntax:-
function name(arg1, arg2, arg3….)
{
statement1;
statement2;
statement3;
…………….
}
Programming in C में फंक्शन दो प्रकार के होते है:-
- बिल्ट-इन-फंक्शन(Built-In-Functions)
- यूजर डिफाइंड फंक्शन(User-Defined -Unctions)
Built-In-Function:- बिल्ट-इन-फंक्शन वे फंक्शन होते है जिनके Prototype प्रोग्रामिंग भाषा “सी” की Header File में सुरक्षित रहते हैं। इन फंक्शन को प्रोग्राम में बस इनका नाम लिखकर इन्हें कॉल (Call) किया जाता है और ये प्रोग्राम में क्रियान्वित हो जाता है। इसके उदाहरण:- scanf();, printf();, strcat(); आदि.ये Function “सी” प्रोग्रामिंग भाषा के Library Functions भी कहलाते है। इन सभी फंक्शन का सम्बन्ध किसी विशिष्ट “सी” लाइब्रेरी फाइल से होता है। ये विशेष लाइब्रेरी फाइल्स Header Files कहलाती है एवं इनका Extension नाम .h होता है। अतः “सी” की लाइब्रेरी में स्थित वे सभी फाइल्स जिनका विस्तारित नाम .h होता है, हैडर फाइल्स कहलाती है।
“C” में अनेक हैडर फाइल्स इनमे से कुछ निम्न है:-
- Stdio.h
- Math.h
- String.h
- Conio.h
- time.h
- ctype.h
User Defined Function:- यूजर डिफाइंड फंक्शन वे होते है जो कि यूजर के द्वारा प्रोग्राम को लिखते समय बनाये जाते है यानी कि डिफाइन किये जाते है। यूजर को जिस प्रकार की जरुरत होती है वह अपनी आवश्यकता के अनुसार फंक्शन को Create कर सकता है। प्रोग्रामिंग लैंग्वेज “सी” में प्रोग्राम लिखने के लिए एक main() फंक्शन की आवश्यकता होती है यह फंक्शन भी यूजर डिफाइंड फंक्शन है. प्रोग्राम का Execution भी इसी प्रोग्राम से शुरू होता है। फंक्शन का नाम “सी” में प्रयोग किये जाने वाले Keywords के अतिरिक्त कुछ भी रखा जा सकता है। फंक्शन के बाद () Braces लगाना आवश्यक होता है, यह फंक्शन का सूचक होता है.किसी फंक्शन को किसी अन्य फंक्शन तथा अपने आप में Call किया जा सकता है।
Programming in C की विशेषताएं
C Language व्यापक रूप से इस्तेमाल की जाने वाली भाषा है। यह कई सुविधाएं (Features) प्रदान करती है, जिन्हें नीचे दर्शाया गया है:-
1) सी लैंग्वेज एक सरल, लोकप्रिय और बेहद Powerful Language है, क्योंकि यह कई प्रकार के Data Type और Functions प्रदान करता है।
2) यह एक Machine Independent Language है। Assembly Language के विपरीत C Program को विभिन्न मशीनों पर निष्पादित किया जा सकता है।
3) C Language का उपयोग Low-Level-Programming और High-Level-Programming दोनों में ही किया जाता है इसी कारण यह Mid-Level लैंग्वेज के नाम से जानी जाती है।
4) सी प्रोग्राम Portable होते है, यानी इन्हें किसी भी Compiler पर चलाया जा सकता है।
5) सी लैंग्वेज को Structured Programming Language भी कहा जाता है, क्योंकि हम Functions का उपयोग करके C Program को कई भागों में तोड़ सकते है। जिससे इसे समझना और संसोधित करना आसान हो जाता है।
6) C Programming Language में खोजशब्दों (Keywords) की संख्या बहुत कम है। इसके Standard Version में 32 Keywords है, जिससे इन्हें याद रखना बहुत आसान है।
7) अपनी Flexibility के कारण यह Embedded Systems Programming के लिए बहुत लोकप्रिय मानी जाती है।
8) C एक Fast Language है। इसका संकलन (Compilation) और निष्पादन (Execution) समय बहुत तेज है।
9) सी भाषा द्वारा Pointers की सुविधा प्रदान की जाती है। हम सीधे Pointers का इस्तेमाल करके Memory के साथ Interact कर सकते है। इन Pointers का उपयोग Memory, Structures, Functions, Array आदि के लिए किया जाता है।
10) यह गतिशील मेमोरी आवंटन (Dynamic Memory Allocation) की सुविधा का समर्थन करता है। C Language में हम free() Function को कॉल करके किसी भी समय Allocated Memory को मुक्त कर सकते है।
Programming in C कहाँ उपयोग होती है?
सी प्रोग्रामिंग का उपयोग विभिन्न क्षेत्रों में किया जाता है। शुरुवात में C Language का उपयोग System Development से सम्बंधित कार्यो के लिए के लिए किया गया था। परन्तु इसकी विशेषताओं के कारण आज यह अलग – अलग कार्यो में उपयोग की जाती है।
C Programming Language कहां उपयोग होती है, इसके कुछ उदाहरण नीचे दिए गये है:-
Operating System:- ऑपरेटिंग सिस्टम बनाने में C Program का सबसे अधिक उपयोग किया जाता है। यह Operating System (OS) एक प्रकार का Software है, जो Hardware के साथ संचार (Communication) करके उपयोगकर्ता (User) को एक Computer Device पर अन्य Application को चलाने की अनुमति देता है।
सामान्य Desktop Operating System में Windows, OS X, और Linux शामिल है। प्रत्येक डिवाइस Computer, Mobile, tablet में Operating System होता है। जो Device को बुनियादी कार्यक्षमता प्रदान करता है।
Compilers:- कंपाइलर एक Software Program है, जो Programming Language में लिखे गए Instructions को संसाधित (Processed) करता है और उन्हें Machine Language में बदल देता है, जिससे Computer Processor के लिये उसको समझना आसान हो जाता है। C Language का उपयोग Compiler के निर्माण में बहुत पहले से किया जाता है।
Database:- डेटा के व्यवस्थित संग्रह (Systematic Collection) को Database कहा जाता है। इसका उद्देश्य Data Management को सरल और व्यवस्थित बनाना होता है। दुनिया के सभी बड़े DBMS Software (Oracle, MySQL, MS SQL) को C Language में ही Code किया गया है. डेटाबेस सभी प्रकार की प्रणालियों में उपयोग किया जाता है।
Application Software:- C Program का उपयोग Application Software बनाने में बखूबी किया जाता है। यह आमतौर पर अंत उपयोगकर्ता (End User) द्वारा उपयोग किया जाने वाला Program या Collection of program है। अंत उपयोगकर्ता वह व्यक्ति है, जो software program और Hardware Device के बन जाने के बाद उनका उपयोग करता है। C Language के उपयोग से Database और Spreadsheet जैसे एप्लीकेशन सॉफ्टवेयर बनाए जाते है।
System Software:- सिस्टम सॉफ्टवेयर एक प्रकार का Computer Program है, जिसे कंप्यूटर के Hardware और Application Program को चलाने के लिए डिज़ाइन किया जाता है। C Programming Language का उपयोग Operating System और Compiler जैसे System Software को डिज़ाइन करने में उपयोग किया जाता है।
Network Driver:- नेटवर्क ड्राइवर के Program को भी C Language में ही लिखा जाता है। इन Network Driver का कार्य Network Device को Computer और Operating System के साथ-साथ अन्य नेटवर्क कंप्यूटर और नेटवर्क डिवाइस के बीच संचार करने में सक्षम बनाना होता है।
इसके अलावा Graphics सम्बंधित एप्लीकेशन जैसे Computer व Mobile Games और Embedded Systems, Language Interpreters, Assemblers बनाने में भी सी लैंग्वेज का उपयोग किया जाता है तो अगर आप इस तरह के प्रोग्राम बनाना चाहते है, उसके लिए आपको सी लैंग्वेज की जानकारी होनी चाहिए।
Programming in C कैसे सीखें?
अगर आप फैसला ले चुके है, कि आपको C Language सीखनी है तो आपके लिए सबसे पहला काम यह है कि आप देंखे इसे सीखने की शुरुवात कहां से की जा सकती है। किसी भी Programming लैंग्वेज को सीखने में आपको जल्दबाजी नही दिखानी है। सबसे पहले देंखे की मुझे इसे कैसे सीखना है, मतलब वह Resources क्या होंगे।
अगर आप घर बैठे सीखना चाहते है, तो आप Internet पर Website या Youtube Tutorials या हमारे ब्लॉग “Tech Academy Pro” का सहारा ले सकते है। आप Paid Course की तरफ जा सकते है या फिर किसी Institute में जाकर भी आप C Program को सीख सकते है। एक बार यह तय कर लेने के बाद कि मुझे C Language इस तरह सीखनी है, उसके बाद इसे सीखने की अपनी Strategy तैयार करे और उसमें आगे बढ़ते जाए।
सबसे जरूरी बात जीतना भी आप सीख रहे है, उसे Practice में लाये. प्रोग्रामिंग सीखने के लिये आपको धैर्य रखना होगा क्योंकि यह आपको Bored करने की पूरी कोशिश करेगा। यदि आपके अंदर इसे सीखने की पूरी चाह होगी तो आपको एक अच्छा Programmer बनने में ज्यादा समय नही लगेगा।
Programming in C का क्यूँ इस्तेमाल किया जाता है?
कई बार आपके मन में भी आया होगा की क्यूँ C language का अभी तक भी इस्तमाल किया जाता है जब की market में बही हजारों प्रकार के Languages मेह्जुद हैं। आपका ये सोचना बिलकुल ही जायज है लेकिन इसके पीछे भी कुछ कारण है जिसके चलते C Language का अभी तक भी इस्तमाल किया जाता है।
C को Initially System Development काम के लिए इस्तमाल किया गया, मुख्य रूप से इन्हें Operating System Programs लिखने के लिए इस्तमाल किया जाता है। ऐसा इसलिए क्यूंकि C Programming बहुत ही ज्यादा Efficient होते हैं बाकिओं की तुलना में यही वो कारण है की 40 साल से भी ज्यादा पुराना Language को अभी तक भी इस्तमाल में लाया जाता है।
दूसरा कारण है Standard C Programs बहुत ज्यादा Portable होते हैं. ये Source Code जिसे की किसी एक Operating System में लिखा गया ही उसे दुसरे Operating System में भी Compile या Run किया जा सकता है बिना किसी बदलाव किये।
एक और भी कारण यह भी है की ये एक बहुत ही बढ़िया Language होता है Programming सीखने के लिए। ऐसा इसलिए क्यूंकि अगर आपको C Programming पता हो तब आपको ये समझ में आ जायेगा की ये Programs कैसे काम करते हैं, साथ में आपके मन में आप एक Mental Picture भी बना सकते हैं की कैसे एक Computer काम करता है।
C को System Development Language के हिसाब से ज्यादा इस्तमाल किया जाता है क्यूंकि ये ऐसे Code Produce करता है जो की इतने ज्यादा Fast Run करते हैं जितनी की Fast Assembly Language Run करते हैं। इसलिए C को बहुत से जगहों में इस्तमाल किया जाता है जैसे की:-
- Operating Systems
- Language Compilers
- Assemblers
- Text Editors
- Print Spoolers
- Network Drivers
- Modern Programs
- Databases
- Language Interpreters
- Utilities
Programming in C के बारे में कुछ Interesting Facts
- C को Invent किया गया था एक Operating System जिसका नाम है UNIX को लिखने के लिए।
- C Language Successor है B Language का जिसे की Introduce किया गया था Early 1970s में।
- इस Language को Formalized किया गया सन 1988 में American National Standard Institute (ANSI) जे द्वारा।
- UNIX OS को Totally C में लिखा गया है।
- अभी की समय में C सबसे ज्यादा Popular और ज्यादा इस्तमाल किया जाने वाला System Programming Language है।
- ज्यादातर सभी State-Of-The-Art-Software को C में ही Implement किया गया है।
- अभी के सबसे Popular Linux OS और RDBMS MySQL भी C में लिखे गए हैं।
यह एक Procedural Language होती है
C जैसे Procedural Languages में, Predefined Instructions की एक list को Step By Step Follow किया जाता है। एक Typical C Program में एक या एक से ज्यादा Procedures (जिन्हें की Functions कहा जाता है) का इस्तेमाल किया जाता है एक Task को Perform करने के लिए।
अगर आप Programming में नए हैं, तब आप जरुर सोच रहे होंगे की यही एक तरीका है जैसे सभी Programming Language काम करते हैं। लेकिन ऐसा बिलकुल भी नहीं है क्यूंकि दुसरे Programming Paradigms भी होते हैं। एक ऐसा ही Commonly इस्तेमाल किया जाने वाला Paradigm होता है Object-Oriented-Programming (OOP) जो की Allow करता है Developers को Objects Create करने के लिए जिससे वो एक Given Task को Solve कर सकें।
C programs are very fast:- नए Languages जैसे की Python और Java ज्यादा Features Offer करते हैं (जैसे की Garbage Collection, Dynamic Typing) C Programming की तुलना में। लेकिन इसमें Performance Low हो जाती है Additional Processing के कारण।
C Language Programmers को Allow करती हैं Computer Hardware में Direct Manipulation करने के लिए। ये ज्यादातर High-Level-Programming Languages में मुमकिन नहीं होता है। इसलिए C को एक बेहतर Choice माना जाता है Programming सीखने के लिए।
Standard C Programs बहुत ही Portable होते हैं:-इनकी एक Tag Line है जो की होती है “Write Once, Compile Everywhere”. Standard C Programs बहुत ही Portable होते हैं, इसका मतलब यह है की Programs जिन्हें की एक System (उधाहरण के लिए Windows 10) में लिखा गया होता है उसे किसी दुसरे System (Mac OS) में भी Compile किया जा सकता है बिना कोई बदलाव किये।
Use of modularity:- आप चाहे तो C Code के Sections को Libraries के Form में Store कर सकते हैं Future Use के लिए। इस Concept को Modularity कहा जाता है।
C अपने आप में ही बहुत कम काम कर सकता है। कहने का तात्पर्य यह है की C Language की असली Power इसकी Stored Libraries से आती है। C Language में बहुत से Standard Libraries होते हैं Common Problems को Solve करने के लिए। Suppose की, आपको कुछ Display करना है Screen में, तब इसके लिए आप अपने Program में Include कर सकते हैं “stdio.h” Library जो की आपको Allow करता है Printf() Function का इस्तेमाल करने के लिए।
Statically is a Typed Language:- C एक Statically Typed Language होती है। इसका अर्थ यह हैं की Variable की Type Compile Time में Check होती है, न की Run Time में। इससे जो सबसे बड़ा फायेदा होता है वो ये की Error Detection Software Development Cycle दौरान ही हो जाती है। साथ में Statically Typed Languages बहुत ही Faster होती है Dynamically Typed Language की तुलना में In General अगर हम बात करें तब।
Many General Purpose:- माना की C बहुत ही पुरानी Language है लेकिन C का इस्तमाल बहुत से Applications में होता है चाहे वो System Programming हो या Photo Editing Software. चलिए कुछ Applications के बारे में जानते हैं जहाँ की C Programming का इस्तेमाल होता है:-
Embedded Systems:-
- Operating System-Windows, Linux, OSX, Android, iOS.
- Databases-PostgreSQL, Oracle, MySQL, MS SQL Server.
- Other Uses-Network drivers में, Compilers, Print spoolers.
क्या कारण हैं की Programming in C एक Professional Language है?
चलिए उन कारणों के विषय में जानते हैं जिसके कारण की C Language को एक Professional Language के हिसाब से इस्तेमाल किया जाता है:-
- ये बहुत ही Basic Language होने के कारण ही इसे सीखना बहुत ही आसान होता है।
- ये Language बहुत ही Structured होता है।
- इसके इस्तेमाल से बहुत ही Efficient Programs लिखा जा सकता है।
- ये आसानी से बहुत ही Low-Level-Activities को Handle कर सकता है।
- साथ ही इसे बहुत से Computer Platforms में Compile किया जा सकता है।
Programming in C के फ़ायदे
- नियंत्रण प्रवाह प्राइमेटिव्स के पूर्ण सेट में मौजूद निश्चित और छोटी संख्याएँ और इसलिए उपयोगकर्ता नाम कीवर्ड से अलग नहीं होते हैं।
- बड़ी संख्या में अंकगणित, तर्क और बिटकॉइन ऑपरेटर हैं।
- एक एकल कथन का उपयोग एक से अधिक प्रकार के असाइनमेंट करने के लिए किया जा सकता है।
- जब वे उपयोग में नहीं होते हैं तो रिटर्न वैल्यू को नजरअंदाज किया जा सकता है।
- कमजोर रूप से लागू किया गया स्थिर टाइपिंग, अंतर्निहित रूपांतरण को संभव बनाता है।
- C की भाषा में कोई परिभाषित कीवर्ड नहीं है और इसलिए इसे एक घोषित भाषा के रूप में जाना जाता है
- उपयोगकर्ता-परिभाषित टाइप-डिफ़ कीवर्ड और यौगिक स्तरों के अन्य स्तर भी संभव हैं।
- टाइप किए गए पॉइंटर्स का उपयोग मशीन स्तर की भाषा के निम्न स्तर को परिवर्तित करने के लिए किया जा सकता है।
- प्रक्रियाएं एक गैर-टाइप किए गए रिटर्न प्रकार शून्य प्रदान करती हैं।
- कार्यों को कार्यों के लेक्सिकॉन दायरे से बाहर परिभाषित किया जा सकता है।
- रन-टाइम बहुरूपता की अवधारणा का उपयोग सी भाषा के मामले में भी किया जा सकता है।
- प्रीप्रोसेसर का उपयोग स्रोत कोड फ़ाइल समावेश सहित परिभाषाओं के वृहद स्तर को करने के लिए किया जाता है। और सशर्त संकलन का उपयोग करके भी किया जाता है।
- प्रतिरूपकता का मूल रूप जो C भाषा में मौजूद है, का उपयोग फ़ाइलों को अलग-अलग स्थानांतरित करने के लिए किया जा सकता है और डेटा ऑब्जेक्ट्स और फ़ंक्शंस पर नियंत्रण प्रदान करके एक साथ लिंक करने के लिए उपयोग किया जा सकता है जो अन्य फ़ाइलों के लिए भी दिखाई देते हैं।
- इनपुट-आउटपुट स्ट्रिंग हेरफेर और अन्य गणितीय कार्यों जैसे जटिल कार्यक्षमता जो लगातार अन्य पुस्तकालय दिनचर्या को सौंपते हैं।
- C भाषा का एक मध्य स्तर है जो उच्च स्तर और निम्न-स्तरीय भाषा दोनों की विशेषताओं को संयोजित करने के लिए उपयोग किया जाता है। यह सभी निम्न-स्तरीय प्रोग्रामिंग में उपयोग करने के लिए व्यापक रूप से लोकप्रिय है जैसे प्रोग्रामिंग माइक्रोकंट्रोलर और ड्राइवरों के मामले में। इसका उपयोग मुख्य रूप से कंप्यूटर-आधारित सॉफ़्टवेयर और उपयोगिताओं के लिए स्क्रिप्ट लिखने के लिए भी किया जाता है। इसका उपयोग उच्च-स्तरीय प्रोग्रामिंग भाषा और अनुप्रयोगों, आदि के लिए स्क्रिप्टिंग के लिए समर्थन प्रदान करने के लिए भी किया जाता है।
- सी का यह लाभ एक दृढ़ता से संरचित है जिसका उपयोग कोड के जटिल टुकड़े को छोटे और सरल टुकड़ों में तोड़ने के लिए किया जा सकता है जिन्हें फ़ंक्शन कहा जाता है। इन कार्यों में स्थानांतरित करने के लिए डेटा आंदोलन भी स्वतंत्र है।
- C की विभिन्न विशेषताओं में हार्डवेयर एप्लिकेशन प्रोग्रामिंग इंटरफेस का प्रत्यक्ष स्तर शामिल है जो C कंपाइलर की उपस्थिति में होता है।
- सी लैंग्वेज एक केस सेंसिटिव लैंग्वेज है जिसका मतलब लोअरकेस और अपरकेस अक्षर दोनों का अर्थ इस भाषा में अलग-अलग है।
- C एक अत्यधिक पोर्टेबल भाषा है, जिसका उपयोग स्क्रिप्ट सिस्टम आधारित अनुप्रयोगों के लिए किया जाता है, जो विंडोज, लिनक्स और यूनिक्स ऑपरेटिंग सिस्टम के अधिकांश भाग का निर्माण करते हैं।
- यह कुशलतापूर्वक अनुप्रयोगों और उत्पादों के उद्यम स्तर पर काम कर सकता है। इसकी हल्की संपत्ति और प्रकृति के कारण, इसका उपयोग कई ऑपरेटिंग सिस्टम और निम्न स्तर की कोडिंग उपयोगिताओं जैसे कि ड्राइवरों और आवश्यक सॉफ़्टवेयर फ़ाइलों में किया जाता है।
- सी प्रोग्रामिंग भाषा एक समृद्ध पुस्तकालय है जिसका उपयोग कई अंतर्निहित कार्यों को प्रदान करने के लिए किया जाता है। इसका उपयोग मेमोरी आवंटन के एक गतिशील स्तर की पेशकश करने के लिए भी किया जाता है।
- C का उपयोग डेटा संरचनाओं और एल्गोरिदम को तेजी से लागू करने के लिए किया जाता है, जिससे कार्यक्रमों में तेज और त्वरित कम्प्यूटिंग की सुविधा होती है। इसने कई उच्च-स्तरीय भाषाओं जैसे Mathematica और Develop में C का उपयोग अधिक लोकप्रिय बना दिया है।
Programming in C के लाभों के इन परिचय और मौलिक स्तरों के कारण, यह सी प्रोग्रामिंग भाषा सबसे प्रमुख में से एक बन गई है और बेल लैब से परे अधिक तेज़ी से और तेज़ी से फैल गई है और इसलिए कई भाषाओं जैसे PASCAL, COBOL, FORTRAN, BPL को प्रतिस्थापित कर दिया है / I, आदि इस C प्रोग्रामिंग भाषा का उपयोग सुपर कंप्यूटर से माइक्रोकंट्रोलर तक कई प्लेटफार्मों पर कई प्रकार की सुविधाएँ प्रदान करने के लिए किया जाता है। यह अत्यधिक पोर्टेबल भाषा अक्सर उपकरणों, गैजेट्स और बहु-एप्लिकेशन समर्थन और विकास की आवश्यकता वाले सभी वातावरणों में उपयोग किए जाने वाले पसंद का सबसे प्रमुख स्तर है। इस भाषा में यह व्यापक समृद्ध पुस्तकालय कई हल्के सुविधाओं को प्रदान करने के लिए उपयोग किया जाता है और खेल में भी सबसे अधिक व्यापक रूप से उपयोग किया जाता है। यह ऑब्जेक्ट-ओरिएंटेड प्रकृति की संपत्ति को भी प्रदर्शित करता है और इसलिए कई उच्च स्तरीय प्रोग्रामिंग भाषाओं जैसे c++ और java के साथ कुछ पहलुओं में भी प्रतिस्पर्धा करता है। इस भाषा के कई फायदे हैं, कंपनी और परियोजना के उपयोग और आवश्यकताएं।
Programming in C की हानियाँ
Concept of OOPs:- C एक बहुत ही विशाल भाषा है, लेकिन यह OOPs (इनहेरिटेंस, पॉलिमॉर्फिज्म, एनकैप्सुलेशन, एब्स्ट्रेक्शन, डेटा हाइडिंग) की अवधारणा का समर्थन नहीं करता है। सी बस प्रक्रियात्मक प्रोग्रामिंग दृष्टिकोण का अनुसरण करता है।
Run-Time-Checking:- C प्रोग्रामिंग भाषा में, कोड की प्रत्येक पंक्ति के बाद त्रुटियों या बग का पता नहीं लगाया जाता है। इसके बजाय, कंपाइलर प्रोग्राम लिखने के बाद सभी त्रुटियों को दिखाता है। यह बड़े कार्यक्रमों में कोड की जाँच को बहुत जटिल बनाता है।
Concept of Namespace:- C नामस्थान की अवधारणा को लागू नहीं करता है। एक नामस्थान को विभिन्न संदर्भों में नामों के पुन: उपयोग की अनुमति देने के लिए आदेशों की एक श्रृंखला के रूप में संरचित किया जाता है। नामस्थान के बिना, हम एक ही नाम के दो चर घोषित नहीं कर सकते।लेकिन, C प्रोग्रामिंग में इस सुविधा का अभाव है, और इसलिए आप C में समान नाम के साथ एक चर को परिभाषित नहीं कर सकते हैं।
Lack of Exception Handling:- अपवाद हैंडलिंग प्रोग्रामिंग भाषाओं की सबसे महत्वपूर्ण विशेषताओं में से एक है। कोड संकलित करते समय, विभिन्न विसंगतियाँ और कीड़े हो सकते हैं। अपवाद हैंडलिंग आपको त्रुटि को पकड़ने और उचित प्रतिक्रिया लेने की अनुमति देता है। हालाँकि, C इस महत्वपूर्ण विशेषता को प्रदर्शित नहीं करता है।
Constructor or destructor:- C का कोई निर्माता या विध्वंसक नहीं है।कंस्ट्रक्टर और डिस्ट्रक्टर्स ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग की बुनियादी कार्यक्षमता का समर्थन करते हैं। दोनों सदस्य कार्य हैं जो वर्ग के एक ऑब्जेक्ट के पैदा होते ही बनाए जाते हैं। आप बाद में विस्तार से निर्माण और विध्वंसक का अध्ययन करेंगे।
Low level of Abstraction:- C एक छोटी और कोर मशीन भाषा है जिसमें न्यूनतम डेटा छुपा और अनन्य दृश्यता होती है जो इस भाषा की सुरक्षा को प्रभावित करती है।
love you stadey