C प्रोग्रामिंग भाषा डेनिस रिची द्वारा 1970 के दशक की शुरुआत में UNIX ऑपरेटिंग सिस्टम को रीडिज़ाइन करने के लिए विकसित की गई थी।
इतिहास
- इससे पहले **B भाषा** UNIX के लिए उपयोग होती थी - नो स्ट्रक्चर्स, नो टाइप्स।
- C ने हाई-लेवल फंक्शनैलिटी और OS प्रोग्रामिंग के लिए डिटेल्ड फीचर्स दिए।
- UNIX कर्नेल C में रीराइट किया गया।
C भाषा के लाभ
- मध्य-स्तरीय भाषा: लो-लेवल (हार्डवेयर एक्सेस, पॉइंटर्स, मेमोरी मैनेजमेंट) और हाई-लेवल (स्ट्रक्चर्स, फंक्शन्स, मॉड्यूलैरिटी) दोनों क्षमताएं।
- स्ट्रक्चर्ड प्रोग्रामिंग: जटिल प्रोग्राम्स को सरल फंक्शन्स में तोड़ना।
- एम्बेडेड सिस्टम्स के लिए स्क्रिप्टिंग: हार्डवेयर APIs, डायनामिक मेमोरी, इंटरप्ट हैंडलिंग तक सीधी पहुंच।
- केस-सेंसिटिव: लोअरकेस और अपरकेस अलग अर्थ रखते हैं।
- पोर्टेबल: विंडोज, UNIX, लिनक्स के घटक C में लिखे गए।
- जनरल-पर्पस: गेम डिज़ाइन, ग्राफिक्स, एंटरप्राइज एप्लिकेशन्स, कम्पाइलर्स, OS।
- समृद्ध लाइब्रेरी: बिल्ट-इन फंक्शन्स का बड़ा संग्रह।
प्रतिस्थापित भाषाएं
C ने ALGOL, B, PL/I, FORTRAN आदि को कई डोमेन में प्रतिस्थापित किया, विशेष रूप से एम्बेडेड सिस्टम्स, माइक्रोप्रोसेसर्स, माइक्रोकंट्रोलर्स में।
आधुनिक प्रासंगिकता
- OS कर्नेल्स (लिनक्स, विंडोज, macOS, फ्रीBSD)।
- एम्बेडेड फर्मवेयर (ऑटोमोटिव, IoT, रियल-टाइम सिस्टम्स)।
- डेटाबेस (SQLite, PostgreSQL, MySQL कोर)।
- कम्पाइलर्स/इंटरप्रेटर्स (GCC, LLVM, Python, Lua, V8)।
- हाई-परफॉरमेंस कंप्यूटिंग, क्रिप्टोग्राफी, नेटवर्किंग।