वर्ष 2000 की समस्या ने कैसे काम किया

Apr 01 2000
कुछ समय पहले तक, कंप्यूटर प्रोग्रामर अपने सॉफ़्टवेयर में दिनांक के वर्ष भाग के लिए दो अंकों के प्लेसहोल्डर का उपयोग करते थे। सोचिए क्या हुआ जब हमने महसूस किया कि सिस्टम पहले दो नंबरों का हिसाब नहीं दे सकता है? व्यापक घबड़ाहट।

आप इस वर्ष लगातार समाचारों में "वर्ष 2000" समस्या के बारे में सुनते रहेंगे। और आप इस प्रक्रिया में बहुत सी परस्पर विरोधी जानकारी सुनेंगे। इंटरनेट पर "दुनिया का अंत" बयानबाजी का एक अच्छा सा हिस्सा तैर रहा है। आपको क्या विश्वास करना चाहिए?

हाउ स्टफ वर्क्स के इस संस्करण में हम वर्ष 2000 की समस्या (जिसे Y2K समस्या के रूप में भी जाना जाता है) पर चर्चा करेंगे ताकि आप समझ सकें कि वास्तव में क्या हो रहा है और इसके बारे में क्या किया जा रहा है। आप कई तरह के लिंक भी एक्सप्लोर कर सकते हैं. इस जानकारी से आप अपने स्वयं के सूचित निष्कर्ष निकालते हैं।

Y2K समस्या क्या है?

Y2K समस्या का कारण बहुत आसान है। कुछ समय पहले तक, कंप्यूटर प्रोग्रामर अपने सॉफ़्टवेयर में दिनांक के वर्ष भाग के लिए दो अंकों के प्लेसहोल्डर का उपयोग करने की आदत में थे। उदाहरण के लिए, एक विशिष्ट बीमा पॉलिसी या क्रेडिट कार्ड की समाप्ति तिथि MM/DD/YY प्रारूप (जैसे - 08/31/99) में कंप्यूटर फ़ाइल में संग्रहीत की जाती है। प्रोग्रामर ने इसे कई कारणों से किया है, जिनमें शामिल हैं:

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

2-अंकीय वर्ष प्रारूप अधिकांश कार्यक्रमों के लिए एक समस्या पैदा करता है जब वर्ष के लिए "00" दर्ज किया जाता है। सॉफ़्टवेयर यह नहीं जानता कि "00" को "1900" या "2000" के रूप में व्याख्या करना है या नहीं। इसलिए अधिकांश प्रोग्राम 1900 के लिए डिफ़ॉल्ट होते हैं। यानी, अधिकांश प्रोग्रामर द्वारा लिखा गया कोड या तो "19" को दो अंकों की तारीख के सामने जोड़ देता है, या यह सदी के बारे में कोई धारणा नहीं बनाता है और इसलिए, डिफ़ॉल्ट रूप से, यह "19" है। . यह कोई समस्या नहीं होगी सिवाय इसके कि प्रोग्राम तारीखों पर बहुत सारी गणनाएँ करते हैं। उदाहरण के लिए, यह गणना करने के लिए कि आप कितने साल के हैं, एक कार्यक्रम आज की तारीख लेगा और उसमें से अपनी जन्मतिथि घटा देगा। वह घटाव दो अंकों की वर्ष तिथियों पर आज की तारीख तक ठीक काम करता है और आपकी जन्मतिथि अलग-अलग शताब्दियों में है। तब गणना अब काम नहीं करती है। उदाहरण के लिए,अगर प्रोग्राम को लगता है कि आज की तारीख 1/1/00 है और आपका जन्मदिन 1/1/65 है, तो यह गणना कर सकता है कि आप 35 साल के बजाय -65 साल के हैं। नतीजतन, तारीख की गणना गलत आउटपुट देती है और सॉफ्टवेयर क्रैश हो जाता है या गलत परिणाम देता है।

पहचानने की महत्वपूर्ण बात यह है कि यही है। वह पूरे वर्ष 2000 की समस्या है। कई प्रोग्रामर ने अपने कार्यक्रमों में वर्ष के लिए 2-अंकीय प्रारूप का उपयोग किया, और परिणामस्वरूप उनकी तिथि गणना 1/1/2000 को सही उत्तर नहीं देगी। इससे बढ़कर इसमें कुछ भी नहीं है।

