कंप्यूटर
कंप्यूटर (अन्य हिन्दी नाम - अभिकलित्र, संगणक, अभिकलक, परिकलक) वस्तुतः एक अभिकलक यंत्र (programmable machine) है जो दिये गये गणितीय तथा तार्किक संक्रियाओं को क्रम से स्वचालित रूप से करने में सक्षम है। इसे अंक गणितीय, तार्किक क्रियाओं व अन्य विभिन्न प्रकार की गणनाओं को सटीकता से पूर्ण करने के लिए योजनाबद्ध तरीके से निर्देशित किया जा सकता है। इस निर्देशन को ही कम्प्यूटर प्रोग्रामिंग कहते हैं। संगणक कम्प्यूटर प्रोग्रामिंग भाषा की मदद से उपयोगकर्ता के निर्देशो को समझता है।
यांत्रिक संगणक कई सदियों से मौजूद थे किंतु आजकल अभिकलित्र से आशय मुख्यतः बीसवीं सदी के मध्य में विकसित हुए विद्दुत चालित अभिकलित्र से है। तब से अबतक यह आकार में क्रमशः छोटा और संक्रिया की दृष्टि से अत्यधिक समर्थ होता गया हैं। अब अभिकलक घड़ी के अन्दर समा सकते हैं और विद्युत कोष (बैटरी) से चलाये जा सकते हैं। निजी अभिकलक के विभिन्न रूप जैसे कि सुवाह्य संगणक (mobile computer), टैबलेट आदि रोजमर्रा की जरूरत बन गए हैं।
परम्परागत संगणकों में एक केंद्रीय संचालन इकाई (सीपीयू ) और सूचना भण्डारण के लिए स्मृति होती है। संचालन इकाई अंकगणित व तार्किक गणनाओ को अंजाम देती है और एक अनुक्रमण व नियंत्रण इकाई स्मृति में रखे निर्देशो के आधार पर संचालन का क्रम बदल सकती है। परिधीय या सतह पे लगे उपकरण किसी बाहरी स्रोत से सूचना ले सकते है व कार्यवाही के फल को स्मृति में सुरक्षित रख सकते है व जरूरत पड़ने पर पुन: प्राप्त कर सकते हैं।
एकीकृत परिपथ पर आधारित आधुनिक संगणक पुराने जमाने के संगणकों के मुकबले करोड़ों अरबों गुना ज्यादा समर्थ है और बहुत ही कम जगह लेते है। सामान्य संगणक इतने छोटे होते है कि मोबाइल फ़ोन में भी समा सकते है और मोबाइल संगणक एक छोटी सी विद्युत कोष (बैटरी) से मिली ऊर्जा से भी काम कर सकते है। ज्यादातर लोग “संगणकों” के बारे में यही राय रखते है कि अपने विभिन्न स्वरूपों में व्यक्तिगत संगणक सूचना प्रौद्योगिकी युग के नायक है। हालाँकि सन्निहित संगणक (embedded system) जो कि ज्यादातर उपकरणों जैसे कि आंकिक एम.पी.३ वादक, वायुयान व खिलौनों से लेकर औद्योगिक मानव यन्त्र में पाये जाते है लोगो के बीच ज्यादा प्रचलित है।
कंप्यूटर शब्द का प्रथम प्रयोग वर्ष 1613 में अंग्रेज लेखक रिचर्ड ब्रेथवेट की पुस्तक '"द यंग मैन ग्लीनिंग्स"' में पाया गया। "मैंने समय के सबसे सही कम्प्यूटरों को और धरा पे जन्मे सर्वोत्तम अंक गणितज्ञ को पढ़ा है।" यह उस व्यक्ति के बारे में बताता है जो गणनाएँ (computations) करता था, तभी से यह शब्द २०वी शताब्दी के मध्य तक इस सन्दर्भ में हूबहू प्रयोग होता आ रहा है। उन्नीसवी शताब्दी के अंत से इस शब्द ने और ज्यादा व्यवहारिक रूप ले लिया, यानी कि वो यन्त्र जो गणनाएँ करता है।
भारत सरकार के वैज्ञानिक तथा तकनीकी शब्दावली आयोग ने 'computer' के लिए हिन्दी में निम्नलिखित शब्द सुझाए हैं-
यांत्रिक संगणकों का प्रादुर्भाव प्रथम शताब्दी में होना शुरू हो गया था जिन्हे बाद में मध्यकालीन युग में खगोल शास्त्रीय गणनाओ के लिए इस्तेमाल भी किया गया। यांत्रिक रेखीय संगणकों को द्धितीय विश्व युद्ध के दौरान विशेषीकृत सैन्य कार्यो में उपयोग किया गया। इसी समय प्रथम विद्युतीय अंकीय परिपथ वाले संगणकों का विकास हुआ। प्रारम्भ में वो एक बड़े कमरे के आकार के होते थे और आज के आधुनिक सैकड़ों निजी संगणकों के बराबर बिजली का उपभोग करते थे। पहली इलेक्ट्रॉनिक अंकीय संगणक यूनाइटेड किंगडम और संयुक्त राज्य अमेरिका में 1940 और 1945 के बीच विकसित किया गया।
गणनाएँ करने के लिये यन्त्रो का इस्तेमाल हज़ारो वर्षो से होता आ रहा है खासकर उग्लियो से गिनती करने वाले उपकरणो का। शुरुवाती गणन यन्त्र सम्भवत: मिलान छड़ी|वो लकड़ी जिस पर गिनती के लिये दांत खोदे गये हो या का एक रूप थी। बाद में मध्य पूर्व में उपजाऊ भूमि के एक भौगोलिक क्षेत्र जो कि आकार में अर्द्ध चंद्र जैसा दिखता है में अभिलिेखो को रखने के लिए "कॅल्क्युली" (मिटटी के गोले, शंकु) का इस्तेमाल होता रहा जो की अधपके और खोखले मिटटी के बर्तनो में रखा होता था। इनका उपयोग सामान की गिनती (अधिकतर पशुधन व अनाज) दर्शाने के लिए किया जाता था। गिनती की छड़े|गिनती की छड़ों का उपयोग इसका एक उदहारण है। शुरुवात में गिनतारे का उपयोग अंकगणितीय कार्यो के लिए होता था। जिसे आज हम रोमन गिनतारा कहते है उसका उपयोग २४०० ईसा पूर्व के प्रारम्भ में बेबीलोनिआ में हुआ था। तब से अब तक गड़ना व हिसाब लगाने के लिए कई अन्य गणन् पट्टियो व गोलियो का आविश्कार हो चुका है। एक मध्ययुगीन युरोपीय गडना घर|गड़ना घर में मेज पर चितकबरे कपडे को रख दिया जाता था और कुछ विशेष नियमो के अनुसार उसपर मोहरों को चलाकर पैसे जोड़ने के लिए एक साधन के तौर पे इस्तेमाल किया जाता था। डेरेक जे. डी-सोला के अनुसार एंटीकाईथेरा प्रक्रिया को शुरुवाती यान्त्रिक अनुरूप अभिकलित्र माना जाता है। इसे खगोलिय स्थितियो की गडना के लिये बनाया गया था। इसे एंटीकाईथेरा के युनानी द्धीप के एंटीकाईथेरा भग्नावशेष में १९०१ में खोज गया था। इसे १०० ईसा पूर्व के समय का पाया गया। ऐसा माना जाता है कि एंटीकाईथेरा प्रक्रिया जैसी जटिलता वाले यन्त्र अगले १००० वर्षो तक मिलने मुश्किल है।
प्राचीन और मध्ययुगीन कालों में खगोलीय गणनाओं के निष्पादन के लिए कई एनालॉग कंप्यूटरों का निर्माण किया गया था। इनमें शामिल हैं प्राचीन ग्रीस की एंटिकिथेरा प्रक्रिया और एस्ट्रॉलैब (लगभग 150-100 ईसा पूर्व), जिन्हें आम तौर पर सबसे प्रारंभिक ज्ञात यांत्रिक एनालॉग कंप्यूटर माना जाता है। एक या अन्य प्रकार की गणनाओं के निष्पादन के लिए इस्तेमाल किये जाने वाले यांत्रिक उपकरणों के अन्य प्रारंभिक संस्करणों में शामिल हैं प्लेनिस्फेयर और अबू रेहान अल बिरूनी (Abū Rayhān al-Bīrūnī) (लगभग 1000 ईसा पश्चात्) द्धारा आविष्कृत अन्य यांत्रिक संगणन उपकरण; अबू इसहाक इब्राहिम अल ज़र्काली (Abū Ishāq Ibrāhīm al-Zarqālī) (लगभग 1015 ईसा पश्चात्) द्वारा आविष्कृत इक्वेटोरियम और यूनिवर्सल लैटिट्यूड-इंडिपेंडेंट एस्ट्रोलेबल; अन्य मध्ययुगीन मुस्लिम खगोलविदों और इंजीनियरों के खगोलीय एनालॉग कंप्यूटर; और सोंग राजवंश के दौरान सू सोंग (लगभग 1090 ईसा पश्चात्) का खगोलीय क्लॉक टावर।
अल जजारी द्वारा 1206 में आविष्कृत एक खगोलीय घड़ी को सबसे पहला प्रोग्राम योग्य रेखीय संगणक माना जाता है। यह राशि चक्र, सूर्य और चंद्रमा की कक्षाओं को दर्शाती थी, इसमें एक अर्द्ध-चंद्राकार सूचक एक संपूर्ण प्रवेश द्वारा से होकर गुजरती थी जिसके कारण हर घंटे पर स्वचालित द्धार खुल जाते थे और पांच रोबोटिक संगीतकार जो एक पानी के पहिये (वाटर व्हील) से जुड़े कैमशाफ्ट द्वारा संचालित लीवरों द्वारा मारे जाने पर संगीत बजा दिया करते थे। दिन और रात की लंबाई को वर्ष भर में दिन और रात की बदलती लंबाइयों के लिए उपयुक्त बनाने के क्रम में हर दिन फिर से प्रोग्राम किया जा सकता है।
एक अभिकलित्र (संगणक) निम्नलिखित चार भागों से मिलकर बनता है : निविष्ट यंत्र , संसाधन यंत्र , निर्गम यंत्र और भंडारण यंत्र।
अभिकलित्र का मुख्य कार्य दिये गये आंकड़े को जमा कर उसपर दिए गए निर्देशों के अनुरूप काम कर परिणाम देना है॥ कार्यक्षमता के आधार पर इसे निम्नलिकित श्रेणियों में बाँटा गया है- सुपर संगणक, मेनफ्रेम संगणक मिनी संगणक, एव माइक्रो संगणक आदि। सुपर संगणक इनमें सबसे बडी श्रेणी होती है, तथा माइक्रो संगणक सबसे छोटी।संगणक हमारे द्वारा दिये जाने वाले हर कार्य को बखूबी करने में सक्षम होते हैं। इनके कुछ गुण इस प्रकार हैं :
संगणक काफी तेज गति से कार्य करते हैं, जब हम संगणक के बारे में बात करते हैं, तो हम मिनी सेकेन्ड, माइक्रो सेकेन्ड में बात नहीं करते, बल्कि हम 10-12 सेकेन्ड में एक कम्पयूटर कितना कार्य कर लेता है, इस रूप में उसकी गति को आँकते हैं।
संगणक कभी भी उबते (बोर) नहीं हैं और यही इनका सबसे अच्छा गुण है, क्योंकि यह एक यंत्र हैं, इसलिये ये काफी दिनों तक बिना किसी शिकायत के कार्य करने में सक्षम होते हैं।
एक सामान्य संगणक भी एक बार दिये गये निर्देश को काफी समय तक स्मरण रखने में सक्षम होता है, तथा जब भी आवश्यकता पडे़, उसे फिर से लिखा और भरा जा सकता है।अभिकलित्र जिस भाषा को समझता है उसे द्विआधारी भाषा कहते हैं। वास्तव में यह यंत्र केवल विद्युत धारा के चालू या बंद होने को ही समझता है॥ विद्युत प्रवाह होने एवं रुकने को 0 या 1 के जरिए व्यक्त किया जाता है।  इसलिए इसपर कोइ काम करने के लिए इसे इस भाषा में निर्देश या सूचना देना होता है।
शुरूआती दिनों में अभिकलित्र को सीधे द्विआधारी भाषा में निर्देश या सूचना दी जाती थी। यंत्र से सीधा संपर्क रहने के कारण इसे यंत्र भाषा (मशीन लैंग्वेज) भी कहा जाता था। इस तरह से निर्देश या सूचना देने की यह प्रक्रिया काफी जटिल थी।
यंत्र भाषा की जटिलता को कम करने के लिए संयोजक (असेंबलर) की सहायता ली गई। यह ऐसा प्रोग्राम था जो कुछ खास शब्दों को द्विआधआरी संकेतों के समूह में बदल देता था। इस भाषा में प्रत्येक प्रक्रिया के लिए एक सरल शब्द चुन लिए गए थे। इससे द्विआधारी संकेत समूह के बजाय केवल संकेत शब्द लिखकर काम हो जाता था। इस संकेतों द्वारा संयोजित तथा संयोजक की सहायता से काम करने वाली भाषा को संयोजन भाषा (असेंबली लैंग्वेज) कहा गया।
असेम्बली लैंग्वेज के आने से संगणक प्रोग्रामर्स को सुविधा जरूर मिली, किन्तु इसके लिए प्रोग्रामर को संगणक के हार्डवेयर तथा इसकी कार्य प्रणाली का सम्पूर्ण ज्ञान होना आवश्यक होता था। अतः अब और भी सरल भाषायों का विकास किया गया, जिन्हें उच्च स्तरीय भाषा कहा गया। इनमे से कुछ प्रमुख आरंभिक भाषाए कोबोल (COBOL), बेसिक (BASIC), सी (C) थी।
1960 के दशक में, संकलक या कंपाइलर का उपयोग करने वाली उच्च-स्तरीय प्रोग्रामिंग भाषाओं को आमतौर पर ऑटोकोड कहा जाता था। ऑटोकोड के उदाहरण COBOL और फोरट्रान हैं। कंप्यूटर के लिए डिज़ाइन की गई पहली उच्च-स्तरीय प्रोग्रामिंग भाषा प्लैंकल्कल (Plankalkül) थी, जो कोनराड ज़्यूस द्वारा बनाई गई थी। हालांकि, यह उनके समय में लागू नहीं किया गया था।
उच्च-स्तरीय प्रोग्रामिंग भाषाओं के बारे में एक बात ध्यान देने योग्य है कि ये भाषाएँ प्रोग्रामर को मशीन से अलग करने और अलग करने की अनुमति देती हैं। अर्थात्, असेंबली या मशीन भाषा जैसी निम्न-स्तरीय भाषाओं के विपरीत, उच्च-स्तरीय प्रोग्रामिंग प्रोग्रामर के निर्देशों को बढ़ा सकते हैं और उनकी जानकारी के बिना पृष्ठभूमि में बहुत सारे डेटा आंदोलनों को ट्रिगर कर सकते हैं। निर्देश को निष्पादित करने की जिम्मेदारी और शक्ति प्रोग्रामर से मशीन को सौंप दी गई है।
उच्च स्तरीय भाषायों या हाई लेवल लैंग्वेजों को मशीन भाषा में परिवर्तित करने के लिए संकलक (Compiler) और व्याख्याता (Interpreter) की जरूरत पड़ती है। संकलक या कंपाइलर उच्च स्तरीय भाषा में लिखे गए प्रोग्राम को स्थायी रूप से मशीन भाषा में परिवर्तित करता है, जबकि व्याख्याता या इंटरप्रेटर एक एक पंक्ति करके परिवर्तित करता है।