अभिकलन

कम्प्यूटिंग किसी भी लक्ष्य-उन्मुख की एक ऐसी गतिविधि होती है, जिसके लिए  कंप्यूटिंग मशीनरी  की आवश्यकता होती है, इससे लाभ या निर्माण होता है। इसमें  कलन विधि  प्रक्रियाओं का अध्ययन प्रयोग और हार्डवेयर एवं  सॉफ़्टवेयर  दोनों का विकास सम्मिलित होता है। कंप्यूटिंग में वैज्ञानिक, अभियांत्रिकी, गणितीय, तकनीकी और सामाजिक पहलू हैं। प्रमुख कंप्यूटिंग विषयों में  कंप्यूटर अभियांत्रिकी, कंप्यूटर विज्ञान,  साइबर सुरक्षा , डेटा विज्ञान, सूचना प्रणाली, सूचना प्रौद्योगिकी और  सॉफ्टवेयर अभियांत्रिकी  सम्मिलित हैं।

"कंप्यूटिंग" शब्द भी गिनती और गणना का समानार्थक  है। पहले के समय में इसका उपयोग  यांत्रिक कंप्यूटर  मशीनों द्वारा की जाने वाली क्रिया के संदर्भ में और उससे पहले,  मानव कंप्यूटरों  के लिए किया जाता था।



इतिहास
कंप्यूटिंग का इतिहास कंप्यूटिंग हार्डवेयर और आधुनिक कंप्यूटिंग प्रौद्योगिकी के इतिहास से अधिक लंबा है, इसमें मेंज की सहायता के साथ या बिना पेन और पेपर के तरीकों का इतिहास सम्मिलित है। कम्प्यूटिंग संख्याओं  के प्रतिनिधित्व से घनिष्ठ रूप से जुड़ा हुआ है, यद्यपि कंप्यूटिंग के लिए आवश्यक गणितीय अवधारणाएं  अंक प्रणालीयों  से पहले उपस्थित थीं। इन अवधारणाओं में एक से एक पत्राचार, गिनती का आधार, एक मानक की तुलना माप के लिए प्रयुक्त और 3-4-5 समकोण त्रिभुज एक समकोण सुनिश्चित करने के लिए उपकरण भी सम्मिलित हैं।।

गणना में उपयोग के लिए सबसे पहला ज्ञात उपकरण अबेकस  है, और यह माना जाता है कि इसका आविष्कार लगभग 2400 ईसा पूर्व बेबीलोन  में हुआ था।  इसकी मूल शैली कंकड़ के साथ रेत में खींची गई रेखाओं द्वारा थी। अधिक आधुनिक परिकलन के अबासी का उपयोग आज भी गणना उपकरण के रूप में किया जाता है। यह पहली ज्ञात गणना सहायता थी जो - 2,000 वर्षों तक ग्रीक विधियों से पहले।

कंप्यूटिंग में अंकीय इलेक्ट्रॉनिक्स का उपयोग करने का पहला रिकॉर्ड किया गया, प्रस्ताव सी.ई. व्यान-विलियम्स द्वारा 1931 का पेपर भौतिक घटनाओं की उच्च गति स्वचालित गणना के लिए थायराट्रॉन का उपयोग था। क्लाउड शैनन  के 1938 के पेपर  रिले और स्विचिंग परिपथ का प्रतीकात्मक विश्लेषण  ने तब बूलियन बीजीय संचालन के लिए इलेक्ट्रॉनिक्स का उपयोग करने का विचार पेश किया।

1925 में जूलियस एडगर लिलिएनफेल्ड  द्वारा एक फील्ड-इफेक्ट  ट्रांजिस्टर  की अवधारणा प्रस्तावित की गई थी।  जॉन बार्डीन  और  वाल्टर ब्रेटन  ने  बेल लैब्स  में विलियम शॉक्ले के अधीन काम करते हुए, 1947 में पहला काम करने वाला ट्रांजिस्टर, बिंदु-संपर्क ट्रांजिस्टर  बनाया।  1953 में  मैनचेस्टर विश्वविद्यालय  ने पहला ट्रांजिस्टरयुक्त कंप्यूटर बनाया, जिसे ट्रांजिस्टर  मैनचेस्टर कंप्यूटर  कहा जाता है। यद्यपि प्रारम्भ मे  जंक्शन ट्रांजिस्टर  अपेक्षाकृत भारी उपकरण थे जिनका बड़े पैमाने पर उत्पादन करना जटिल था, जो उन्हें कई विशिष्ट अनुप्रयोगों तक सीमित कर देता था।  मेटल-ऑक्साइड-सिलिकॉन फील्ड-इफेक्ट ट्रांजिस्टर MOSFET या MOS ट्रांजिस्टर का आविष्कार  मोहम्मद अटाला  और डॉन कहंग ने 1959 में बेल लैब्स में किया था।  यह पहला सही मायने में कॉम्पैक्ट ट्रांजिस्टर था जिसे व्यापक उपयोग के लिए छोटा और  बड़े पैमाने पर उत्पादित  किया जा सकता था। MOSFET ने उच्च-घनत्व वाले एकीकृत परिपथ चिप्स का निर्माण संभव बनाया,  जिससे कंप्यूटर क्रांति या माइक्रो कंप्यूटर क्रांति के रूप में जाना जाता है।

