अभिकलन: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| (9 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
[[File:GalvesLocherbach_-_Low_resolution.gif|thumb|right|250px|alt=Computer simulation|कंप्यूटर सिमुलेशन, मुख्य क्रॉस-कंप्यूटिंग पद्धतियों में से एक।<ref>{{Cite web|title=Computing Classification System|url=https://dl.acm.org/ccs|website=dl.acm.org}}</ref>]] | [[File:GalvesLocherbach_-_Low_resolution.gif|thumb|right|250px|alt=Computer simulation|कंप्यूटर सिमुलेशन, मुख्य क्रॉस-कंप्यूटिंग पद्धतियों में से एक।<ref>{{Cite web|title=Computing Classification System|url=https://dl.acm.org/ccs|website=dl.acm.org}}</ref>]] | ||
''''' | '''''अभिकलन''''' ('''कंप्यूटिंग''') किसी भी लक्ष्य-उन्मुख की एक ऐसी गतिविधि होती है, जिसके लिए [[ संगणक |कंप्यूटिंग मशीनरी]] की आवश्यकता होती है, इससे लाभ या निर्माण होता है। इसमें [[ कलन विधि |कलन विधि]] प्रक्रियाओं का अध्ययन प्रयोग और हार्डवेयर एवं [[ सॉफ़्टवेयर |सॉफ़्टवेयर]] दोनों का विकास सम्मिलित होता है। कंप्यूटिंग में वैज्ञानिक, अभियांत्रिकी, गणितीय, तकनीकी और सामाजिक तथ्य हैं। प्रमुख कंप्यूटिंग विषयों में [[ कंप्यूटर इंजीनियरिंग |कंप्यूटर अभियांत्रिकी]], [[ कंप्यूटर विज्ञान |कंप्यूटर विज्ञान]],[[ साइबर सुरक्षा ]], [[ डेटा विज्ञान |डेटा विज्ञान]], सूचना प्रणाली, सूचना प्रौद्योगिकी और [[ सॉफ्टवेयर इंजीनियरिंग |सॉफ्टवेयर अभियांत्रिकी]] सम्मिलित हैं।<ref>{{Cite web |title=Computing Careers & Disciplines: A Quick Guide for Prospective Students and Career Advisors (2nd edition, ©2020) |url=https://ceric.ca/wpdm-package/computing-careers-disciplines-a-quick-guide-for-prospective-students-and-career-advisors/ |access-date=2022-07-04 |website=CERIC |language=en-US}}</ref> | ||
"कंप्यूटिंग" शब्द भी गिनती और गणना का [[ पर्याय |समानार्थक]] है। पहले के समय में इसका उपयोग [[ यांत्रिक कंप्यूटर |यांत्रिक कंप्यूटर]] मशीनों द्वारा की जाने वाली क्रिया के संदर्भ में और उससे पहले, [[ मानव कंप्यूटर |मानव कंप्यूटरों]] के लिए किया जाता था।<ref>{{Cite web|title=The History of Computing|url=http://mason.gmu.edu/~montecin/computer-hist-web.htm|access-date=2019-04-12|website=mason.gmu.edu}}</ref> | "कंप्यूटिंग" शब्द भी गिनती और गणना का [[ पर्याय |समानार्थक]] है। पहले के समय में इसका उपयोग [[ यांत्रिक कंप्यूटर |यांत्रिक कंप्यूटर]] मशीनों द्वारा की जाने वाली क्रिया के संदर्भ में और उससे पहले, [[ मानव कंप्यूटर |मानव कंप्यूटरों]] के लिए किया जाता था।<ref>{{Cite web|title=The History of Computing|url=http://mason.gmu.edu/~montecin/computer-hist-web.htm|access-date=2019-04-12|website=mason.gmu.edu}}</ref> | ||
| Line 9: | Line 7: | ||
== इतिहास == | == इतिहास == | ||
{{Main|कंप्यूटिंग का इतिहास}} | {{Main|कंप्यूटिंग का इतिहास}} | ||
{{For timeline}} | {{For timeline}} | ||
कंप्यूटिंग का इतिहास कंप्यूटिंग हार्डवेयर और आधुनिक कंप्यूटिंग प्रौद्योगिकी के इतिहास से अधिक लंबा है, इसमें मेंज की सहायता के साथ या बिना पेन और पेपर के तरीकों का इतिहास सम्मिलित है। | कंप्यूटिंग का इतिहास कंप्यूटिंग हार्डवेयर और आधुनिक कंप्यूटिंग प्रौद्योगिकी के इतिहास से अधिक लंबा है, इसमें मेंज की सहायता के साथ या बिना पेन और पेपर के तरीकों का इतिहास सम्मिलित है। अभिकलन [[ संख्या |संख्याओं]] के प्रतिनिधित्व से घनिष्ठ रूप से जुड़ा हुआ है, यद्यपि कंप्यूटिंग के लिए आवश्यक गणितीय अवधारणाएं [[ अंक प्रणाली |अंक प्रणालीयों]] से पहले उपस्थित थीं। इन अवधारणाओं में एक से एक पत्राचार, गिनती का आधार, एक मानक की तुलना माप के लिए प्रयुक्त और 3-4-5 समकोण त्रिभुज एक समकोण सुनिश्चित करने के लिए उपकरण भी सम्मिलित हैं।। | ||
गणना में उपयोग के लिए सबसे पहला ज्ञात उपकरण [[ अबेकस |अबेकस]] है, और यह माना जाता है कि इसका आविष्कार लगभग 2400 ईसा पूर्व [[ बेबीलोन |बेबीलोन]] में हुआ था। | गणना में उपयोग के लिए सबसे पहला ज्ञात उपकरण [[ अबेकस |अबेकस]] है, और यह माना जाता है कि इसका आविष्कार लगभग 2400 ईसा पूर्व [[ बेबीलोन |बेबीलोन]] में हुआ था। इसकी मूल शैली कंकड़ के साथ रेत में खींची गई रेखाओं द्वारा थी। अधिक आधुनिक परिकलन के अबासी का उपयोग आज भी गणना उपकरण के रूप में किया जाता है। यह पहली ज्ञात गणना सहायता थी जो - 2,000 वर्षों तक ग्रीक विधियों से पहले।<ref>{{Cite web |date=2021-06-30 |title=20 Advantage and Disadvantage of Computer {{!}} What Are the Advantages of a Computer |url=https://englishfun.in/advantage-and-disadvantage-of-computer/ |access-date=2022-07-04 |language=en-US}}</ref> | ||
कंप्यूटिंग में अंकीय इलेक्ट्रॉनिक्स का उपयोग करने का पहला रिकॉर्ड किया गया, प्रस्ताव सी.ई. व्यान-विलियम्स द्वारा 1931 का पेपर भौतिक घटनाओं की उच्च गति स्वचालित गणना के लिए थायराट्रॉन का उपयोग था।<ref>{{Citation | last = Wynn-Williams | first = C. E. | author-link = C. E. Wynn-Williams | title = The Use of Thyratrons for High Speed Automatic Counting of Physical Phenomena | journal = [[Proceedings of the Royal Society A]] | volume = 132 | issue = 819 | pages = 295–310 | date = July 2, 1931 | doi = 10.1098/rspa.1931.0102 |bibcode = 1931RSPSA.132..295W | doi-access = free }}</ref> [[ क्लाउड शैनन | क्लाउड शैनन]] के 1938 के पेपर [[ रिले और स्विचिंग सर्किट का एक प्रतीकात्मक विश्लेषण |रिले और स्विचिंग परिपथ का प्रतीकात्मक विश्लेषण]] ने तब बूलियन बीजीय संचालन के लिए इलेक्ट्रॉनिक्स का उपयोग करने का विचार पेश किया। | कंप्यूटिंग में अंकीय इलेक्ट्रॉनिक्स का उपयोग करने का पहला रिकॉर्ड किया गया, प्रस्ताव सी.ई. व्यान-विलियम्स द्वारा 1931 का पेपर भौतिक घटनाओं की उच्च गति स्वचालित गणना के लिए थायराट्रॉन का उपयोग था।<ref>{{Citation | last = Wynn-Williams | first = C. E. | author-link = C. E. Wynn-Williams | title = The Use of Thyratrons for High Speed Automatic Counting of Physical Phenomena | journal = [[Proceedings of the Royal Society A]] | volume = 132 | issue = 819 | pages = 295–310 | date = July 2, 1931 | doi = 10.1098/rspa.1931.0102 |bibcode = 1931RSPSA.132..295W | doi-access = free }}</ref> [[ क्लाउड शैनन | क्लाउड शैनन]] के 1938 के पेपर [[ रिले और स्विचिंग सर्किट का एक प्रतीकात्मक विश्लेषण |रिले और स्विचिंग परिपथ का प्रतीकात्मक विश्लेषण]] ने तब बूलियन बीजीय संचालन के लिए इलेक्ट्रॉनिक्स का उपयोग करने का विचार पेश किया। | ||
| Line 29: | Line 28: | ||
{{Main|कंप्यूटर हार्डवेयर}} | {{Main|कंप्यूटर हार्डवेयर}} | ||
कंप्यूटर हार्डवेयर में कंप्यूटर के भौतिक भाग सम्मिलित हैं, जिसमें सेंट्रल प्रोसेसिंग यूनिट, [[ स्मृति |मेमोरी]] और इनपुट / आउटपुट सम्मिलित हैं। कंप्यूटर हार्डवेयर के क्षेत्र में [[ कम्प्यूटेशनल तर्क |कम्प्यूटेशनल तर्क]] और [[ कंप्यूटर आर्किटेक्चर |कंप्यूटर संरचना]] प्रमुख विषय हैं। | कंप्यूटर हार्डवेयर में कंप्यूटर के भौतिक भाग सम्मिलित हैं, जिसमें सेंट्रल प्रोसेसिंग यूनिट, [[ स्मृति |मेमोरी]] और इनपुट / आउटपुट सम्मिलित हैं। कंप्यूटर हार्डवेयर के क्षेत्र में [[ कम्प्यूटेशनल तर्क |कम्प्यूटेशनल तर्क]] और [[ कंप्यूटर आर्किटेक्चर |कंप्यूटर संरचना]] प्रमुख विषय हैं। | ||
=== कंप्यूटर सॉफ्टवेयर === | === कंप्यूटर सॉफ्टवेयर === | ||
{{Main|कंप्यूटर सॉफ्टवेयर}} | {{Main|कंप्यूटर सॉफ्टवेयर}} | ||
| Line 44: | Line 43: | ||
{{Main|एप्लिकेशन सॉफ़्टवेयर}} | {{Main|एप्लिकेशन सॉफ़्टवेयर}} | ||
एप्लिकेशन सॉफ़्टवेयर, जिसे एप्लिकेशन या ऐप के रूप में भी जाना जाता है [[ कंप्यूटर सॉफ्टवेयर |कंप्यूटर सॉफ्टवेयर]] है, जिसे उपयोगकर्ता को विशिष्ट कार्यों को करने में मदद करने के लिए बनाया गया है। उदाहरणों में [[ उपक्रम सॉफ्टवेयर |उद्यम सॉफ्टवेयर]] , [[ लेखांकन सॉफ्टवेयर |अकाउंटिंग सॉफ्टवेयर]], [[ कई कमरों वाला कार्यालय | ऑफिस सूट]], [[ ग्राफिक्स सॉफ्टवेयर ]] और [[ मीडिया प्लेयर (एप्लिकेशन सॉफ्टवेयर) ]] सम्मिलित हैं। कई एप्लिकेशन प्रोग्राम मुख्य रूप से दस्तावेजों से संबंधित होते हैं। | एप्लिकेशन सॉफ़्टवेयर, जिसे एप्लिकेशन या ऐप के रूप में भी जाना जाता है [[ कंप्यूटर सॉफ्टवेयर |कंप्यूटर सॉफ्टवेयर]] है, जिसे उपयोगकर्ता को विशिष्ट कार्यों को करने में मदद करने के लिए बनाया गया है। उदाहरणों में [[ उपक्रम सॉफ्टवेयर |उद्यम सॉफ्टवेयर]] , [[ लेखांकन सॉफ्टवेयर |अकाउंटिंग सॉफ्टवेयर]], [[ कई कमरों वाला कार्यालय | ऑफिस सूट]], [[ ग्राफिक्स सॉफ्टवेयर ]] और [[ मीडिया प्लेयर (एप्लिकेशन सॉफ्टवेयर) ]] सम्मिलित हैं। कई एप्लिकेशन प्रोग्राम मुख्य रूप से दस्तावेजों से संबंधित होते हैं। ऐप्स को कंप्यूटर और उसके सिस्टम सॉफ़्टवेयर के साथ [[ उत्पाद बंडलिंग |उत्पाद]] किया जा सकता है, या अलग से प्रकाशित किया जा सकता है। कुछ उपयोगकर्ता बंडल किए गए ऐप्स से संतुष्ट हैं और उन्हें कभी भी अतिरिक्त एप्लिकेशन इंस्टॉल करने की आवश्यकता नहीं है। सिस्टम सॉफ्टवेयर हार्डवेयर का प्रबंधन करता है और एप्लिकेशन कार्य करता है, जो बदले में उपयोगकर्ता की सहायता करता है। | ||
[[ शैक्षिक सॉफ्टवेयर |एप्लिकेशन सॉफ़्टवेयर]] किसी विशेष [[ कंप्यूटिंग मंच |कंप्यूटिंग मंच]] या सिस्टम सॉफ़्टवेयर की शक्ति को किसी विशेष उद्देश्य पर लागू करता है। कुछ ऐप, जैसे कि माइक्रोसॉफ्ट ऑफिस, कई अलग-अलग प्लेटफॉर्म के लिए कई संस्करणों में विकसित किए गए हैं; दूसरों की आवश्यकताएं कम होती हैं और आमतौर पर उन्हें उनके द्वारा चलाए जाने वाले प्लेटफॉर्म द्वारा संदर्भित किया जाता है। उदाहरण के लिए, [[ Microsoft Windows |Microsoft Windows]] के लिए [[ भौगोलिक सूचना प्रणाली |भौगोलिक एप्लिकेशन]] या शिक्षा के लिए एंड्रॉइड एप्लिकेशन या लिनक्स गेमिंग एप्लिकेशन जो केवल एक प्लेटफॉर्म पर चलते हैं और एप्लिकेशन की लोकप्रियता के कारण उस प्लेटफॉर्म की वांछनीयता को बढ़ाते हैं, जिन्हें [[ हत्यारा आवेदन |किलर एप्लिकेशन]] के रूप में जाना जाता है। | [[ शैक्षिक सॉफ्टवेयर |एप्लिकेशन सॉफ़्टवेयर]] किसी विशेष [[ कंप्यूटिंग मंच |कंप्यूटिंग मंच]] या सिस्टम सॉफ़्टवेयर की शक्ति को किसी विशेष उद्देश्य पर लागू करता है। कुछ ऐप, जैसे कि माइक्रोसॉफ्ट ऑफिस, कई अलग-अलग प्लेटफॉर्म के लिए कई संस्करणों में विकसित किए गए हैं; दूसरों की आवश्यकताएं कम होती हैं और आमतौर पर उन्हें उनके द्वारा चलाए जाने वाले प्लेटफॉर्म द्वारा संदर्भित किया जाता है। उदाहरण के लिए, [[ Microsoft Windows |Microsoft Windows]] के लिए [[ भौगोलिक सूचना प्रणाली |भौगोलिक एप्लिकेशन]] या शिक्षा के लिए एंड्रॉइड एप्लिकेशन या लिनक्स गेमिंग एप्लिकेशन जो केवल एक प्लेटफॉर्म पर चलते हैं और एप्लिकेशन की लोकप्रियता के कारण उस प्लेटफॉर्म की वांछनीयता को बढ़ाते हैं, जिन्हें [[ हत्यारा आवेदन |किलर एप्लिकेशन]] के रूप में जाना जाता है। | ||
=== कंप्यूटर नेटवर्क === | === कंप्यूटर नेटवर्क === | ||
{{Main|कंप्यूटर नेटवर्क}} | {{Main|कंप्यूटर नेटवर्क}} | ||
| Line 52: | Line 51: | ||
[[ कंप्यूटर नेटवर्क |कंप्यूटर नेटवर्क]], जिसे अधिकांश केवल एक नेटवर्क के रूप में संदर्भित किया जाता है, हार्डवेयर घटकों और संचार माध्यमों के द्वारा परस्पर जुड़े कंप्यूटरों का एक संग्रह है, जो संसाधनों और सूचनाओं को साझा करने की अनुमति देता है।<ref>{{cite web |url=http://www.atis.org/glossary/definition.aspx?id=6555 |title=Computer network definition |access-date=2011-11-12 |url-status=dead |archive-url=https://web.archive.org/web/20120121061919/http://www.atis.org/glossary/definition.aspx?id=6555 |archive-date=2012-01-21 }}</ref> जब उपकरण में कम से कम प्रक्रिया रिमोट उपकरण में रहने वाली कम से कम एक प्रक्रिया से डेटा भेजने या प्राप्त करने में सक्षम होती है, तो दो उपकरणों को नेटवर्क में कहा जाता है। नेटवर्क को विभिन्न प्रकार की विशेषताओं के अनुसार वर्गीकृत किया जा सकता है जैसे कि डेटा के परिवहन के लिए उपयोग किया जाने वाला माध्यम, [[ संचार प्रोटोकॉल |संचार प्रोटोकॉल]] का उपयोग, स्केल, [[ नेटवर्क टोपोलॉजी |नेटवर्क टोपोलॉजी]] और संगठनात्मक क्षेत्र। | [[ कंप्यूटर नेटवर्क |कंप्यूटर नेटवर्क]], जिसे अधिकांश केवल एक नेटवर्क के रूप में संदर्भित किया जाता है, हार्डवेयर घटकों और संचार माध्यमों के द्वारा परस्पर जुड़े कंप्यूटरों का एक संग्रह है, जो संसाधनों और सूचनाओं को साझा करने की अनुमति देता है।<ref>{{cite web |url=http://www.atis.org/glossary/definition.aspx?id=6555 |title=Computer network definition |access-date=2011-11-12 |url-status=dead |archive-url=https://web.archive.org/web/20120121061919/http://www.atis.org/glossary/definition.aspx?id=6555 |archive-date=2012-01-21 }}</ref> जब उपकरण में कम से कम प्रक्रिया रिमोट उपकरण में रहने वाली कम से कम एक प्रक्रिया से डेटा भेजने या प्राप्त करने में सक्षम होती है, तो दो उपकरणों को नेटवर्क में कहा जाता है। नेटवर्क को विभिन्न प्रकार की विशेषताओं के अनुसार वर्गीकृत किया जा सकता है जैसे कि डेटा के परिवहन के लिए उपयोग किया जाने वाला माध्यम, [[ संचार प्रोटोकॉल |संचार प्रोटोकॉल]] का उपयोग, स्केल, [[ नेटवर्क टोपोलॉजी |नेटवर्क टोपोलॉजी]] और संगठनात्मक क्षेत्र। | ||
संचार प्रोटोकॉल एक कंप्यूटर नेटवर्क में सूचनाओं के आदान-प्रदान के लिए नियमों और डेटा स्वरूपों को परिभाषित करते हैं,जो [[ कंप्यूटर नेटवर्क प्रोग्रामिंग |कंप्यूटर नेटवर्क प्रोग्रामिंग]] के लिए आधार प्रदान करते हैं। एक प्रसिद्ध संचार प्रोटोकॉल [[ ईथरनेट |ईथरनेट]] है, हार्डवेयर और [[ लिंक परत |लिंक परत]] मानक जो स्थानीय क्षेत्र नेटवर्क में सर्वव्यापी है। अन्य सामान्य प्रोटोकॉल [[ इंटरनेट प्रोटोकॉल सूट | इंटरनेट प्रोटोकॉल समूह]] है, जो इंटरनेटवर्किंग के लिए प्रोटोकॉल के एक समूह को परिभाषित करता है, अर्थात कई नेटवर्क के बीच डेटा संचार के लिए, होस्ट-टू-होस्ट डेटा ट्रांसफर और एप्लिकेशन-विशिष्ट डेटा ट्रांसमिशन प्रारूप। | संचार प्रोटोकॉल एक कंप्यूटर नेटवर्क में सूचनाओं के आदान-प्रदान के लिए नियमों और डेटा स्वरूपों को परिभाषित करते हैं,जो [[ कंप्यूटर नेटवर्क प्रोग्रामिंग |कंप्यूटर नेटवर्क प्रोग्रामिंग]] के लिए आधार प्रदान करते हैं। एक प्रसिद्ध संचार प्रोटोकॉल [[ ईथरनेट |ईथरनेट]] है, हार्डवेयर और [[ लिंक परत |लिंक परत]] मानक जो स्थानीय क्षेत्र नेटवर्क में सर्वव्यापी है। अन्य सामान्य प्रोटोकॉल [[ इंटरनेट प्रोटोकॉल सूट | इंटरनेट प्रोटोकॉल समूह]] है, जो इंटरनेटवर्किंग के लिए प्रोटोकॉल के एक समूह को परिभाषित करता है, अर्थात कई नेटवर्क के बीच डेटा संचार के लिए, होस्ट-टू-होस्ट डेटा ट्रांसफर और एप्लिकेशन-विशिष्ट डेटा ट्रांसमिशन प्रारूप। | ||
कंप्यूटर नेटवर्किंग को कभी-कभी [[ विद्युत अभियन्त्रण |विद्युत अभियन्त्रण]] , [[ दूरसंचार | दूरसंचार]] , कंप्यूटर विज्ञान, सूचना प्रौद्योगिकी या कंप्यूटर इंजीनियरिंग का उप-विषय भी माना जाता है, क्योंकि यह इन विषयों के सैद्धांतिक और व्यावहारिक अनुप्रयोग पर निर्भर करता है। | कंप्यूटर नेटवर्किंग को कभी-कभी [[ विद्युत अभियन्त्रण |विद्युत अभियन्त्रण]] , [[ दूरसंचार | दूरसंचार]] , कंप्यूटर विज्ञान, सूचना प्रौद्योगिकी या कंप्यूटर इंजीनियरिंग का उप-विषय भी माना जाता है, क्योंकि यह इन विषयों के सैद्धांतिक और व्यावहारिक अनुप्रयोग पर निर्भर करता है। | ||
==== इंटरनेट ==== | ==== इंटरनेट ==== | ||
{{main| | {{main|इंटरनेट}} | ||
इंटरनेट इंटरकनेक्टेड कंप्यूटर नेटवर्क की वैश्विक प्रणाली है, जो अरबों उपयोगकर्ताओं की सेवा के लिए मानक इंटरनेट प्रोटोकॉल सूट टीसीपी/आईपी का उपयोग करती है। इसमें लाखों निजी, सार्वजनिक, शैक्षणिक, व्यावसायिक और सरकारी नेटवर्कसम्मिलित हैं, जो स्थानीय से लेकर वैश्विक तक के दायरे में हैं। ये नेटवर्क इलेक्ट्रॉनिक, बिना तार के और ऑप्टिकल नेटवर्किंग प्रौद्योगिकियों की एक विस्तृत श्रृंखला से जुड़े होते हैं। इंटरनेट में सूचना संसाधनों और सेवाओं की विस्तृत श्रृंखला होती है, जैसे [[ वर्ल्ड वाइड वेब |वर्ल्ड वाइड वेब]] के इंटर-लिंक्ड [[ हाइपरटेक्स्ट |हाइपरटेक्स्ट]] दस्तावेज़ और ईमेल का समर्थन करने के लिए आधारभूत संरचना होती है। | |||
=== कंप्यूटर प्रोग्रामिंग === | === कंप्यूटर प्रोग्रामिंग === | ||
{{Main| | {{Main|कंप्यूटर प्रोग्रामिंग|सॉफ्टवेयर इंजीनियरिंग}} | ||
कंप्यूटर प्रोग्रामिंग, कंप्यूटर प्रोग्राम के स्रोत कोड और प्रलेखन को लिखने, परीक्षण करने, डिबगिंग करने और बनाए रखने की प्रक्रिया है। यह स्रोत कोड एक [[ प्रोग्रामिंग भाषा |प्रोग्रामिंग भाषा]] में लिखा गया है, जो कि [[ कृत्रिम भाषा |कृत्रिम भाषा]] है जो प्रायः [[ प्राकृतिक भाषा |प्राकृतिक भाषाओं]] की तुलना में अधिक प्रतिबंधात्मक होती है, लेकिन कंप्यूटर द्वारा आसानी से अनुवादित होती है। प्रोग्रामिंग का उपयोग मशीन से कुछ वांछित व्यवहार को प्रारम्भ करने के लिए किया जाता है। | |||
उच्च गुणवत्ता वाले स्रोत कोड को लिखने के लिए कंप्यूटर साइंस डोमेन और उस डोमेन दोनों का ज्ञान होना आवश्यक है, जिसमें एप्लिकेशन का उपयोग किया जाएगा। इस प्रकार उच्चतम गुणवत्ता वाला सॉफ़्टवेयर अधिकांश डोमेन विशेषज्ञों की टीम द्वारा विकसित किया जाता है, प्रत्येक विकास के किसी न किसी क्षेत्र में विशेषज्ञ होता है। प्रोग्रामर शब्द [[ हैकर (शौकिया) | हैकर (शौकिया)]] से लेकर [[ हैकर (प्रोग्रामर उपसंस्कृति) | हैकर (प्रोग्रामर उपसंस्कृति)]] से लेकर पेशेवर तक कार्यक्रम की गुणवत्ता की एक श्रृंखला पर लागू हो सकता है। एकल प्रोग्रामर के लिए एक नया किलर एप्लिकेशन प्रारंभ करने के लिए अवधारणा का प्रमाण उत्पन्न करने के लिए आवश्यक अधिकांश या सभी कंप्यूटर प्रोग्रामिंग करना भी संभव है।। | |||
==== कंप्यूटर प्रोग्राम ==== | ==== कंप्यूटर प्रोग्राम ==== | ||
{{Main| | {{Main|प्रोग्रामर|सॉफ्टवेयर इंजीनियर|सॉफ्टवेयर डेवलपर}} | ||
एक प्रोग्रामर, कंप्यूटर प्रोग्रामर या कोडर वह व्यक्ति होता है, जो कंप्यूटर सॉफ्टवेयर लिखता है। कंप्यूटर प्रोग्रामर शब्द [[ कंप्यूटर प्रोग्रामिंग |कंप्यूटर प्रोग्रामिंग]] के क्षेत्र में एक विशेषज्ञ या सामान्यवादी को संदर्भित कर सकता है जो कई प्रकार के सॉफ़्टवेयर के लिए कोड लिखता है। जो प्रोग्रामिंग के लिए औपचारिक दृष्टिकोण का अभ्यास या दावा करता है उसे प्रोग्रामर विश्लेषक के रूप में भी जाना जा सकता है।{{Citation needed|date=July 2022}} प्रोग्रामर की प्राथमिक कंप्यूटर भाषा ([[ सी (प्रोग्रामिंग भाषा) | सी]] , सी ++, [[ जावा (प्रोग्रामिंग भाषा) | जावा]] , [[ लिस्प (प्रोग्रामिंग भाषा) | लिस्प]], [[ पायथन प्रोग्रामिंग भाषा | पायथन]], आदि) अधिकांश उपरोक्त शीर्षकों से पहले होती है, और जो प्रायः वेब वातावरण में काम करते हैं वेब के साथ उनके शीर्षकों को उपसर्ग करें। प्रोग्रामर शब्द का उपयोग [[ सॉफ्टवेयर डेवलपर ]], [[ सॉफ्टवेयर इंजीनियर ]], कंप्यूटर वैज्ञानिक या [[ सॉफ्टवेयर विश्लेषक |सॉफ्टवेयर विश्लेषक]] के संदर्भ में किया जा सकता है। अर्थात, इन व्यवसायों के सदस्यों के पास प्रोग्रामिंग से परे अन्य सॉफ्टवेयर इंजीनियरिंग कौशल भी होता हैं।<ref>{{Cite web |date=23 January 2019 |title=5 Skills Developers Need Beyond Writing Code |url=https://news.codecademy.com/5-skills-developers-need-beyond-writing-code/}}</ref> | |||
=== कंप्यूटर उद्योग === | === कंप्यूटर उद्योग === | ||
{{Main| | {{Main|कंप्यूटर उद्योग|सॉफ्टवेयर उद्योग}} | ||
कंप्यूटर उद्योग | |||
सॉफ्टवेयर उद्योग | |||
कंप्यूटर उद्योग, कंप्यूटर सॉफ्टवेयर को विकसित करने, कंप्यूटर हार्डवेयर और [[ कम्प्यूटर नेट्वर्किंग |कम्प्यूटर नेट्वर्किंग]] आधारभूत संरचनाओं का परिकलन करने, कंप्यूटर घटकों के निर्माण और प्रणाली प्रशासक और संरक्षण सहित सूचना प्रौद्योगिकी सेवाएं प्रदान करने में सम्मिलित व्यवसायों से बना है। | |||
सॉफ्टवेयर उद्योग में सॉफ्टवेयर विकास, सॉफ्टवेयर संरक्षण और सॉफ्टवेयर के [[ सॉफ्टवेयर प्रकाशक | सॉफ्टवेयर प्रकाशक]] में लगे व्यवसाय सम्मिलित हैं। उद्योग में सॉफ्टवेयर [[ सेवा (अर्थशास्त्र) |सेवाएं]] भी सम्मिलित है, जैसे कि [[ प्रशिक्षण |प्रशिक्षण]] , [[ सॉफ्टवेयर प्रलेखन | सॉफ्टवेयर प्रलेखन]] और परामर्श आदि। | |||
==कंप्यूटिंग के उप-विषय == | ==कंप्यूटिंग के उप-विषय == | ||
=== कंप्यूटर इंजीनियरिंग === | === कंप्यूटर इंजीनियरिंग === | ||
कंप्यूटर इंजीनियरिंग एक | कंप्यूटर इंजीनियरिंग एक ऐसा विषय है जो कंप्यूटर हार्डवेयर और सॉफ्टवेयर विकसित करने के लिए आवश्यक [[ इलेक्ट्रॉनिक इंजीनियरिंग |इलेक्ट्रॉनिक इंजीनियरिंग]] और कंप्यूटर विज्ञान के कई क्षेत्रों को एकीकृत करता है।<ref>{{Cite book | author1 = IEEE Computer Society | author-link = IEEE Computer Society |author2=ACM |author-link2=Association for Computing Machinery | title = Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering | url = http://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf | access-date = 2012-12-17 |date=12 December 2004 | page = iii | quote = Computer System engineering has traditionally been viewed as a combination ofboth electronic engineering (EE) and computer science (CS).}}</ref> कंप्यूटर इंजीनियरों के पास आमतौर पर केवल सॉफ्टवेयर इंजीनियरिंग या इलेक्ट्रॉनिक इंजीनियरिंग के बजाय इलेक्ट्रॉनिक इंजीनियरिंग (या इलेक्ट्रिकल इंजीनियरिंग), [[ सॉफ्टवेर डिज़ाइन |सॉफ्टवेर परिकलन]] और हार्डवेयर-सॉफ्टवेयर एकीकरण में प्रशिक्षण होता है। कंप्यूटर इंजीनियर अलग-अलग [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]] , [[ निजी कंप्यूटर | निजी कंप्यूटर]] और सुपर कंप्यूटर के प्रारूप से लेकर [[ सर्किट डिज़ाइन |परिपथ परिकलन]] तक, कंप्यूटिंग के कई हार्डवेयर और सॉफ्टवेयर सम्मिलित हैं। इंजीनियरिंग के इस क्षेत्र में न केवल अपने डोमेन के भीतर हार्डवेयर का परिकलन सम्मिलित है, लेकिन हार्डवेयर और उस संदर्भ के बीच की बातचीत भी सम्मिलित है जिसमें यह पूर्ण रूप से संचालित होता है।<ref>{{Cite web | ||
| last = Trinity College Dublin | url = http://www.tcd.ie/Engineering/about/what_is_eng/computer_eng_intro.html | title = What is Computer System Engineering | access-date = 2006-04-21}}, "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.</ref> | | last = Trinity College Dublin | url = http://www.tcd.ie/Engineering/about/what_is_eng/computer_eng_intro.html | title = What is Computer System Engineering | access-date = 2006-04-21}}, "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.</ref> | ||
=== सॉफ्टवेयर इंजीनियरिंग === | === सॉफ्टवेयर इंजीनियरिंग === | ||
{{Main| | {{Main|सॉफ्टवेयर इंजीनियरिंग}} | ||
सॉफ्टवेयर [[ अभियांत्रिकी |इंजीनियरिंग]] (एसई) सॉफ्टवेयर के परिकलन, विकास, संचालन, संरक्षण और इन दृष्टिकोणों के अध्ययन के लिए एक व्यवस्थित, अनुशासित और मात्रात्मक दृष्टिकोण का अनुप्रयोग है। अर्थात्, सॉफ्टवेयर के लिए इंजीनियरिंग का अनुप्रयोग।<ref name="BoDu04">{{cite book|pages =1| first1= Alain| last1=Abran| first2=James W.| last2=Moore| first3=Pierre| last3=Bourque| first4=Robert| last4=Dupuis| first5=Leonard L.| last5=Tripp| title=Guide to the Software Engineering Body of Knowledge| year=2004| publisher=IEEE| isbn=978-0-7695-2330-9}}</ref><ref>{{cite web | author = ACM | year = 2006 | url = http://computingcareers.acm.org/?page_id=12 | title = Computing Degrees & Careers | publisher = ACM | access-date = 2010-11-23 | archive-url = https://web.archive.org/web/20110617053818/http://computingcareers.acm.org/?page_id=12 | archive-date = 2011-06-17 | url-status = dead }}</ref><ref>{{cite book | last = Laplante | first = Phillip | title = What Every Engineer Should Know about Software Engineering | publisher = CRC | location = Boca Raton | year = 2007 | isbn = 978-0-8493-7228-5 | url = https://books.google.com/books?id=pFHYk0KWAEgC&q=What%20Every%20Engineer%20Should%20Know%20about%20Software%20Engineering.&pg=PA1 | access-date = 2011-01-21 }}</ref> यह किसी समस्या के समाधान की कल्पना, मॉडल और पैमाने के लिए अंतर्दृष्टि का उपयोग करने का कार्य है। इस शब्द का पहला संदर्भ 1968 का [[ नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन |नाटो सॉफ्टवेयर इंजीनियरिंग सम्मेलन]] है, और इसका उद्देश्य उस समय के कथित [[ सॉफ्टवेयर संकट |सॉफ्टवेयर क्रिसिस]] के बारे में विचारों को महसूस करना था।<ref>{{cite book| last=Sommerville| first=Ian| title=Software Engineering| edition=7| url=https://books.google.com/books?id=PqsWaBkFh1wC| access-date=10 January 2013 | |||
| year=2008| publisher=Pearson Education| isbn=978-81-7758-530-8| page=26}}</ref><ref>{{cite conference | first1 = Naur | last1 = Peter |author-link1=Peter Naur |first2=Brian|last2=Randell |author-link2=Brian Randell | title = Software Engineering: Report of a conference sponsored by the NATO Science Committee | publisher = Scientific Affairs Division, NATO | date = 7–11 October 1968 | location = Garmisch, Germany | url = http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF | access-date = 2008-12-26}}</ref><ref>{{cite web| url = http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html| title = The 1968/69 NATO Software Engineering Reports| access-date = 2008-10-11 | last = Randell | first = Brian | author-link = Brian Randell|date = 10 August 2001| work = Brian Randell's University Homepage| publisher = The School of the Computer Sciences, Newcastle University| quote = The idea for the first NATO Software Engineering Conference, and in particular that of adopting the then practically unknown term "software engineering" as its (deliberately provocative) title, I believe came originally from Professor [[Friedrich L. Bauer|Fritz Bauer]].}}</ref> सॉफ्टवेयर विकास व्यापक रूप से इस्तेमाल किया जाने वाला और अधिक सामान्य शब्द जरूरी नहीं कि इंजीनियरिंग प्रतिमान को समाहित करे। एक इंजीनियरिंग अनुशासन के रूप में सॉफ्टवेयर इंजीनियरिंग की सामान्य रूप से स्वीकृत अवधारणाओं के मार्गदर्शक के लिए [[ ज्ञान का सॉफ्टवेयर इंजीनियरिंग निकाय |ज्ञान का सॉफ्टवेयर इंजीनियरिंग निकाय]] (SWEBOK) में निर्दिष्ट किया गया है। SWEBOK ISO/IEC TR 19759:2015 . में अंतरराष्ट्रीय स्तर पर स्वीकृत मानक बन गया है।<ref>{{cite web | url = http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=33897| id= ISO/IEC TR 19759:2015| access-date = 21 May 2019|title = Software Engineering -- Guide to the software engineering body of knowledge (SWEBOK)|publisher = International Organization for Standardization}}</ref> | |||
=== कंप्यूटर विज्ञान === | === कंप्यूटर विज्ञान === | ||
{{Main| | {{Main|कंप्यूटर विज्ञान|कंप्यूटर वैज्ञानिक}} | ||
कंप्यूटर | |||
कंप्यूटर [[ विज्ञान |विज्ञान]] या कंप्यूटिंग विज्ञान (संक्षिप्त सीएस या कॉम्प विज्ञान) [[ गणना |गणना]] और उसके अनुप्रयोगों के लिए वैज्ञानिक और व्यावहारिक दृष्टिकोण है। कंप्यूटर वैज्ञानिक गणना के सिद्धांत और कम्प्यूटेशनल प्रणाली के परिकलन में विशेषज्ञ हैं।<ref>{{cite web |url=http://wordnetweb.princeton.edu/perl/webwn?s=computer%20scientist |title=WordNet Search - 3.1 |publisher=Wordnetweb.princeton.edu |access-date=2012-05-14}}</ref> | |||
इसके उपक्षेत्रों को [[ कंप्यूटर प्रणाली |कंप्यूटर प्रणाली]] में इसके कार्यान्वयन और अनुप्रयोग के लिए व्यावहारिक तकनीकों और विशुद्ध रूप से सैद्धांतिक क्षेत्रों में विभाजित किया जा सकता है। जैसे कि [[ कम्प्यूटेशनल जटिलता सिद्धांत | कम्प्यूटेशनल जटिलता सिद्धांत]], जो [[ कम्प्यूटेशनल समस्या |कम्प्यूटे | |||