समाधान, जाहिर है, कार्यक्रमों को ठीक करना है ताकि वे ठीक से काम करें। कुछ मानक समाधान हैं:

  • सॉफ़्टवेयर को फिर से कोडित करें ताकि यह समझ सके कि 00, 01, 02, आदि जैसे वर्षों का वास्तव में मतलब 2000, 2001, 2002 आदि है।
  • वर्षों से 4-अंकीय प्लेसहोल्डर का उपयोग करके और 4-अंकीय तिथियों से निपटने के लिए सभी सॉफ़्टवेयर को फिर से कोड करके "समस्या को ठीक करें"। [दिलचस्प विचार प्रश्न - वर्ष के लिए 4 अंकों का उपयोग क्यों करें? ५, या ६ का भी उपयोग क्यों नहीं करते? क्योंकि ज्यादातर लोग मानते हैं कि अब से ८,००० साल बाद कोई भी इस सॉफ़्टवेयर का उपयोग नहीं करेगा, और यह एक उचित धारणा की तरह लगता है। अब आप देख सकते हैं कि कैसे हमने खुद को Y2K समस्या में डाला...]

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

यदि आपको लगता है कि प्रत्येक परिवर्तन को करने और परीक्षण करने में एक दिन लगता है, और करने के लिए 100,000 परिवर्तन हैं, और एक व्यक्ति वर्ष में 200 दिन काम करता है, तो इसका मतलब है कि सभी परिवर्तन करने में एक वर्ष में 500 लोग लगेंगे। यदि आप यह भी समझते हैं कि अधिकांश कंपनियों के पास ऐसा करने के लिए 500 निष्क्रिय प्रोग्रामर नहीं हैं और उन्हें उन लोगों को काम पर रखना है, तो आप देख सकते हैं कि यह एक बहुत महंगी समस्या क्यों बन सकती है। यदि आप समझते हैं कि एक प्रोग्रामर की लागत प्रति वर्ष $150,000 है (एक बार जब आप प्रोग्रामर का वेतन, लाभ, कार्यालय स्थान, उपकरण, प्रबंधन, प्रशिक्षण, आदि जैसे सब कुछ शामिल कर लेते हैं), तो आप देख सकते हैं कि इसकी लागत एक कंपनी को करोड़ों रुपये हो सकती है। एक बड़े कार्यक्रम में सभी दिनांक गणनाओं को ठीक करने के लिए डॉलर।

हालाँकि Y2K समस्या जनवरी 2000 में आई और चली गई, हमने इस लेख को इसके ऐतिहासिक मूल्य के कारण एक संग्रहीत संस्करण के रूप में सहेजा है। मीडिया में Y2K दहशत की ऊंचाई पर 1999 की शुरुआत में प्रकाशित, यह लेख वाक्य के लिए उल्लेखनीय है, "वास्तव में, कुछ नहीं होगा।" पीछे मुड़कर देखें तो वह वाक्य पूरी तरह से सही था, लेकिन जनवरी 1999 में वह निश्चित रूप से वह तस्वीर नहीं थी जिसे मुख्यधारा का मीडिया चित्रित कर रहा था। इस सरल भविष्यवाणी के लिए काफी ज्वलंत ईमेल प्राप्त हुए।

1/1/2000 को क्या होगा?

1 जनवरी 2000 को, जो सॉफ़्टवेयर ठीक नहीं किया गया है, वह काम करना बंद कर देगा या गलत आउटपुट देगा। बड़ा सवाल यह है कि, "जैसा कि हम जानते हैं, इसका दुनिया पर कितना बड़ा प्रभाव पड़ेगा?"

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

हकीकत में कुछ नहीं होगा। एक या दो सप्ताह की असुविधा हो सकती है क्योंकि अप्रत्याशित समस्याएं स्वयं उपस्थित होती हैं और उन्हें हल किया जाता है। नहीं तो कोई असर नहीं होगा। यह भविष्यवाणी करना आसान है क्योंकि:

  1. 1999 के अंत तक अधिकांश कंपनियों और सरकारी एजेंसियों ने अपने सॉफ़्टवेयर को ठीक कर लिया होगा, या उनके पास वर्कअराउंड हो जाएगा। यदि वे ऐसा नहीं करते हैं तो वे व्यवसाय से बाहर हो जाएंगे, और यह काम पूरा करने के लिए एक मजबूत प्रोत्साहन है।
  2. कोई फर्क नहीं पड़ता कि हम कितना सोचते हैं कि हम कंप्यूटर पर हैं, ज्यादातर सब कुछ लोगों द्वारा चलाया जाता है, सिलिकॉन नहीं। उदाहरण के लिए भोजन लें। टमाटर और लेट्यूस बढ़ते रहेंगे, और जो लोग इसे उठाते हैं, वे उठाते रहेंगे, और कैनरी अभी भी कर सकते हैं, ट्रक चालक अभी भी अपने ट्रक चलाएंगे और किराने की दुकान अभी भी इसे बेचेंगे। दूसरे शब्दों में, कुछ कंप्यूटर करने पर भी दुनिया नहीं रुकेगी।
  3. कुछ कंपनियां अपने कार्य एक साथ नहीं करेंगी और उन्हें समस्या होगी। वे व्यवसाय से बाहर हो जाएंगे। यह काम पर सामान्य पूंजीवाद है। विजेता और हारने वाले इसे सुलझा लेंगे, तो थोड़ा व्यवधान होगा, लेकिन नया क्या है?