कंप्यूटर
कंप्यूटर एक ऐसी इलेक्ट्रोनिक  मशीन  है जो निर्देशों के समूह के अनुसार  डेटा (कंप्यूटिंग)  में  कुशलतापूर्वक प्रयोग करती है जिसे  कंप्यूटर प्रोग्राम  कहा जाता है। प्रोग्राम का निष्पादन योग्य रूप होता है जिसे कंप्यूटर सीधे निर्देशों को निष्पादित करने के लिए उपयोग कर सकता है। अपने मानव-पठनीय स्रोत सांकेतिक रूप में एक ही कार्यक्रम, एक प्रोग्रामर को कलनविधि के रूप में ज्ञात चरणों के अनुक्रम का अध्ययन और विकास करने में सक्षम बनाता है। क्योंकि निर्देशों को विभिन्न प्रकार के कंप्यूटरों में निष्पादित किया जा सकता है, स्रोत निर्देशों का एक संग्रह सीपीयू प्रकार के अनुसार मशीन निर्देशों में परिवर्तित हो जाता है।।

निष्पादन प्रक्रिया  कंप्यूटर प्रोग्राम में निर्देशों को पूरा करती है। निर्देश कंप्यूटर द्वारा की गई गणनाओं को व्यक्त करते हैं। वे निष्पादन मशीन पर सरल क्रियाओं के अनुक्रमों को प्रेरित करते हैं। वे क्रियाएं निर्देशों की  प्रोग्रामिंग भाषाओं के औपचारिक शब्दार्थ  के अनुसार प्रभाव उत्पन्न करती हैं।

कंप्यूटर हार्डवेयर
कंप्यूटर हार्डवेयर में कंप्यूटर के भौतिक भाग सम्मिलित हैं, जिसमें सेंट्रल प्रोसेसिंग यूनिट, मेमोरी और इनपुट / आउटपुट सम्मिलित हैं। कंप्यूटर हार्डवेयर के क्षेत्र में  कम्प्यूटेशनल तर्क  और कंप्यूटर संरचना  प्रमुख विषय हैं।

कंप्यूटर सॉफ्टवेयर
कंप्यूटर सॉफ्टवेयर, या सिर्फ सॉफ्टवेयर, कंप्यूटर प्रोग्राम और संबंधित डेटा का एक संग्रह है, जो कंप्यूटर को निर्देश प्रदान करता है। सॉफ्टवेयर एक या एक से अधिक कंप्यूटर प्रोग्राम और कंप्यूटर के भंडारण में रखे डेटा को संदर्भित करता है। यह प्रोग्रामों प्रक्रियाओं कलन विधि का समूह है जो साथ ही डेटा प्रोसेसिंग प्रणाली के संचालन से संबंधित इसके दस्तावेज भी हैं। प्रोग्राम सॉफ़्टवेयर उस कंप्यूटर प्रोग्राम का कार्य करता है जिसे वह प्रारम्भ करता है, या तो सीधे कंप्यूटर हार्डवेयर  को  निर्देश (कंप्यूटर विज्ञान)  प्रदान करके या सॉफ़्टवेयर के किसी अन्य भाग में इनपुट के रूप में सेवा करके  शब्दावली  को पुराने शब्द कंप्यूटर हार्डवेयर अर्थात् भौतिक उपकरण के विपरीत बनाया गया था। हार्डवेयर के विपरीत सॉफ्टवेयर अमूर्त है। सॉफ़्टवेयर का उपयोग कभी-कभी अधिक संकीर्ण अर्थों में भी किया जाता है, जिसका अर्थ केवल एप्लिकेशन सॉफ़्टवेयर है।

