Skip to main content
Global

3.4: सॉफ़्टवेयर निर्माण

  • Page ID
    169444
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

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

    मानव भाषा के अनुरूप, एक प्रोग्रामिंग भाषा में कुछ कार्यों को करने के लिए कंप्यूटर द्वारा समझने योग्य वैध निर्देशों के रूप में कथन बनाने के लिए कीवर्ड, टिप्पणियां, प्रतीक और व्याकरणिक नियम होते हैं। इस भाषा का उपयोग करते हुए, एक प्रोग्रामर एक प्रोग्राम लिखता है (जिसे स्रोत कोड कहा जाता है)। एक अन्य सॉफ़्टवेयर तब प्रोग्रामिंग स्टेटमेंट्स को मशीन-पठनीय रूप में परिवर्तित करने के लिए स्रोत कोड को संसाधित करता है, जो सीपीयू को निष्पादित करने के लिए आवश्यक होते हैं। इस रूपांतरण प्रक्रिया को अक्सर संकलन के रूप में जाना जाता है, और सॉफ़्टवेयर को कंपाइलर कहा जाता है। अधिकांश समय, प्रोग्रामिंग वातावरण के अंदर प्रोग्रामिंग की जाती है; जब आप Microsoft से Visual Studio की एक प्रति खरीदते हैं; यह डेवलपर्स को स्रोत कोड, एक कंपाइलर लिखने और Microsoft की कई प्रोग्रामिंग भाषाओं के लिए मदद करने के लिए एक संपादक प्रदान करता है। आज प्रसिद्ध प्रोग्रामिंग भाषाओं के उदाहरणों में जावा, PHP और C के विभिन्न स्वाद (Visual C, C ++, C #) शामिल हैं।

    Behaviorism_1.gif
    चित्र\(\PageIndex{1}\): एक कंप्यूटर प्रोग्राम को निष्पादन योग्य में कनवर्ट करें। Ly-huong T. Pham की छवि CC-BY-NC के तहत लाइसेंस प्राप्त है

    1883 में एडा लवलेस नाम की एक महिला द्वारा पहली प्रोग्रामिंग भाषा के बाद से हजारों प्रोग्रामिंग भाषाएं बनाई गई हैं। पहले की अंग्रेजी जैसी भाषाओं में से एक जिसे COBOL कहा जाता है, 1950 के दशक से लेकर वर्तमान समय तक उन सेवाओं में उपयोग में है, जिनका हम आज भी उपयोग करते हैं, जैसे कि पेरोल, आरक्षण प्रणाली। सी प्रोग्रामिंग भाषा को 1970 के दशक में पेश किया गया था और यह शीर्ष लोकप्रिय विकल्प बनी रही। कुछ नई भाषाएँ जैसे C #, Swift भी गति प्राप्त कर रही हैं। प्रोग्रामर किसी विशेष ओएस प्लेटफॉर्म के लिए हल की जाने वाली समस्या के साथ सबसे अच्छी मेल खाने वाली भाषा का चयन करते हैं। उदाहरण के लिए, HTML और JavaScript जैसी भाषाओं का उपयोग वेब पेज विकसित करने के लिए किया जाता है।

    यह निर्धारित करना कठिन है कि कौन सी भाषा सबसे लोकप्रिय है क्योंकि यह भिन्न होती है। हालांकि, TIOBE इंडेक्स के अनुसार, प्रोग्रामिंग भाषाओं की लोकप्रियता को मासिक रूप से रैंक करने वाली कंपनियों में से एक, अगस्त 2020 में शीर्ष पांच में C, Java, Python, C ++ और C # (2020) हैं। इस कार्यप्रणाली के बारे में अधिक जानकारी के लिए, कृपया TIOBE परिभाषा पृष्ठ पर जाएं जो लोग प्रोग्रामिंग के बारे में अधिक जानना चाहते हैं, उनके लिए पायथन सीखने के लिए एक अच्छी पहली भाषा है क्योंकि न केवल यह वेब डेवलपमेंट के लिए एक आधुनिक भाषा है, यह सीखना आसान है और प्रोग्रामिंग की कई मूलभूत अवधारणाओं को शामिल करता है जो अन्य भाषाओं पर लागू होते हैं।

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

    ओपन-सोर्स बनाम क्लोज्ड-सोर्स सॉफ़्टवेयर

    जब पर्सनल कंप्यूटर को पहली बार रिलीज़ किया गया था, तो कंप्यूटर के शौकीनों ने एप्लिकेशन बनाने और समस्याओं को हल करने के लिए तुरंत एक साथ काम किया। कंप्यूटर के इन उत्साही लोगों को उनके द्वारा बनाए गए किसी भी प्रोग्राम और उन्हें मिली समस्याओं के समाधान को साझा करने में खुशी हुई; इस सहयोग ने उन्हें और अधिक तेज़ी से नया करने और समस्याओं को ठीक करने में सक्षम बनाया।

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

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

    ओपन-सोर्स सॉफ़्टवेयर वह सॉफ़्टवेयर है जिसमें किसी को भी कॉपी और उपयोग करने के लिए स्रोत कोड उपलब्ध है। गैर-प्रोग्रामर के लिए, जब तक उपयोगकर्ताओं के उपयोग के लिए संकलित प्रारूप भी उपलब्ध नहीं कराया जाता है, तब तक इसका अधिक उपयोग नहीं किया जाएगा। हालाँकि, प्रोग्रामर्स के लिए, ओपन-सोर्स आंदोलन ने दुनिया के कुछ सबसे अधिक उपयोग किए जाने वाले सॉफ़्टवेयर को विकसित किया है, जिनमें Firefox ब्राउज़र, Linux ऑपरेटिंग सिस्टम और Apache webserver शामिल हैं।

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

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

    संक्षेप में, ओपन-सोर्स मॉडल के कुछ लाभ हैं:

    • सॉफ्टवेयर मुफ्त में उपलब्ध है।
    • सॉफ़्टवेयर स्रोत कोड उपलब्ध है; इसे इंस्टॉल करने से पहले इसकी जांच और समीक्षा की जा सकती है।
    • ओपन-सोर्स प्रोजेक्ट्स पर काम करने वाले प्रोग्रामर्स का बड़ा समुदाय क्विक बग-फिक्सिंग और फीचर एडिशन की ओर ले जाता है।

    क्लोज-सोर्स मॉडल के कुछ लाभ इस प्रकार हैं:

    • सॉफ़्टवेयर डेवलपर्स या कंपनियों के लिए वित्तीय प्रोत्साहन प्रदान करना
    • सॉफ्टवेयर विकसित करने वाली कंपनी की ओर से तकनीकी सहायता।

    आज डाउनलोड के लिए हजारों ओपन-सोर्स सॉफ़्टवेयर एप्लिकेशन उपलब्ध हैं। ओपन-सोर्स उत्पादकता सॉफ़्टवेयर का एक उदाहरण Open Office Suite है। ओपन-सोर्स सॉफ़्टवेयर खोजने के लिए एक अच्छी जगह sourceforge.net है, जहां हजारों सॉफ़्टवेयर एप्लिकेशन मुफ्त डाउनलोड के लिए उपलब्ध हैं।

    सॉफ़्टवेयर लाइसेंस

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

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

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

    सन्दर्भ

    अगस्त 2020 के लिए TIOBE इंडेक्स। 4 सितंबर, 2020 को https://www.tiobe.com से लिया गया