ध्यान रखने वाली एक और बात यह है कि हम हर समय असुविधा का अनुभव करते हैं और इसका हम पर बहुत कम या कोई प्रभाव नहीं पड़ता है। उदाहरण के लिए, जब यूपीएस (यूनाइटेड पार्सल सर्विस) 1997 में हड़ताल पर चला गया, तो इसने अमेरिका में 80% पैकेज डिलीवरी इंफ्रास्ट्रक्चर को बंद कर दिया, दुनिया खत्म नहीं हुई - सभी ने इसके बजाय पोस्ट ऑफिस और फेडेक्स का इस्तेमाल किया। 1/3/1999 को शिकागो और डेट्रॉइट ने 30 वर्षों में अपने सबसे खराब हिमपात का अनुभव किया। इसने देश भर में हवाई यात्रा को बंद कर दिया, डेट्रॉइट ऑटो शो के उद्घाटन में देरी की, हजारों लोगों को फंसाया, आदि। किसी तरह हम सभी असुविधा से बचने में कामयाब रहे। १/१/२००० को कुछ कंपनियां ऐसी होंगी जिन्हें समस्या है। लेकिन ऐसी कई अन्य कंपनियां होंगी जो नहीं करती हैं। यह असुविधा पैदा कर सकता है, लेकिन यह सब कुछ पैदा करेगा और दो सप्ताह बाद हम इसे सुलझा लेंगे। यह's एक बड़े हिमपात या बड़े प्रहार से अलग नहीं है - हम समस्याओं के समाधान ढूंढते हैं और जीवन चलता रहता है।

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

  • बता दें कि अमेरिका के हर एटीएम ने काम करना बंद कर दिया है। अभी भी टेलर हैं और आप जमा और निकासी करने के लिए सामान्य व्यावसायिक घंटों के दौरान बैंक में एक टेलर से बात कर सकते हैं।
  • बता दें कि यूपीएस के हर कंप्यूटर को बंद करना था। UPS उन लोगों का एक समूह है जो अपने भूरे रंग के ट्रकों के आसपास गाड़ी चलाते हैं, और वे सभी पता लेबल पढ़ सकते हैं। पैकेज अभी भी वितरित किए जाएंगे।
  • बता दें कि दुकानों के हर बारकोड स्कैनर ने काम करना बंद कर दिया। कैशियर अभी भी कीमतों में टाइप कर सकते हैं।
  • मान लीजिए कि FAA के प्रत्येक कंप्यूटर को बंद करना था, और हवाई जहाजों के सभी स्वचालित पायलट कंप्यूटरों ने काम करना बंद कर दिया। हवाई यातायात नियंत्रक लोग हैं, और पायलट अभी भी हवाई जहाज उड़ा सकते हैं। हम व्यस्त हवाईअड्डों पर हर मिनट 2 विमानों को उतारने में सक्षम नहीं हो सकते हैं, लेकिन फिर भी विमान उड़ान भरेंगे।
  • Y2K समस्या के आसपास इस्तेमाल की जाने वाली सबसे बड़ी डराने वाली रणनीति "पावर ग्रिड की विफलता" है। बता दें कि कहीं न कहीं कुछ गलत हो गया था। हजारों सक्षम लोग हैं जो पावर ग्रिड का प्रबंधन और मरम्मत करते हैं - ये वही लोग हैं जो हर बड़े तूफान, बर्फीले तूफान आदि के बाद ग्रिड को वापस एक साथ रखते हैं। यह भी ध्यान रखना महत्वपूर्ण है कि पावर ग्रिड कुछ जादुई नहीं है। कृपया पावर ग्रिड कैसे काम करता है पढ़ें और खुद को शिक्षित करें। ग्रिड निष्क्रिय तारों और ट्रांसफार्मर से बना है। 1/1/2000 को इलेक्ट्रान अभी भी तारों से प्रवाहित होंगे।

कयामत करने वालों के बीच एक धारणा है कि किसी न किसी तरह, 1/1/2000 को, हर कंप्यूटर विफल हो जाएगा (जो मूर्खतापूर्ण है), और यह कि हर इंसान किसी न किसी तरह "विफल" भी होगा। यदि आप इसके बारे में सोचते हैं, तो आप देख सकते हैं कि यह कितना असत्य है। हम सभी जानते हैं कि अपना काम कैसे करना है, और हम सभी अपना जीवन जीना चाहते हैं। १/१/२००० को हम सब एक जैसे होंगे। हम अपनी कारों में बैठेंगे और हम कुछ खरीदना चाहेंगे। कुछ बेचने वाले लोग अभी भी इसे बेचना चाहेंगे ताकि वे पैसा कमा सकें। यह कभी नहीं बदलने वाला है।

लिंक

  • वर्ष 2000 की समस्या - जेपी मॉर्गन
  • वर्ष 2000 सूचना केंद्र