सिस्टम सॉफ्टवेयर
सिस्टम सॉफ़्टवेयर, या सिस्टम सॉफ़्टवेयर, कंप्यूटर हार्डवेयर को संचालित करने और नियंत्रित करने के लिए और एप्लिकेशन सॉफ़्टवेयर चलाने के लिए एक प्लेटफ़ॉर्म प्रदान करने के लिए डिज़ाइन किया गया कंप्यूटर सॉफ़्टवेयर है। सिस्टम सॉफ्टवेयर में ऑपरेटिंग सिस्टम, यूटिलिटी सॉफ्टवेयर, डिवाइस ड्राइवर, खिड़की प्रणाली  और  फर्मवेयर  सम्मिलित हैं। अधिकांश उपयोग किए जाने वाले विकास उपकरण, जैसे कि  कंपाइलर, लिंकर (कंप्यूटिंग) और  डिबगिंग  को सिस्टम सॉफ्टवेयर के रूप में वर्गीकृत किया जाता है।  सिस्टम सॉफ्ट्वेयर और  मिडलवेयर कंप्यूटर की क्षमताओं का प्रबंधन और एकीकरण करते हैं, लेकिन सामान्य रूप से एप्लिकेशन सॉफ़्टवेयर के विपरीत उपयोगकर्ता को लाभ पहुंचाने वाले कार्यों के प्रदर्शन में उन्हें सीधे प्रारम्भ नहीं करते हैं।

एप्लीकेशन सॉफ्टवेयर
एप्लिकेशन सॉफ़्टवेयर, जिसे एप्लिकेशन या ऐप के रूप में भी जाना जाता है कंप्यूटर सॉफ्टवेयर  है,  जिसे उपयोगकर्ता को विशिष्ट कार्यों को करने में मदद करने के लिए बनाया गया है। उदाहरणों में  उद्यम सॉफ्टवेयर, अकाउंटिंग सॉफ्टवेयर,  ऑफिस सूट,  ग्राफिक्स सॉफ्टवेयर  और  मीडिया प्लेयर (एप्लिकेशन सॉफ्टवेयर)  सम्मिलित हैं। कई एप्लिकेशन प्रोग्राम मुख्य रूप से दस्तावेजों से संबंधित होते हैं। ऐप्स को कंप्यूटर और उसके सिस्टम सॉफ़्टवेयर के साथ  उत्पाद  किया जा सकता है, या अलग से प्रकाशित किया जा सकता है।  कुछ उपयोगकर्ता बंडल किए गए ऐप्स से संतुष्ट हैं और उन्हें कभी भी अतिरिक्त एप्लिकेशन इंस्टॉल करने की आवश्यकता नहीं है। सिस्टम सॉफ्टवेयर हार्डवेयर का प्रबंधन करता है और एप्लिकेशन कार्य करता है, जो बदले में उपयोगकर्ता की सहायता करता है।

एप्लिकेशन सॉफ़्टवेयर किसी विशेष  कंप्यूटिंग मंच  या सिस्टम सॉफ़्टवेयर की शक्ति को किसी विशेष उद्देश्य पर लागू करता है। कुछ ऐप, जैसे कि माइक्रोसॉफ्ट ऑफिस, कई अलग-अलग प्लेटफॉर्म के लिए कई संस्करणों में विकसित किए गए हैं; दूसरों की आवश्यकताएं कम होती हैं और आमतौर पर उन्हें उनके द्वारा चलाए जाने वाले प्लेटफॉर्म द्वारा संदर्भित किया जाता है। उदाहरण के लिए, Microsoft Windows  के लिए  भौगोलिक एप्लिकेशन  या शिक्षा के लिए एंड्रॉइड एप्लिकेशन या लिनक्स गेमिंग एप्लिकेशन जो केवल एक प्लेटफॉर्म पर चलते हैं और एप्लिकेशन की लोकप्रियता के कारण उस प्लेटफॉर्म की वांछनीयता को बढ़ाते हैं, जिन्हें  किलर एप्लिकेशन  के रूप में जाना जाता है।

कंप्यूटर नेटवर्क
कंप्यूटर नेटवर्क, जिसे अधिकांश केवल एक नेटवर्क के रूप में संदर्भित किया जाता है, हार्डवेयर घटकों और संचार माध्यमों के द्वारा परस्पर जुड़े कंप्यूटरों का एक संग्रह है, जो संसाधनों और सूचनाओं को साझा करने की अनुमति देता है। जब उपकरण में कम से कम प्रक्रिया रिमोट उपकरण में रहने वाली कम से कम एक प्रक्रिया से डेटा भेजने या प्राप्त करने में सक्षम होती है, तो दो उपकरणों को नेटवर्क में कहा जाता है। नेटवर्क को विभिन्न प्रकार की विशेषताओं के अनुसार वर्गीकृत किया जा सकता है जैसे कि डेटा के परिवहन के लिए उपयोग किया जाने वाला माध्यम, संचार प्रोटोकॉल  का उपयोग, स्केल, नेटवर्क टोपोलॉजी  और संगठनात्मक क्षेत्र।

