Introduction to C
C एक structured general purpose programming language है। इसे unix operating system को दोबारा लिखने के लिए develop किया गया था। इससे पहले unix operating system को B language में लिखा गया था। लगभग पूरा unix operating system और उसमें run होने वाले ज्यादातर programs C language में ही लिखे गए है।
B language Ken Thompson के द्वारा 1970 में Bell laboratories में लिखी गई थी। B एक type less language थी। यानि B में data types का कोई concept नहीं था। B language ज्यादा popularity नहीं हासिल कर पायी थी।
C language को Dennis Ritchie ने 1972 में bell laboratories में ही develop किया था। C एक type full language है। C language बहुत से data types provide करती है।
C एक बहुत ही short और simple language थी। इसलिए कम ही समय में यह बहुत अधिक popular हो गयी और इसे दूसरे computer scientists भी प्रयोग करने लगे।
C language की popularity में आज भी कोई कमी नहीं आई है। किसी भी दूसरी programming language को सीखने से पहले C language को सिखाया जाता है। क्योंकि C language के बाद जितनी भी programming languages (C++, Java, PHP, C# आदि) आई उन्होंने किसी न किसी तरह C के syntax को अपनाया है।
Versions of C Language
C समय की सबसे अधिक use की जाने वाली programming language है। इसे 1970 के दशक में develop किया गया था।
C 1989 तक American National Standards Institute (ANSI) और उसके बाद से International Organization for Standardization (ISO) के द्वारा standardize की गयी है।
शुरुआत से लेकर अब तक C language के कई versions (standards) release हो चुके है।
- K & R – यह original C language version था जो Brian Kernighan और Dennis Ritchie द्वारा publish किया गया था।
- C89 – C का first standard ANSI द्वारा 1989 में publish किया गया था। इसे ANSI C और C89 नामों से जाना जाता है।
- C99 – 1999 में ISO द्वारा C का नया standard publish किया गया। इसमें कुछ नए built in data types, keywords, header files और libraries add की गयी थी।
- C11 – 2007 में ISO द्वारा C का एक और standard publish किया गया। इसमें type generic macros, anonymous structures और multithreading जैसे नए features add किये गए थे।
ऊपर दी गयी versions की list में C11 सबसे latest version है।
Features of C Language
C language की popularity का कारण उसके features रहे है। ये features C language को unique और powerful बनाते है।
Structured
C एक structured programming language है। C में किसी program को छोटे छोटे modules के रूप में create किया जाता है, जिन्हें functions कहा जाता है। ऐसा करने से programs को manage और debug करने में आसानी रहती है और बड़ी problem को भी आसानी से solve किया जा सकता है।
Small
C 32 reserved keywords provide करती है। ये keywords programmer को language पर control provide करते है। इन keywords के उपयोग को समझ कर आप C language में programming कर सकते है।
C language के small होने से इसे कम समय में easily learn किया जा सकता है। साथ ही इसे use करने में भी आसानी होती है।
Middle Level
C एक middle level language है। C high level (software के बहुत करीब) और low level (hardware के बहुत करीब) दोनों तरह की applications create करने में सक्षम है।
C language का यह feature उन programmers के लिए एक 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 होती है।
Case Sensitive
C एक case sensitive language है। Case sensitive programming languages में किसी letter के capital और small variants को अलग अलग माना जाता है। इससे programmers को identifiers create करने में आसानी होती है।
Extendable
C एक extendable programming language है। C programs में आप स्वयं द्वारा निर्मित libraries जोड़ सकते है और उनका उपयोग कर सकते है।
Limitations of C Language
हालाँकि C एक बहुत ही powerful language है लेकिन C language में कुछ ऐसी कमियाँ है जो उसे सीमित बनाती है।
No Run Time Type Checking
C language में run time type checking नहीं होती है। C language run time में किसी भी variable के type को identify करने में समर्थ नहीं होती है।
Does Not Support Object Oriented Programming
C language object oriented programming (classes, objects, interfaces आदि) को support नहीं करती है।
No Code Re-usability
C language code की reusability (inheritance) को support नहीं करती है।
No Exception Handling
C language में exceptions को run time में handle नहीं किया जा सकता है। दूसरी modern programming languages की तरह इस कार्य के लिए C में कोई keywords available नहीं है।
Usage of C Language
C language को high level से लेकर low level तक सभी प्रकार की applications create करने के लिए use किया जाता है।
Operating Systems
C language द्वारा operating systems create किये जा सकते है। ज्यादातर operating systems C language में ही बनाए गए है। जैसे की unix, windows आदि operating system C language में ही create किये गए है।
Compilers
किसी भी नयी programming language को compile करने के लिए compilers की आवश्यकता होती है। C language में compilers भी create किये जाते है। उदाहरण के लिए java का compiler javac भी C language में ही बनाया गया है।
Assemblers
C language में कई प्रकार के assemblers भी create किये जाते है। Assemblers basic instructions को bits में convert करते है।
Text Editors
C language द्वारा text editors भी create किये जा सकते है। जैसे की gedit आदि।
Network Drivers
C language द्वारा network drivers भी create किये जा सकते है।
Database Management Systems
C language में database management systems भी create किये जाते है। जैसे की Oracle database C language में ही लिखा गया है।