मुख्य सामग्री पर जाएं
हमारी साइट पर आने के लिए धन्यवाद — इसे देखें, या हमें अपनी राय बताएं।सेवाएँब्लॉगसंपर्क करेंMostutor पर रजिस्टर करें — पहले 1,000 उपयोगकर्ताओं को 3 महीने मुफ़्त
GCSE और A-Level कंप्यूटर विज्ञान

बग हंटिंग: प्रसिद्ध कोडिंग त्रुटियाँ जिन्होंने लाखों का नुक़सान किया

Sudershan Soniलेखक Sudershan Soni 28 July 2026 7 मिनट पढ़ना

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

GCSE मूल

मैरिनर 1: वह विराम चिह्न जिसने एक रॉकेट का नुक़सान किया

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

DO 5 I = 1.10intended: DO 5 I = 1,10 (a loop) — one typo (. instead of ,)DO5I = 1.10read as: create a variable and assign it 1.10 — no loop at all

एक छूटे हुए अक्षर ने एक स्मूथिंग सूत्र को कुछ ऐसा बना दिया जो हर छोटे सेंसर उतार-चढ़ाव को एक वास्तविक स्टीयरिंग कमांड के रूप में पढ़ता है — एक विनाशकारी परिणाम के साथ एक मामूली अंतर।

छोटी बग सबसे बड़ी आपदाओं का कारण क्यों बनती हैं

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

परीक्षा-शैली का प्रश्न

एक प्रोग्रामर एक लूप लिखता है जिसका उद्देश्य किसी सूची के सभी 10 आइटम (0 से 9 तक अनुक्रमित) को संसाधित करना है, लेकिन 'for i in range(0, 10)' के बजाय 'for i in range(1, 10)' लिखता है। समझाइए कि यह किस प्रकार की बग है और इसका प्रभाव क्या होगा। [3 अंक]

आदर्श उत्तर और अंक विभाजन दिखाएँ
  1. यह एक ऑफ-बाय-वन त्रुटि है (1 अंक)
  2. चूंकि इंडेक्सिंग 0 से शुरू होती है, जैसा लिखा गया है वह लूप 1 से शुरू होता है और इंडेक्स 0 पर मौजूद आइटम को कभी संसाधित नहीं करता — सूची का पहला आइटम चुपचाप छूट जाता है (1 अंक)
  3. अंतिम आइटम (इंडेक्स 9) अभी भी सही ढंग से संसाधित होता है, क्योंकि range(1, 10) में वास्तव में 9 शामिल है — प्रोग्राम बिना क्रैश हुए चलता है, यह बस चुपचाप एक अधूरा परिणाम देता है (1 अंक)

परीक्षक किस पर ध्यान देता है: इच्छित सीमा की लिखी गई सीमा से तुलना करके यह पता लगाएं कि वास्तव में कौन-सा इंडेक्स छूट गया है, न कि केवल 'ऑफ-बाय-वन त्रुटि' की एक सामान्य परिभाषा दें।

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

इन विफलताओं ने वास्तव में क्या बदला

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

अक्सर पूछे जाने वाले प्रश्न

क्या मैरिनर 1 हाइफ़न बग वाकई सिर्फ़ एक अक्षर था?

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

"ऑफ़-बाय-वन" त्रुटियाँ इतनी बार क्यों होती हैं?

क्योंकि कोड में गिनती अक्सर 0 से शुरू होती है, 1 से नहीं — किसी सूची का पहला आइटम आमतौर पर स्थिति 0 पर होता है, स्थिति 1 पर नहीं — और किसी भी दिशा में बिल्कुल एक स्थिति से हटकर एक लूप या शर्त लिखना बेहद आसान है। यह सभी प्रोग्रामिंग में सबसे आम बग श्रेणियों में से एक है, ठीक इसलिए क्योंकि ग़लती इतनी छोटी और बिना ध्यान दिए करना इतना आसान है।

आज इस तरह की बग को प्रोडक्शन तक पहुँचने से वास्तव में क्या रोकता है?

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

पाठकों की रेटिंग और समीक्षाएँ

इस लेख को कई अलग-अलग पहलुओं पर रेट करें — आपकी रेटिंग दूसरे पाठकों की मदद करती है, और हमें बेहतर बनाने में मदद करती है।

सामग्री
तस्वीरें
प्रस्तुति
भाषा की स्पष्टता
उपयोगिता

0/3000

क्या यह लेख उपयोगी था?

हमें अपनी राय बताएं — कोई सुधार, कोई सवाल जिसका जवाब नहीं मिला, या कोई विषय जिसे आप अगली बार कवर होते देखना चाहते हैं।

बात करना पसंद करेंगे? अपनी सुविधा के समय पर मुफ़्त वीडियो कॉल बुक करें: छोटे सवाल के लिए 15 मिनट, बाकी के लिए 30 मिनट। समय आपके अपने टाइम ज़ोन में दिखता है।

Sudershan Soni

लेखक के बारे में

Sudershan Soni

मोस्तक सर्विसेज़ में संस्थापक व मुख्य शिक्षक — MSc-योग्य गणित, विज्ञान, कंप्यूटर साइंस और STEM शिक्षक, 20+ वर्षों के पेशेवर अनुभव के साथ, 11+ और GCSE से A-Level और उससे आगे तक के छात्रों को दुनिया भर में ऑनलाइन पढ़ाते हैं।

पूरी प्रोफ़ाइल पढ़ें

क्या कंप्यूटर विज्ञान वास्तविक समझ बनाए?

व्यक्तिगत पाठ वास्तविक डीबगिंग कौशल बनाते हैं, सिर्फ़ सिंटैक्स रटना नहीं। एक मुफ़्त चर्चा बुक करें और हम आपको दिखाएंगे कैसे।