संचार प्रोटोकॉल एक कंप्यूटर नेटवर्क में सूचनाओं के आदान-प्रदान के लिए नियमों और डेटा स्वरूपों को परिभाषित करते हैं,जो कंप्यूटर नेटवर्क प्रोग्रामिंग  के लिए आधार प्रदान करते हैं। एक प्रसिद्ध संचार प्रोटोकॉल  ईथरनेट  है, हार्डवेयर और  लिंक परत  मानक जो स्थानीय क्षेत्र नेटवर्क में सर्वव्यापी है। अन्य सामान्य प्रोटोकॉल  इंटरनेट प्रोटोकॉल समूह  है, जो इंटरनेटवर्किंग के लिए प्रोटोकॉल के एक समूह को परिभाषित करता है, अर्थात कई नेटवर्क के बीच डेटा संचार के लिए, होस्ट-टू-होस्ट डेटा ट्रांसफर और एप्लिकेशन-विशिष्ट डेटा ट्रांसमिशन प्रारूप।

कंप्यूटर नेटवर्किंग को कभी-कभी विद्युत अभियन्त्रण,  दूरसंचार , कंप्यूटर विज्ञान, सूचना प्रौद्योगिकी या कंप्यूटर इंजीनियरिंग का उप-विषय भी माना जाता है, क्योंकि यह इन विषयों के सैद्धांतिक और व्यावहारिक अनुप्रयोग पर निर्भर करता है।

इंटरनेट
इंटरनेट इंटरकनेक्टेड कंप्यूटर नेटवर्क की वैश्विक प्रणाली है, जो अरबों उपयोगकर्ताओं की सेवा के लिए मानक इंटरनेट प्रोटोकॉल सूट टीसीपी/आईपी का उपयोग करती है। इसमें लाखों निजी, सार्वजनिक, शैक्षणिक, व्यावसायिक और सरकारी नेटवर्कसम्मिलित हैं, जो स्थानीय से लेकर वैश्विक तक के दायरे में हैं। ये नेटवर्क इलेक्ट्रॉनिक, बिना तार के और ऑप्टिकल नेटवर्किंग प्रौद्योगिकियों की एक विस्तृत श्रृंखला से जुड़े होते हैं। इंटरनेट में सूचना संसाधनों और सेवाओं की विस्तृत श्रृंखला होती है, जैसे वर्ल्ड वाइड वेब  के इंटर-लिंक्ड  हाइपरटेक्स्ट  दस्तावेज़ और ईमेल का समर्थन करने के लिए आधारभूत संरचना होती है।

कंप्यूटर प्रोग्रामिंग
कंप्यूटर प्रोग्रामिंग, कंप्यूटर प्रोग्राम के स्रोत कोड और प्रलेखन को लिखने, परीक्षण करने, डिबगिंग करने और बनाए रखने की प्रक्रिया है। यह स्रोत कोड एक प्रोग्रामिंग भाषा में लिखा गया है, जो कि  कृत्रिम भाषा  है जो प्रायः प्राकृतिक भाषाओं  की तुलना में अधिक प्रतिबंधात्मक होती है, लेकिन कंप्यूटर द्वारा आसानी से अनुवादित होती है। प्रोग्रामिंग का उपयोग मशीन से कुछ वांछित व्यवहार को प्रारम्भ करने के लिए किया जाता है।

उच्च गुणवत्ता वाले स्रोत कोड को लिखने के लिए कंप्यूटर साइंस डोमेन और उस डोमेन दोनों का ज्ञान होना आवश्यक है, जिसमें एप्लिकेशन का उपयोग किया जाएगा। इस प्रकार उच्चतम गुणवत्ता वाला सॉफ़्टवेयर अधिकांश डोमेन विशेषज्ञों की टीम द्वारा विकसित किया जाता है, प्रत्येक विकास के किसी न किसी क्षेत्र में विशेषज्ञ होता है। प्रोग्रामर शब्द  हैकर (शौकिया) से लेकर  हैकर (प्रोग्रामर उपसंस्कृति) से लेकर पेशेवर तक कार्यक्रम की गुणवत्ता की एक श्रृंखला पर लागू हो सकता है। एकल प्रोग्रामर के लिए एक नया किलर एप्लिकेशन प्रारंभ करने के लिए अवधारणा का प्रमाण उत्पन्न करने के लिए आवश्यक अधिकांश या सभी कंप्यूटर प्रोग्रामिंग करना भी संभव है।।

