History of C language

एक के बाद एक करते हुए तीन लैंग्वेजेस को विकसि किया गया था और ये लैंग्वेजेस क्रमश: BCPL, B एवं C हैं यहाँ हम इन तीनों ही लैंग्वेजेस के तुलनात्मक विकास के इतिहास का अध्ययन करेंगे।

1. BCPL लैंग्वेज

BCPL (बेसिक कम्बाइंड प्रोग्रामिंग लैंग्वेज) को मार्टिन रिचर्ड्स द्वारा कैम्ब्रिज यूनिवर्सिटी में 1960 के मध्य में MIT के प्रवास के दौरान डिजाइन किया गया था और अनेक रोचक परियोजनाएँ, जिनमें ऑक्सफोर्ड में OS6 ऑपरेटिंग सिस्टम [Stoy 72] और जेरॉक्स PARC में किए गए सेमिनल Alto कार्य के अंश [Thacker 79] सम्मिलित हैं, के लिए 1970 के प्रारंभिक समय में इसे प्रयुक्त किया गया था। हम इससे परिचित हुए MIT CTSS सिस्टम [Corbato 62] के कारण जिस पर Multics डेवलपमेंट के लिए रिचर्ड्स के कार्य का उपयोग हुआ था।

2. B लैंग्वेज
BCPL से मिलती-जुलती B वह कम्प्यूटर लैंग्वेज है जिसे के. एल. थॉम्पसन द्वारा सिस्टम प्रोग्रामिंग जैसी मुख्यतः नॉन- न्यूमेरिक एप्लिकेशन्स के लिए 1970 में डिजाइन किया गया था। इनमें जटिल लॉजिकल डिसीजन मेकिंग तथा इंटीजर्स, केरेक्टर्स एवं बिट स्ट्रिंग्स की प्रोसेसिंग विशिष्ट रूप से सम्मिलित है। H6070 TSS सिस्टम पर B प्रोग्राम्स आम तौर पर असेंबली लैंग्वेज प्रोग्राम्स की तुलना में अधिक सरलतापूर्वक लिखे तथा समझे जाते हैं और ऑब्जेक्ट कोड की कार्य कुशलता अधिकांशतः श्रेष्ठ रहती है।
BCPL और B लँग्वेजेस के साथ समस्याएँ : BCPL और B ऐसी टाइप लैस लैंग्वेजेस थीं जिनके अंतर्गत मेमोरी में बेरिएबल्स केवल शब्द ही हुआ करते थे। इन्हें केवल ही वर्षों के लिए प्रयुक्त किया गया और जैसे ही सॉफ्टवेया कुल डेवलपमेंट ने अधिक व्यावसायिक स्वरूप ग्रहण किया तभी यह स्पष्ट हो गया कि किसी न किसी उन्नत लैग्वेज का आविष्कार करना ही पड़ेगा। डेवलपर्स को डेटा टाइप्स के 1.साथ एक ऐसी स्ट्रक्चर्ड प्रोग्रामिंग लैंग्वेज की अपेक्षा थी जो उन्हें इंटीजर्स (पूर्ण संख्याएँ जैसे कि 25 एवं -25), फ्लोटिंग पॉइंट वेल्यूज (फ्रेक्शनल वेल्यूज जैसे कि 5.2435 एवं 0.52) और केरेक्टर्स (लेटर्स, डिजिट्स एवं पंक्चुएशन्स) का तुलनात्मक रूप से सीधे, सरल और सुरक्षित तरीके से उपयोग किए जाने में सक्षम बना सके।

इन BCPL और B लैंग्वेजेस का उन्नत वर्शन वह C लैबे है जिसमें फंक्शन्स, इंटीजर्स, फ्लोटिंग-पॉइंट वेल्यूज, केरेक्टर्स अनेक ऑपरेशन्स तथा B लैंग्वेज से कुछ अन्य एलिमेंट्स को जोड़ा गया है। कुछ लोगों का ऐसा मानना है कि इसके C नाम को BCPL के द्वितीय अक्षर से लेते हुए रखा गया है जबकि अन्य लोगों का यह कहना है कि C नाम लिया नहीं गया है। बल्कि रखा गया है क्योंकि C का दर्जा वर्णमाला में 8 की B अपेक्षा उच्च होता है

C language

C एक ऐसी प्रोग्रामिंग लैंग्वेज है जिसका आविष्कार 1972 में डेनिस रिची द्वारा USA के "AT & T की बेल लेबोरेट्रीज में 1. किया गया था। C लैंग्वेज उस B लैंग्वेज का अनुक्रम है जो स्वयं BCPL लैंग्वेज का अनुक्रम है।
इस लैंग्वेज को एक विशिष्ट उद्देश्य, UNIX ऑपरेटिंग सिस्टम को डिजाइन करने के लिए निर्मित किया गया था।  अतिशीघ्र ही C लैंग्वेज ने लोकप्रियता अर्जित कर ली तथा उस समय की PL/I, ALGOL इत्यादि जैसी व्यापक एवं सुविख्यात लैंग्वेजेस को इसने प्रतिस्थापित कर दिया था। The C • Programming Language पुस्तक का प्रकाशित होना तथा लैंग्वेज की पोर्टेबिलिटी इसका प्रमुख कारण थे। प्रोग्रामर्स ने हर स्थान पर सभी प्रकार के प्रोग्राम्स को लिखने हेतु इसका उपयोग करना प्रारंभ कर दिया था। शीघ्र ही विभिन्न ऑर्गेनाइजेशन्स . ने अतिसूक्ष्म अंतर के साथ C के अपने स्वयं के वर्शन्स को लागू करना प्रारंभ कर दिया था। जिसके परिणामस्वरूप सिस्टम डेवलपर्स के सम्मुख एक गंभीर समस्या उत्पन्न हो गई थी। इस
समस्या के समाधान हेतु अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट (ANSI) ने 1983 में C की मानक परिभाषा निर्धारित करने के लिए एक कमेटी गठित की। इस कमेटी ने 1989 में C के उस वर्शन को मान्यता प्रदान की जिसे ANSI C के रूप में जाना जाता है। कुछ अपवादों के साथ प्रत्येक आधुनिक C कम्पाइलर में इस स्टैंडर्ड का अनुसरण करने की क्षमता विद्यमान होती है। इंटरनेशनल स्टैंडर्डस ऑर्गेनाइजेशन (ISO) ने बाद में 1990 में ANSI C को मान्यता प्रदान की