|
গনমাধ্যমের বিপুল প্রচারনার জন্য আজ প্রায় সবাই ২০০০ সাল সমস্যা সম্পর্কে
জানেন।
C প্রোগ্রামিং ল্যাংগুয়েজ
এ
লেখা প্রায় সব প্রোগ্রাম Y2K
সমস্যা
থেকে মুক্ত। এর চেয়ে বরং ২০৩৮ সাল সমস্যা তে এরা বেশী আক্রান্ত। এর কারণ হচ্ছে বেশীর ভাগ C প্রোগ্রাম
স্ট্যান্ডার্ড টাইম লাইব্রেরী
নামের
এক লাইব্রেরী ব্যবহার করে। এই
লাইব্রেরী সময় রাখার জন্য একটি ৪ বাইটের জায়গা ব্যবহার করে। এর আছে
সময়কে রুপান্তর, প্রদর্শন
এবং হিসাব করার জন্য বেশ কিছু
ফাংশন।
এই ৪ বাইট
ফরম্যাট ধরে নেয়
যে, সময় এর শুরু
হচ্ছে ১লা জানুয়ারী, ১৯৭০ ১২:০০:০০ এ.এম.। এর মান হচ্ছে ০। এই
শূণ্যের পরে সেকেন্ডের সংখ্যা
দ্বারা
যেকোন সময় বা তারিখ প্রকাশ করা হয়। সুতরাং
এটার মান ৯১৯৬৪২৭১৮ দ্বারা বুঝায় ১২:০০:০০
এ.এম., ১লা
জানুয়ারী, ১৯৭০ সাল
এর পর ৯১৯,৬৪২,৭১৮ সেকেন্ড - অর্থাৎ রবিবার, ২১শে ফেব্রুয়ারী, ১৯৯৯ সালের ১৬:১৮:৩৮ প্যাসিফিক সময় (ইউ.এস.)। এটি খুব
সুন্দর একটি ফরম্যাট কারণ যেকোন দুটি সময়কে বিয়োগ করলে তাদের ব্যবধান হিসেবে কিছু সংখ্যক সেকেন্ড পাওয়া যায়। এরপর লাইব্রেরীর বিভিন্ন ফাংশন ব্যবহার করে আপনি জানতে পারবেন এদের মধ্যে কত মিনিট, ঘন্টা, দিন, মাস, বছর ব্যবধান রয়েছে।
বিটস এবং বাইটস কিভাবে
কাজ
করে পড়ে থাকলে আপনি জানেন যে, একটি সাইন্ড ৪-বাইট এর ইন্টিজার এর সর্বোচ্চ সংখ্যা হলো ২,১৪৭,৪৮৩,৬৪৭ এবং ২০৩৮
সাল সমস্যার শুরু এখান থেকেই। সম্পূর্ণ ঘূরে ঋণাত্মক(এবং
ভূল) সংখ্যায় ফিরে আসার পূর্বে সময়ের সবচেয়ে বড় মান হচ্ছে ২,১৪৭,৪৮৩,৬৪৭, অন্য
কথায় ১৯ শে জানুয়ারী, ২০৩৮ সাল। এই তারিখে,
স্ট্যান্ডার্ড
টাইম লাইব্রেরী ব্যবহারকারী যেকোন C প্রোগ্রাম তারিখ হিসাবের সময় সমস্যায় পড়তে থাকবে।
সৌভাগ্যক্রমে,
মেইনফ্রেমে
এই সমস্যা Y2K সমস্যার
চেয়ে সহজে ধরা যায়। লাইব্রেরীর নতুন সংস্করন ধরা যাক, সময় রাখার জন্য ৮-বাইট ব্যবহার করে এমন, এর সাহায্যে গুছিয়ে লেখা সুন্দর প্রোগ্রামকে আবার কম্পাইল করা যায়। এটা সম্ভব হলো কারন, লাইব্রেরীটি নিজের সময়ের টাইপ এবং ফাংশন দ্বারা সময়ের কার্যকাল এনক্যাপসুলেট করে। আর বেশীর ভাগ মেইনফ্রেম প্রোগ্রাম তাদের তারিখ ফরম্যাট এবং হিসাব-নিকাশ
স্ট্যান্ডার্ডাইজ করে না। সুতরাং Y2K সমস্যার চেয়ে ২০৩৮ সাল সমস্যা সনাক্ত করা খুব বেশী
কঠিন কিছু হবে না।
এক সতর্ক পাঠক খেয়াল করেছিলেন যে, আই.বি.এম. পি.সি. হার্ডওয়্যার ২১১৬ সাল সমস্যায় আক্রান্ত।
পি.সি. তে সময় শুরু হয় ১লা জানুয়ারী, ১৯৮০ সাল থেকে এবং ৩২-বিট আনসাইন্ড
ইন্টিজারে সেকেন্ডের সংখ্যা
বৃদ্ধি করে UNIX টাইম এর
মত। ২১১৬ সাল নাগাদ ইন্টিজারটি ওভারফ্লো
হবে।
সময়ের জন্য উইন্ডোজ এন.টি. ৬৪-বিট এর ইন্টিজার ব্যবহার করে। যাইহোক,
এর বৃদ্ধির জন্য ১০০ ন্যানোসেকেন্ড ব্যয়
করে এবং সময়ের শুরু হচ্ছে ১লা জানুয়ারী, ১৬০১ সাল। সুতরাং এন.টি. ২১৮৪ সাল
সমস্যায় আক্রান্ত।
এই
পেইজ
এ
এ্যাপল বলেছে যে, ম্যাক ২৯,৯৪০ সাল পর্যন্ত ঠিক থাকবে!
[বি:দ্র: এই
অংশটি howstuffworks.com ওয়েব
পেইজ থেকে অনুবাদ করা হয়েছে।]
|