कंप्यूटर प्रोग्राम
एक प्रोग्रामर, कंप्यूटर प्रोग्रामर या कोडर वह व्यक्ति होता है, जो कंप्यूटर सॉफ्टवेयर लिखता है। कंप्यूटर प्रोग्रामर शब्द कंप्यूटर प्रोग्रामिंग  के क्षेत्र में एक विशेषज्ञ या सामान्यवादी को संदर्भित कर सकता है जो कई प्रकार के सॉफ़्टवेयर के लिए कोड लिखता है। जो प्रोग्रामिंग के लिए औपचारिक दृष्टिकोण का अभ्यास या दावा करता है उसे प्रोग्रामर विश्लेषक के रूप में भी जाना जा सकता है। प्रोग्रामर की प्राथमिक कंप्यूटर भाषा ( सी, सी ++,  जावा ,  लिस्प,  पायथन, आदि) अधिकांश उपरोक्त शीर्षकों से पहले होती है, और जो प्रायः वेब वातावरण में काम करते हैं वेब के साथ उनके शीर्षकों को उपसर्ग करें। प्रोग्रामर शब्द का उपयोग  सॉफ्टवेयर डेवलपर ,  सॉफ्टवेयर इंजीनियर , कंप्यूटर वैज्ञानिक या  सॉफ्टवेयर विश्लेषक  के संदर्भ में किया जा सकता है। अर्थात, इन व्यवसायों के सदस्यों के पास प्रोग्रामिंग से परे अन्य सॉफ्टवेयर इंजीनियरिंग कौशल भी होता हैं।

कंप्यूटर उद्योग
कंप्यूटर उद्योग, कंप्यूटर सॉफ्टवेयर को विकसित करने, कंप्यूटर हार्डवेयर और कम्प्यूटर नेट्वर्किंग  आधारभूत संरचनाओं का परिकलन करने, कंप्यूटर घटकों के निर्माण और प्रणाली प्रशासक और संरक्षण सहित सूचना प्रौद्योगिकी सेवाएं प्रदान करने में सम्मिलित व्यवसायों से बना है।

सॉफ्टवेयर उद्योग में सॉफ्टवेयर विकास, सॉफ्टवेयर संरक्षण और सॉफ्टवेयर के सॉफ्टवेयर प्रकाशक  में लगे व्यवसाय सम्मिलित हैं। उद्योग में सॉफ्टवेयर  सेवाएं  भी सम्मिलित है, जैसे कि  प्रशिक्षण,  सॉफ्टवेयर प्रलेखन और परामर्श आदि।

कंप्यूटर इंजीनियरिंग
कंप्यूटर इंजीनियरिंग एक ऐसा विषय है जो कंप्यूटर हार्डवेयर और सॉफ्टवेयर विकसित करने के लिए आवश्यक इलेक्ट्रॉनिक इंजीनियरिंग  और कंप्यूटर विज्ञान के कई क्षेत्रों को एकीकृत करता है। कंप्यूटर इंजीनियरों के पास आमतौर पर केवल सॉफ्टवेयर इंजीनियरिंग या इलेक्ट्रॉनिक इंजीनियरिंग के बजाय इलेक्ट्रॉनिक इंजीनियरिंग (या इलेक्ट्रिकल इंजीनियरिंग), सॉफ्टवेर परिकलन  और हार्डवेयर-सॉफ्टवेयर एकीकरण में प्रशिक्षण होता है। कंप्यूटर इंजीनियर अलग-अलग  माइक्रोप्रोसेसर,  निजी कंप्यूटर  और सुपर कंप्यूटर के प्रारूप से लेकर परिपथ परिकलन  तक, कंप्यूटिंग के कई हार्डवेयर और सॉफ्टवेयर सम्मिलित हैं। इंजीनियरिंग के इस क्षेत्र में न केवल अपने डोमेन के भीतर हार्डवेयर का परिकलन सम्मिलित है, लेकिन हार्डवेयर और उस संदर्भ के बीच की बातचीत भी सम्मिलित है जिसमें यह पूर्ण रूप से संचालित होता है।

