प्रोग्रामिंग टूल: Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Computer program that software developers use to support other programs and applications}} {{distinguish|Programmable tooling}} {{software development proc...")
 
No edit summary
Line 4: Line 4:
एक प्रोग्रामिंग टूल या सॉफ़्टवेयर डेवलपमेंट टूल एक [[कंप्यूटर प्रोग्राम]] है जिसका उपयोग [[सॉफ्टवेयर डेवलपर]] अन्य प्रोग्राम और एप्लिकेशन बनाने, डीबग करने, बनाए रखने या अन्यथा समर्थन करने के लिए करते हैं। यह शब्द आमतौर पर अपेक्षाकृत सरल कार्यक्रमों को संदर्भित करता है, जिसे किसी कार्य को पूरा करने के लिए जोड़ा जा सकता है, जैसे कोई भौतिक वस्तु को ठीक करने के लिए कई हाथों का उपयोग कर सकता है। सबसे बुनियादी उपकरण एक [[स्रोत कोड संपादक]] और एक [[संकलक]] या [[दुभाषिया (कंप्यूटिंग)]] हैं, जिनका उपयोग सर्वव्यापी और निरंतर किया जाता है। भाषा, विकास पद्धति और व्यक्तिगत इंजीनियर के आधार पर अन्य उपकरणों का अधिक या कम उपयोग किया जाता है, जो अक्सर एक असतत कार्य के लिए उपयोग किया जाता है, जैसे डिबगर या प्रोफाइलर। उपकरण असतत कार्यक्रम हो सकते हैं, अलग से निष्पादित - अक्सर [[कमांड लाइन]] से - या एक बड़े कार्यक्रम के भाग हो सकते हैं, जिसे एक एकीकृत विकास वातावरण (आईडीई) कहा जाता है। कई मामलों में, विशेष रूप से सरल उपयोग के लिए, उपकरण के बजाय सरल तदर्थ तकनीकों का उपयोग किया जाता है, जैसे डिबगर का उपयोग करने के बजाय प्रिंट डिबगिंग, प्रोफाइलर के बजाय मैन्युअल समय (समग्र प्रोग्राम या कोड के अनुभाग का) या बग को ट्रैक करना बग ट्रैकिंग सिस्टम के बजाय एक टेक्स्ट फ़ाइल या स्प्रेडशीट।
एक प्रोग्रामिंग टूल या सॉफ़्टवेयर डेवलपमेंट टूल एक [[कंप्यूटर प्रोग्राम]] है जिसका उपयोग [[सॉफ्टवेयर डेवलपर]] अन्य प्रोग्राम और एप्लिकेशन बनाने, डीबग करने, बनाए रखने या अन्यथा समर्थन करने के लिए करते हैं। यह शब्द आमतौर पर अपेक्षाकृत सरल कार्यक्रमों को संदर्भित करता है, जिसे किसी कार्य को पूरा करने के लिए जोड़ा जा सकता है, जैसे कोई भौतिक वस्तु को ठीक करने के लिए कई हाथों का उपयोग कर सकता है। सबसे बुनियादी उपकरण एक [[स्रोत कोड संपादक]] और एक [[संकलक]] या [[दुभाषिया (कंप्यूटिंग)]] हैं, जिनका उपयोग सर्वव्यापी और निरंतर किया जाता है। भाषा, विकास पद्धति और व्यक्तिगत इंजीनियर के आधार पर अन्य उपकरणों का अधिक या कम उपयोग किया जाता है, जो अक्सर एक असतत कार्य के लिए उपयोग किया जाता है, जैसे डिबगर या प्रोफाइलर। उपकरण असतत कार्यक्रम हो सकते हैं, अलग से निष्पादित - अक्सर [[कमांड लाइन]] से - या एक बड़े कार्यक्रम के भाग हो सकते हैं, जिसे एक एकीकृत विकास वातावरण (आईडीई) कहा जाता है। कई मामलों में, विशेष रूप से सरल उपयोग के लिए, उपकरण के बजाय सरल तदर्थ तकनीकों का उपयोग किया जाता है, जैसे डिबगर का उपयोग करने के बजाय प्रिंट डिबगिंग, प्रोफाइलर के बजाय मैन्युअल समय (समग्र प्रोग्राम या कोड के अनुभाग का) या बग को ट्रैक करना बग ट्रैकिंग सिस्टम के बजाय एक टेक्स्ट फ़ाइल या स्प्रेडशीट।


टूल और एप्लिकेशन के बीच का अंतर अस्पष्ट है। उदाहरण के लिए, डेवलपर्स हर समय उपकरण के रूप में सरल डेटाबेस (जैसे एक [[फ्लैट फ़ाइल डेटाबेस]]) का उपयोग करते हैं।{{Dubious|date=March 2010}} हालांकि एक पूर्ण विकसित डेटाबेस को आमतौर पर अपने आप में एक एप्लिकेशन या सॉफ़्टवेयर के रूप में माना जाता है। कई वर्षों तक, कंप्यूटर-सहायता प्राप्त सॉफ़्टवेयर इंजीनियरिंग (CASE) उपकरणों की मांग की गई थी। सफल उपकरण मायावी साबित हुए हैं। एक मायने में, CASE टूल ने डिजाइन और आर्किटेक्चर सपोर्ट पर जोर दिया, जैसे कि UML के लिए। लेकिन इनमें से सबसे सफल उपकरण आईडीई हैं।
टूल और एप्लिकेशन के बीच का अंतर अस्पष्ट है। उदाहरण के लिए, डेवलपर्स हर समय उपकरण के रूप में सरल डेटाबेस (जैसे एक [[फ्लैट फ़ाइल डेटाबेस]]) का उपयोग करते हैं। हालांकि एक पूर्ण विकसित डेटाबेस को आमतौर पर अपने आप में एक एप्लिकेशन या सॉफ़्टवेयर के रूप में माना जाता है। कई वर्षों तक, कंप्यूटर-सहायता प्राप्त सॉफ़्टवेयर इंजीनियरिंग (CASE) उपकरणों की मांग की गई थी। सफल उपकरण मायावी साबित हुए हैं। एक मायने में, CASE टूल ने डिजाइन और आर्किटेक्चर सपोर्ट पर जोर दिया, जैसे कि UML के लिए। लेकिन इनमें से सबसे सफल उपकरण आईडीई हैं।


== प्रोग्रामिंग टूल्स का उपयोग ==
== प्रोग्रामिंग टूल्स का उपयोग ==
Line 26: Line 26:
*[[ कोड कवरेज़ ]]: कोड कवरेज#सॉफ़्टवेयर कोड कवरेज टूल।
*[[ कोड कवरेज़ ]]: कोड कवरेज#सॉफ़्टवेयर कोड कवरेज टूल।
* कोड समीक्षा: [[कोड समीक्षा के लिए उपकरणों की सूची]]
* कोड समीक्षा: [[कोड समीक्षा के लिए उपकरणों की सूची]]
*कोड साझा करने वाली साइटें: [[ ताजा मांस ]], [[क्रुगल]], [[ sourceforge ]], गिटहब। यह भी देखें :श्रेणी:कोड खोज इंजन। <!-- [http://www.ucodit.com/ UCodit]  article deleted 23-Mar-2007; see [[Wikipedia:Articles for deletion/UCodit]] -->
*कोड साझा करने वाली साइटें: [[ ताजा मांस ]], [[क्रुगल]], [[ sourceforge ]], गिटहब। यह भी देखें :श्रेणी:कोड खोज इंजन।
*संकलक और लिंकर (कंप्यूटिंग) उपकरण: GNU टूलचेन, GNU संकलक संग्रह, [[Microsoft Visual Studio]], [[CodeWarrior]], [[Xcode]], Intel C संकलक
*संकलक और लिंकर (कंप्यूटिंग) उपकरण: GNU टूलचेन, GNU संकलक संग्रह, [[Microsoft Visual Studio]], [[CodeWarrior]], [[Xcode]], Intel C संकलक
* डिबगर्स: डीबगर # डिबगर्स की सूची। [[डिबगिंग]] भी देखें।
* डिबगर्स: डीबगर # डिबगर्स की सूची। [[डिबगिंग]] भी देखें।
Line 54: Line 54:
विशिष्ट प्रोग्रामिंग भाषाओं के लिए आईडीई के विभिन्न पहलुओं को एकीकृत विकास परिवेशों की इस तुलना में पाया जा सकता है।
विशिष्ट प्रोग्रामिंग भाषाओं के लिए आईडीई के विभिन्न पहलुओं को एकीकृत विकास परिवेशों की इस तुलना में पाया जा सकता है।


== यह भी देखें ==<!-- Please respect alphabetical order -->
== यह भी देखें ==
*कंप्यूटर एडेड [[सॉफ्टवेयर इंजीनियरिंग]] उपकरण
*कंप्यूटर एडेड [[सॉफ्टवेयर इंजीनियरिंग]] उपकरण
*[[कंप्यूटर विज्ञान]]
*[[कंप्यूटर विज्ञान]]
Line 66: Line 66:


==संदर्भ==
==संदर्भ==
{{More footnotes|date=August 2010}}
{{reflist}}
{{reflist}}
{{refbegin}}
{{refbegin}}
Line 76: Line 75:
==बाहरी संबंध==
==बाहरी संबंध==
{{commons category-inline|Programming tools}}
{{commons category-inline|Programming tools}}
{{Authority control}}
 
{{Software engineering}}
{{Software engineering}}
[[Category: प्रोग्रामिंग उपकरण|*]]  
[[Category: प्रोग्रामिंग उपकरण|*]]  

Revision as of 17:19, 1 June 2023

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

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

प्रोग्रामिंग टूल्स का उपयोग

मानव से कंप्यूटर भाषा में अनुवाद

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

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

मनुष्यों के लिए कार्यक्रम की जानकारी उपलब्ध कराना

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

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

उपकरणों की सूची

सॉफ्टवेयर उपकरण कई रूपों में आते हैं:

आईडीई

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

विशिष्ट प्रोग्रामिंग भाषाओं के लिए आईडीई के विभिन्न पहलुओं को एकीकृत विकास परिवेशों की इस तुलना में पाया जा सकता है।

यह भी देखें

संदर्भ

  • Software Development Tools for Petascale Computing Workshop 2007
  • Kernighan, Brian W.; Plauger, P. J. (1976), Software Tools, Addison-Wesley, pp. 352, ISBN 0-201-03669-X


बाहरी संबंध

Media related to Programming tools at Wikimedia Commons