शुरुआती कैलकुलेटर और ट्यूरिंग का विचार
इंसान हमेशा गिनने के औज़ार इस्तेमाल करता आया है: टैली की लकीरें, फिर अबैकस। पहले यांत्रिक कैलकुलेटर गियर से चलते थे:
- 1642, ब्लेज़ पास्कल ने अपने कर-अधिकारी पिता की मदद के लिए पास्कलीन बनाई, जो जोड़-घटा सकती थी।
- 1670 के दशक में, गॉटफ्रीड लाइबनिज़ ने गुणा-भाग भी करने वाली मशीन बनाई।
- 1830 के दशक में, चार्ल्स बैबेज ने एनालिटिकल इंजन डिज़ाइन किया, जिसमें स्टोर, गणना इकाई और पंच कार्ड पर निर्देश थे। वह कभी पूरा नहीं बना, पर उसकी योजना आधुनिक कंप्यूटर जैसी है।
- 1843, एडा लवलेस ने ऐसे नोट्स लिखे जिनमें इंजन के लिए चरण-दर-चरण तरीका था। इसे अक्सर पहला कंप्यूटर प्रोग्राम कहते हैं, और उन्होंने देखा कि ऐसी मशीनें संगीत या चित्रों के साथ भी काम कर सकती हैं, सिर्फ़ संख्याओं के साथ नहीं।
- 1936, एलन ट्यूरिंग ने ट्यूरिंग मशीन बताई, एक काल्पनिक मशीन जिसमें टेप और सरल नियम हैं और जो कोई भी चरणबद्ध तरीका चला सकती है। यह दिखाती है कि कंप्यूटर क्या कर सकता है और क्या नहीं। दूसरे विश्वयुद्ध में उन्होंने एनिग्मा कोड तोड़ने में भी मदद की।
पहले कंप्यूटर और प्रोग्रामिंग भाषाएँ
1940 के दशक में वैक्यूम ट्यूब (काँच के स्विच) से इलेक्ट्रॉनिक कंप्यूटर संभव हुए। कोलोसस (ब्रिटेन, 1943 से 1944) ने गुप्त संदेश पढ़ने में मदद की। ENIAC (अमेरिका, 1945) का वज़न लगभग 30 टन था, वह बड़े कमरे जितना था, उसमें लगभग 18,000 ट्यूब थे और वह हर सेकंड हज़ारों जोड़ कर सकता था। उसे केबल लगाकर सेट करना पड़ता था, जिसमें दिन लग जाते थे।
जॉन वॉन न्यूमैन और अन्य ने संग्रहीत-प्रोग्राम कंप्यूटर (1945) बताया: प्रोग्राम को डेटा के साथ मेमोरी में रखा जाए। 1948 में छोटी परीक्षण मशीनें चलीं, और तब से प्रोग्राम बदलना यानी मेमोरी बदलना हो गया, तार नहीं।
ट्रांजिस्टर (1947) ने ट्यूब की जगह ली; वह छोटा, ठंडा और ज़्यादा भरोसेमंद था। इंटीग्रेटेड सर्किट (1958 से 1959) ने एक चिप पर कई ट्रांजिस्टर रख दिए।
प्रोग्रामिंग भाषाओं ने इंसान को शब्दों में लिखने दिया:
- 1952: ग्रेस हॉपर ने पहले कंपाइलर में से एक बनाया (वह प्रोग्राम जो कोड का अनुवाद करता है)।
- 1957: विज्ञान-गणित के लिए फ़ोर्ट्रान। 1959: व्यापार के लिए कोबोल।
- 1964: शुरुआती लोगों के लिए बेसिक। 1972: डेनिस रिची की C। 1991: पायथन। 1995: जावा।
पर्सनल कंप्यूटर और इंटरनेट
1971 में माइक्रोप्रोसेसर (पूरा प्रोसेसर एक चिप पर, इंटेल 4004) बना। जल्द ही लोगों ने घरेलू कंप्यूटर बनाए: अल्टेयर (1975), ऐपल II (1977), IBM PC (1981)। चित्रों और माउस वाला ग्राफ़िकल यूज़र इंटरफ़ेस ऐपल मैकिन्टोश (1984) और विंडोज़ से लोकप्रिय हुआ।
इंटरनेट की शुरुआत 1969 में ARPANET से हुई, जिसने कुछ विश्वविद्यालयों को जोड़ा। ईमेल 1971 में आया। 1983 में नेटवर्क ने TCP/IP अपनाया, वे साझा नियम जिनसे कोई भी नेटवर्क जुड़ सकता है (डिज़ाइन: विंटन सर्फ़ और रॉबर्ट काहन)। यहीं से इंटरनेट 'नेटवर्कों का नेटवर्क' बना।
1990 के दशक तक घरों में इंटरनेट, फिर ब्रॉडबैंड, वाई-फ़ाई (1990 के दशक के अंत) और स्मार्टफ़ोन (2007) ने नेटवर्क हर जेब में पहुँचा दिया।
डेटाबेस और रिलेशनल मॉडल
कंप्यूटर बढ़े तो वे बहुत सारा डेटा रखने लगे। शुरुआती सिस्टम (1960 के दशक) डेटा को पेड़ और कड़ियों जैसी तय बनावटों में रखते थे, इसलिए प्रोग्रामों को ठीक-ठीक पता होना चाहिए था कि डेटा कैसे रखा है।
1970 में एडगर कॉड ने IBM में रिलेशनल मॉडल बताया: डेटा को सरल तालिकाओं (पंक्ति-स्तंभ) में रखिए, जो कुंजियों से जुड़ी हों, और सवाल पूछिए बिना यह बताए कि डेटा कैसे ढूँढना है। इससे SQL (1970 के दशक की शुरुआत) और ऑरेकल (1970 के दशक का अंत) जैसे व्यावसायिक सिस्टम आए।
2000 के दशक से बहुत बड़े डेटा वाली वेबसाइटें गति और आकार के लिए दूसरी बनावटें (NoSQL) भी इस्तेमाल करती हैं, पर बैंक, स्कूल और दुकानों का आधार अब भी तालिकाएँ और SQL हैं।
नेटवर्क और वेब
नेटवर्क कंप्यूटरों को जोड़ता है; इंटरनेट नेटवर्कों का वैश्विक नेटवर्क है। वर्ल्ड वाइड वेब उसके ऊपर चलने वाली सेवा है: जुड़े हुए पन्ने जो आप ब्राउज़र में खोलते हैं।
- 1989 से 1991: CERN में टिम बर्नर्स-ली ने HTML (पन्ने की भाषा), HTTP (पन्ने कैसे जाते हैं) और URL (पते) बनाए। वेब 1991 में जनता के लिए खुला।
- 1993: मोज़ेक ब्राउज़र ने चित्र और लिंक एक खिड़की में ला दिए। 1990 के दशक में सर्च इंजन ने पन्ने खोजना आसान किया।
- 2000 का दशक: सोशल मीडिया, वीडियो और ऑनलाइन दुकानें। 2007 से: स्मार्टफ़ोन और ऐप। 2010 का दशक: क्लाउड कंप्यूटिंग, जहाँ डेटा सेंटर के सर्वर आपके लिए काम करते हैं।
याद रखिए: इंटरनेट = सड़कें और नियम; वेब = उन सड़कों से पहुँचने वाली दुकानें और घर।
ओपन-सोर्स सॉफ़्टवेयर
शुरू में प्रोग्राम शोधकर्ताओं के बीच खुलकर बाँटे जाते थे। 1980 के दशक में कंपनियाँ सॉफ़्टवेयर बेचने और कोड गुप्त रखने लगीं। 1983 से 1985 में रिचर्ड स्टॉलमैन ने GNU परियोजना और फ़्री सॉफ़्टवेयर फ़ाउंडेशन शुरू किए ताकि कोड को इस्तेमाल करने, पढ़ने, बदलने और बाँटने का अधिकार बचे।
1991 में लाइनस टॉरवाल्ड्स, एक छात्र, ने लिनक्स शुरू किया, जो एक मुफ़्त ऑपरेटिंग सिस्टम कर्नेल है। इंटरनेट की मदद से हज़ारों लोग जुड़ गए। बाद की परियोजनाओं में अपाचे (वेब सर्वर), फ़ायरफ़ॉक्स (ब्राउज़र) और एंड्रॉइड सिस्टम हैं। गिटहब (2008) जैसी साइटें साथ काम करना आसान बनाती हैं।
ओपन-सोर्स का मतलब है कि सोर्स कोड सार्वजनिक है और एक लाइसेंस सबको उसे इस्तेमाल और सुधारने देता है। फ़ायदे: कम लागत, बग खोजने वाली कई आँखें, और छात्रों के लिए सीखना। आज ज़्यादातर सर्वर और फ़ोन ओपन-सोर्स कोड पर चलते हैं।
कंप्यूटिंग के प्रमुख लोग
| व्यक्ति | योगदान |
|---|---|
| चार्ल्स बैबेज | एनालिटिकल इंजन का डिज़ाइन (1830 के दशक) |
| एडा लवलेस | पहला प्रकाशित प्रोग्राम-विचार (1843); कंप्यूटर को संख्याओं से आगे देखा |
| एलन ट्यूरिंग | ट्यूरिंग मशीन (1936); कोड तोड़ना; ट्यूरिंग टेस्ट (1950) |
| जॉन वॉन न्यूमैन | संग्रहीत-प्रोग्राम डिज़ाइन (1945) |
| ग्रेस हॉपर | शुरुआती कंपाइलर; अंग्रेज़ी जैसे शब्दों में प्रोग्रामिंग को बढ़ावा |
| डेनिस रिची | C भाषा और यूनिक्स (1970 के दशक) |
| एडगर कॉड | रिलेशनल डेटाबेस मॉडल (1970) |
| विंट सर्फ़ और बॉब काहन | TCP/IP, इंटरनेट के नियम (1970 के दशक) |
| टिम बर्नर्स-ली | वर्ल्ड वाइड वेब (1989 से 1991) |
| रिचर्ड स्टॉलमैन और लाइनस टॉरवाल्ड्स | फ़्री सॉफ़्टवेयर और लिनक्स |
भारत में शुरुआती कंप्यूटिंग में मुंबई के TIFR की TIFRAC मशीन (लगभग 1960), C-DAC के परम सुपरकंप्यूटर (1991 से) और बड़ा सॉफ़्टवेयर व सेवा उद्योग शामिल हैं।
करके देखें: अपनी समय-रेखा बनाइए
काग़ज़ की लंबी पट्टी लीजिए, 1600 से 2020 तक हर 10 साल के लिए 1 सेमी। 3D के दस पड़ाव उस पर लगाइए। सबसे लंबा अंतर कौन-सा है? सबसे छोटा? किसी दादा-दादी से पूछिए कि इनमें से कौन-सी मशीनें उन्होंने इस्तेमाल कीं। फिर 3D का स्लाइडर चलाकर ज़ोर से बोलिए: मशीन पिछली से बड़ी है या छोटी, और ताकत ज़्यादा है या कम?
मुख्य सूत्र और परिभाषाएँ
- 1642 पास्कल का कैलकुलेटर; 1843 लवलेस; 1936 ट्यूरिंग मशीन
- 1945 ENIAC (लगभग 30 टन, लगभग 18,000 ट्यूब)
- 1947 ट्रांजिस्टर; 1958 से 1959 इंटीग्रेटेड सर्किट; 1971 माइक्रोप्रोसेसर
- 1957 फ़ोर्ट्रान; 1959 कोबोल; 1972 C; 1991 पायथन
- 1969 ARPANET; 1983 TCP/IP; 1991 वर्ल्ड वाइड वेब खुला
- 1970 कॉड का रिलेशनल मॉडल; SQL 1970 के दशक की शुरुआत
- 1991 लिनक्स; ओपन-सोर्स = साझा करने के लाइसेंस वाला सार्वजनिक कोड
- 2007 से स्मार्टफ़ोन का दौर
हल किए गए उदाहरण
1. ENIAC (1945) और IBM PC (1981) के बीच कितने साल बीते?
1981 - 1945 = 36 साल।
2. एडा लवलेस को पहली प्रोग्रामर क्यों कहा जाता है?
1843 में उन्होंने बैबेज के एनालिटिकल इंजन के लिए संख्याओं की श्रृंखला निकालने का चरण-दर-चरण तरीका प्रकाशित किया। यह किसी ऐसी मशीन के बनने से पहले लिखा गया प्रोग्राम है।
3. इंटरनेट और वेब में क्या अंतर है?
इंटरनेट नेटवर्कों का वैश्विक नेटवर्क और उसके नियम (TCP/IP) है। वेब उस पर चलने वाली एक सेवा है: URL से मिलने वाले जुड़े पन्ने, HTTP से भेजे गए और ब्राउज़र में दिखाए गए।
4. रिलेशनल मॉडल ने कौन-सी समस्या सुलझाई?
पहले के डेटाबेस प्रोग्रामों को डेटा रखने के तरीके से बाँध देते थे। रिलेशनल मॉडल डेटा को सरल तालिकाओं में रखता है, इसलिए उपयोगकर्ता बिना ढूँढने का तरीका बताए सिर्फ़ यह बताता है कि उसे क्या चाहिए।
5. ओपन-सोर्स सॉफ़्टवेयर के दो फ़ायदे बताइए।
कोई भी कोड पढ़कर सुधार सकता है, इसलिए बग जल्दी मिलते हैं; और यह आमतौर पर मुफ़्त होता है, जिससे स्कूलों और छोटे व्यवसायों को मदद मिलती है।
आम गलतियाँ
- यह कहना कि ENIAC सबसे पहला कंप्यूटर था। उससे पहले कोलोसस और बैबेज के डिज़ाइन थे; ENIAC एक शुरुआती बड़ा सामान्य-उपयोग इलेक्ट्रॉनिक कंप्यूटर था।
- इंटरनेट और वेब को एक मानना। वेब (1991) इंटरनेट (1960-70 के दशक से) पर चलता है।
- ओपन-सोर्स को बिना नियमों वाला समझना। उसके लाइसेंस होते हैं जो बताते हैं कि आप क्या कर सकते हैं।
- यह कहना कि बैबेज ने एनालिटिकल इंजन बनाया। उन्होंने उसे डिज़ाइन किया, पर वह उनके जीवनकाल में पूरा नहीं बना।