सॉफ्टवेयर इंजीनियरिंग
सॉफ्टवेयर इंजीनियरिंग  (एसई) सॉफ्टवेयर के परिकलन, विकास, संचालन, संरक्षण और इन दृष्टिकोणों के अध्ययन के लिए एक व्यवस्थित, अनुशासित और मात्रात्मक दृष्टिकोण का अनुप्रयोग है। अर्थात्, सॉफ्टवेयर के लिए इंजीनियरिंग का अनुप्रयोग।  यह किसी समस्या के समाधान की कल्पना, मॉडल और पैमाने के लिए अंतर्दृष्टि का उपयोग करने का कार्य है। इस शब्द का पहला संदर्भ 1968 का  नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन  है, और इसका उद्देश्य उस समय के कथित  सॉफ्टवेयर क्रिसिस  के बारे में विचारों को महसूस करना था।    सॉफ्टवेयर विकास व्यापक रूप से इस्तेमाल किया जाने वाला और अधिक सामान्य शब्द जरूरी नहीं कि इंजीनियरिंग प्रतिमान को समाहित करे। एक इंजीनियरिंग अनुशासन के रूप में सॉफ्टवेयर इंजीनियरिंग की सामान्य रूप से स्वीकृत अवधारणाओं के मार्गदर्शक के लिए ज्ञान का सॉफ्टवेयर इंजीनियरिंग निकाय (SWEBOK) में निर्दिष्ट किया गया है। SWEBOK ISO/IEC TR 19759:2015. में अंतरराष्ट्रीय स्तर पर स्वीकृत मानक बन गया है।

कंप्यूटर विज्ञान
कंप्यूटर विज्ञान  या कंप्यूटिंग विज्ञान (संक्षिप्त सीएस या कॉम्प विज्ञान) गणना  और उसके अनुप्रयोगों के लिए वैज्ञानिक और व्यावहारिक दृष्टिकोण है। कंप्यूटर वैज्ञानिक गणना के सिद्धांत और कम्प्यूटेशनल प्रणाली के परिकलन में विशेषज्ञ हैं।

इसके उपक्षेत्रों को कंप्यूटर प्रणाली  में इसके कार्यान्वयन और अनुप्रयोग के लिए व्यावहारिक तकनीकों और विशुद्ध रूप से सैद्धांतिक क्षेत्रों में विभाजित किया जा सकता है। जैसे कि  कम्प्यूटेशनल जटिलता सिद्धांत, जो  कम्प्यूटेशनल समस्याओं  के मौलिक गुणों का अध्ययन करता है, अत्यधिक सारगर्भित हैं, जबकि अन्य जैसे,  कंप्यूटर ग्राफिक्स, वास्तविक दुनिया के अनुप्रयोगों पर महत्व देते हैं। अन्य कम्प्यूटेशंस को प्रारम्भ करने में चुनौतियों पर ध्यान केंद्रित करते हैं। उदाहरण के लिए,  प्रोग्रामिंग भाषा सिद्धांत  अध्ययन गणनाओं के विवरण के लिए दृष्टिकोण करता है, जबकि कंप्यूटर प्रोग्रामिंग का अध्ययन प्रोग्रामिंग भाषाओं और जटिल प्रणालियों के उपयोग की जांच करता है।  मानव कंप्यूटर संपर्क का क्षेत्र कंप्यूटर और गणनाओं को उपयोगी प्रयोग करने योग्य और मनुष्यों के लिए सार्वभौमिक रूप से सुलभ बनाने में चुनौतियों पर केंद्रित है।

साइबर सुरक्षा
साइबर सुरक्षा का क्षेत्र कंप्यूटर प्रणाली और नेटवर्क की सुरक्षा से संबंधित है। इसमें सूचना गोपनीयता, आईटी सेवाओं में व्यवधान को रोकना और हार्डवेयर, सॉफ़्टवेयर और डेटा की चोरी और क्षति को रोकना सम्मिलित होता है।

डेटा विज्ञान
डेटा विज्ञान एक ऐसा क्षेत्र है, जो डेटा की बढ़ती मात्रा और उपलब्धता द्वारा संचालित डेटा से जानकारी और सूक्ष्म दृष्टि निकालने के लिए वैज्ञानिक और कंप्यूटिंग उपकरण का उपयोग करता है। डेटा माइनिंग, ज्यादा डेटा, आंकड़े  और  मशीन लर्निंग  सभी डेटा विज्ञान से जुड़े होते हैं।

