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
समस्या के समाधान हेतु अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट (ANSI) ने 1983 में C की मानक परिभाषा निर्धारित करने के लिए एक कमेटी गठित की। इस कमेटी ने 1989 में C के उस वर्शन को मान्यता प्रदान की जिसे ANSI C के रूप में जाना जाता है। कुछ अपवादों के साथ प्रत्येक आधुनिक C कम्पाइलर में इस स्टैंडर्ड का अनुसरण करने की क्षमता विद्यमान होती है। इंटरनेशनल स्टैंडर्डस ऑर्गेनाइजेशन (ISO) ने बाद में 1990 में ANSI C को मान्यता प्रदान की