सूचना प्रणाली
सूचना प्रणाली (आईएस) हार्डवेयर और सॉफ्टवेयर के अतिरिक्त नेटवर्क का अध्ययन है, जिसका उपयोग लोग और संगठनों के डेटा को एकत्र करने, फ़िल्टर करने, प्रक्रिया करने, बनाने और वितरित करने के लिए करते हैं।  कम्प्यूटिंग मशीनरी के कम्प्यूटिंग करियर के लिए एसोसिएशन आईएस का वर्णन इस प्रकार करता है: "अधिकांश आईएस उपाधि कार्यक्रम बिजनेस विद्यालयों में स्थित हैं। तथा उनके अलग-अलग नाम हो सकते हैं जैसे प्रबंधन सूचना प्रणाली, कंप्यूटर सूचना प्रणाली, या व्यावसायिक सूचना प्रणाली। सभी आईएस उपाधि व्यवसाय और कंप्यूटिंग विषयों को जोड़ती हैं, लेकिन तकनीकी और संगठनात्मक मुद्दों के बीच महत्व कार्यक्रमों के बीच भिन्न होता है। उदाहरण के लिए, प्रोग्राम आवश्यक प्रोग्रामिंग की मात्रा में काफी भिन्न होते हैं"

कंप्यूटर विज्ञान अनुशासन के अन्दर विभिन्न व्यावसायिक प्रारूप और संबंधित कलनविधि प्रक्रियाओं का अध्ययन करने के लिए सूचना और गणना की सैद्धांतिक नींव का उपयोग करते हुए आईएस ब्रिज व्यापार  और कंप्यूटर विज्ञान का अध्ययन।   कंप्यूटर सूचना प्रणाली (सीआईएस) का क्षेत्र कंप्यूटर और कलन विधि प्रक्रियाओं का अध्ययन करता है, जिसमें उनके सिद्धांत, उनके सॉफ्टवेयर और हार्डवेयर डिजाइन, उनके अनुप्रयोग और समाज पर उसके प्रभाव सम्मिलित हैं।  जबकि आईएस परिकलन पर कार्यक्षमता को महत्व देता है।

सूचना प्रौद्योगिकी
सूचना प्रौद्योगिकी आईटी डेटा को संग्रह करने, पुनर्प्राप्त करने, संचारित करने और कुशलता पूर्वक करने के लिए कंप्यूटर और दूरसंचार उपकरण  का अनुप्रयोग होता है, अधिकांश किसी व्यवसाय या अन्य उद्यम के संदर्भ में। यह शब्द सामान्य रूप से कंप्यूटर और कंप्यूटर नेटवर्क के समानार्थी के रूप में प्रयोग किया जाता है, लेकिन इसमें दूरदर्शन और टेलीफोन जैसी अन्य सूचना वितरण तकनीकों को भी सम्मिलित किया गया है। कंप्यूटर हार्डवेयर, सॉफ्टवेयर,  इलेक्ट्रानिक्स, अर्धचालकों इंटरनेट , दूरसंचार उपकरण,  ई-कॉमर्स  और कंप्यूटर सेवाओं सहित कई  कंप्यूटर उद्योग  सूचना प्रौद्योगिकी से जुड़े हैं।

अनुसंधान और उभरती हुई प्रौद्योगिकियां
डीएनए आधारित कंप्यूटिंग और  क्वांटम कम्प्यूटिंग  कंप्यूटिंग हार्डवेयर और सॉफ्टवेयर दोनों के लिए सक्रिय अनुसंधान के क्षेत्र हैं, जैसे  क्वांटम कलन विधि  का विकास। भविष्य की प्रौद्योगिकियों के लिए संभावित बुनियादी ढांचे में फोटोलिथोग्राफी पर  डीएनए उत्पत्ति  सम्मिलित है और आयन ट्रैप के बीच सूचना स्थानांतरित करने के लिए  क्वांटम एंटीना 2011 तक, शोधकर्ताओं के पास जटिल 14 के  बराबर  था।   जोसेफसन जंक्शन  और  रैपिड सिंगल फ्लक्स क्वांटम  तकनीक पर आधारित तेज  अंकीय परिपथ,  नैनोस्केल अतिचालक कि खोज के साथ लगभग साकार हो रहे हैं।

फाइबर-ऑप्टिक और फोटोनिक उपकरण, जो पहले से ही लंबी दूरी पर डेटा परिवहन के लिए उपयोग किए जाते हैं, सीपीयू और अतिचालक भंडारण घटकों के साथ-साथ डेटा केंद्रों द्वारा उपयोग किए जाने लगे हैं। यह ऑप्टिकल इंटरकनेक्ट द्वारा रैम को सीपीयू से अलग करने की अनुमति देता है। आईबीएम ने एक चिप में इलेक्ट्रॉनिक और ऑप्टिकल सूचना प्रसंस्करण दोनों के साथ एक एकीकृत परिपथ बनाया है। इसे सीएमओएस-एकीकृत नैनोफोटोनिक्स या सीआईएनपी द्वारा निरूपित किया जाता है। ऑप्टिकल इंटरकनेक्ट का एक लाभ यह है कि मदरबोर्ड, जिन्हें पहले एक चिप एसओसी पर निश्चित प्रकार की प्रणाली की आवश्यकता होती थी, मदरबोर्ड से पूर्व में समर्पित भंडारण और नेटवर्क नियंत्रकों को स्थानांतरित कर सकते हैं, नियंत्रकों को रैक पर फैला सकते हैं। यह कई प्रकार के एसओसी के लिए बैकप्लेन इंटरकनेक्ट और मदरबोर्ड के मानकीकरण की अनुमति देता है, जो सीपीयू के अधिक समय पर उन्नयन की अनुमति देता है।

अनुसंधान का एक अन्य क्षेत्र स्पिंट्रोनिक्स  है। स्पिंट्रोनिक्स ऊष्मीय प्रकासन के बिना कंप्यूटिंग शक्ति और भंडारण प्रदान कर सकता है। हाइब्रिड चिप्स पर कुछ शोध किया जा रहा है, जो  फोटोनिक्स और स्पिंट्रोनिक्स को मिलाते हैं।   प्लास्मोनिक्स, फोटोनिक्स और इलेक्ट्रॉनिक्स के संयोजन पर भी शोध चल रहा है।

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

इस क्षेत्र में रुचि का एक क्षेत्र ऊर्जा दक्षता का समर्थन करने की इसकी क्षमता है। हजारों अलग-अलग मशीनों के बजाय एक ही मशीन पर गणना के हजारों उदाहरणों की अनुमति देने से ऊर्जा बचाने में मदद मिल सकती है। यह अक्षय ऊर्जा स्रोत में संक्रमण को भी आसान बना सकता है, क्योंकि यह लाखों घरों और कार्यालयों के बजाय अक्षय ऊर्जा के साथ एक सर्वर फार्म को बिजली देने के लिए पर्याप्त होगा।

यह केंद्रीकृत कंप्यूटिंग प्रारूप कई चुनौतियों का सामना करता है, ज़्यादातर सुरक्षा और गोपनीयता में। वर्तमान कानून उपयोगकर्ताओं को कंपनी सर्वर पर अपने डेटा को गलत तरीके से प्रबंधित करने वाली कंपनियों से पर्याप्त रूप से सुरक्षित नहीं करता है। यह क्लाउड कंप्यूटिंग और तकनीकी कंपनियों पर आगे विधायी नियमों की संभावना का सुझाव देता है।

क्वांटम कंप्यूटिंग
क्वांटम कंप्यूटिंग अनुसंधान का एक क्षेत्र है जो कंप्यूटर विज्ञान, सूचना सिद्धांत और क्वांटम भौतिकी के विषयों को एक साथ लाता है। जबकि भौतिकी के हिस्से के रूप में सूचना का विचार अपेक्षाकृत नया है, सूचना सिद्धांत और क्वांटम यांत्रिकी के बीच एक मजबूत संबंध प्रतीत होता है। जबकि पारंपरिक कंप्यूटिंग और शून्य की बाइनरी प्रणाली पर काम करती है, क्वांटम कंप्यूटिंग क्यूबिट्स का उपयोग करती है। क्यूबिट्स एक सुपरपोजिशन में, यानी एक और शून्य दोनों अवस्थाओं में एक साथ होने में सक्षम हैं। इस प्रकार, क्यूबिट्स का मान 1 और 0 के बीच नहीं है, लेकिन जब इसे मापा जाता है, तो इसके आधार पर परिवर्तन होता है। क्यूबिट्स की इस विशेषता को क्वांटम जटिलता के रूप में जाना जाता है, और क्वांटम कंप्यूटिंग का मूल विचार है जो क्वांटम कंप्यूटरों को बड़े पैमाने पर गणना करने की अनुमति देता है। क्वांटम कंप्यूटिंग का उपयोग अक्सर उन मामलों में वैज्ञानिक अनुसंधान के लिए किया जाता है जहां पारंपरिक कंप्यूटरों में आवश्यक गणना करने के लिए कंप्यूटिंग शक्ति नहीं होती है, जैसे कि आणविक प्रतिरूपण  में। पारंपरिक कंप्यूटरों की गणना के लिए बड़े अणु और उनकी प्रतिक्रियाएं बहुत जटिल हैं, लेकिन क्वांटम कंप्यूटर की कम्प्यूटेशनल शक्ति ऐसी गणना करने के लिए एक उपकरण प्रदान कर सकती है।

बाहरी संबंध

 * FOLDOC: the Free On-Line Dictionary Of Computing