چه مشکلی در سال ۲۰۳۸ انتظارمان را می کشد؟
احتمالاً بسیاری از شما مشکلی که برای سال ۲۰۰۰ پیش بینی میشد را به یاد دارید. مشکلی که تصور میشد بخاطر بازگشت دو رقم سال میلادی در سال ۲۰۰۰ به ۰۰ ایرادات منطقی به وجود ...
احتمالاً بسیاری از شما مشکلی که برای سال ۲۰۰۰ پیش بینی میشد را به یاد دارید. مشکلی که تصور میشد بخاطر بازگشت دو رقم سال میلادی در سال ۲۰۰۰ به ۰۰ ایرادات منطقی به وجود آمده و موجب اختلال در شبکه های کامپیوتری شود. اما خوشبختانه کامپیوترها در آن سال آنقدر باهوش نبودند که چنین مشکلی پدیدار شود.
اما وضع ممکن است در مورد سال ۲۰۳۸ اندکی متفاوت باشد. همانطور که میدانید بسیاری از برنامه های کامپیوتری با زبان C نوشته شده اند. زبان C از یک کتابخانه برای آگاهی از زمان استفاده می کند که به Standard Time Library شناخته می شود. این کتابخانه از یک عدد ۴ بایتی (۳۲ بیتی) برای شمارش زمان استفاده می کند. در واقع تبدیل این عدد ۳۲ رقمی در برنامه ها و سیستم عامل ها، زمان را بر اساس سال و ماه و روز و ساعت و دقیقه و ثانیه برای ما قابل فهم می کند.
این عدد ۴ بایتی از بامداد اول ژانویه ۱۹۷۰ ساعت ۱۲:۰۰:۰۰ مشغول شمارش است. در آن لحظه عدد مزبور صفر بوده و هر ثانیه یکی به آن اضافه شده است. پس برای مثال عددی مانند 919642718 مشخص کننده گذرِ ۹۱۹ میلیون و ۶۴۲ هزار و ۷۱۸ ثانیه از اولین ثانیه بامداد اول ژانویه ۱۹۷۰ است و ساعت ۱۶:۱۸:۳۸ در ۲۱ فوریه ۱۹۹۹ به وقت غربی آمریکا را مشخص می کند.
استفاده از این فرمت زمانی برای کامپیوترها بسیار ساده است. به این خاطر که با تبدیل عدد مربوطه به ثانیه و دقیقه و ساعت و روز و ماه و سال و تعیین اختلاف از ساعت مبدا می توانند زمان دقیق فعلی را تخمین بزنند و بفهمند دقیقا چقدر زمان از لحظه مبدا زمانی شان گذشته است.
اگر -همانقدر که ما انتظار داریم- آنقدر گیک باشید که از بیت و بایت سر در بیاورید، می توانید با یک محاسبه ساده بفهمید که حداکثر ارزش یک عدد ۴ بایتی رفم ۲٫۱۴۷٫۴۸۳٫۶۴۷ است. اگر این عدد را به زمان قابل فهم ترجمه کنید خواهید فهمید که در ۱۹ ژانویه ۲۰۳۸ به پایان میرسد. مشکل سال ۲۰۳۸ همینجاست. در آن زمان با به پایان رسیدن این عدد، کلیه برنامه ها و سیستم عامل های مبنتی بر زبان C برای درک زمان دچار مشکل شده و ممکن است باگ های بسیاری هویدا شود.
البته خوشبختانه به احتمال زیاد رفع این مشکل به مراتب از مشکل سال ۲۰۰۰ ساده تر است. بسیاری از برنامه های نوشته شده با C می توانند با فرمت زمانی جدید کامپایل شوند تا برای استفاده از کتابخانهٔ جدید آماده باشند. برای مثال یک فرمت ۸ بایتی می تواند جایگزین نسخه فعلی شود. به هر حال با توجه به اینکه زمان زیادی تا سال ۲۰۳۸ باقی مانده و راه حل هم وجود دارد، گذرِ بی خطر از آن چندان هم مشکل نیست.
دیدگاهها و نظرات خود را بنویسید
برای گفتگو با کاربران ثبت نام کنید یا وارد حساب کاربری خود شوید.
دوستان من میخوامبرنامه نویسی را شروع کنم به یاد گرفتن و تا الان هم مطلبی از برنامه نویسی بلد نیستم و زبان مورد نظرم هم جاوا هست. میخواستم بدانم کتاب خود آموز بسیار مفیدی سراغ دارید پیشنهاد کنید و یا آموزشگاه خوبی میشناسید در کرج؟ (ببخشید که نظرم بی ربطه)
کتاب How to JAVA program از Deitel.
فارسیشم هست ولی انگلیسیش خیلی کامل تره.
جالب بود
باز هم از این مطالب برنامه نویسی بزارید
ممنون
فک نکنم این مشکل رو بیشتر از یک اپسیلون بتونیم مشکل بدونیم. آخه رشد تکنولوژی رو روی نمودار ببینید دیگه متوجه میشید که این نمودار در سالهای اخیر به جای این که رو به رشد باشه دیگه داره به خط موازی محور Y تبدیل میشه و عملا این مشکل همین الآن هم حل شده قبل از این که حتی یک میلیونیوم گیکها متوجه اون بشن.
از تمام این حرفا بگذریم به مشکل آب در چند سال آینده میرسیم که معلوم نیس چجوری میشه برطرفش کرد
اقا مشکلات کامپیوتریو ول کنید،
«بزرگترین مشگل»
گرمای هوا هست دارم میپزم تازه پنکه کولر روشنه دارم میپزم :|
میفهمی تا اون موقع گرما چقدر شدیدتر شده :|
10 دقیقه رفتم بیرون !!! به غلط کردن افتادم برگشتم !!! تهران الان جهنمه !!!
میرم بیرون احساس میکنم یکی با ذره بین گرفته رو کلّم.خورشیدم دیگه با ما شوخیش گرفته
وسط سمنان ، كوير لوت! ٤٨ درجه مي دوني يعني چي؟!
50 درجه اهواز. نبووووود؟ :)
رشت 38 درجه + 98% رطوبت :O
این مشکل شاید روی 1 سیستم عامل به راحتی رفع بشه !!! ولی وقتی صحبت از این جهان به سرعت در حال گسترش باشه !!! به عمق فاجعه می شه پی برد !!! گرمه !!!
موضوع مهم ديگر، مربوط به سال 1400 هجري شمسي است. در بعضي نرم افزارها و ديتابيس هاي فارسي (از جمله ديتابيس هاي شركتي كه خودم كار مي كنم)، سال شمسي بصورت عدد دو رقمي يا رشته دو حرفي (حداكثر 99) تعريف شده كه بايستي طي سال هاي آينده اين مسئله در كدها اصلاح شود.
این از اون مزالبی بود که تو هیچ سایتی غیر از دیجیاتو پیدا نمیشه ( اگه الا همسایه ها نیان کپی کنن :) )
دیجیاتو بازم انتظارتمونو بالا میبری با این مطالب
"مطالب"
بچه ها توجه کردید از وقتی نیما رفته مانی بیشتر میاد بین ما؟
ولی نیما خیلی حیف بود
جالب بود. خسته نباشيد آقاى صادقپور.
اما فكر نميكنم فهميدن تفاوت بين بيت و بايت نياز به گيك بودن داشته باشه.
دوست عزیز هنوز هستند کسایی که به ویندوز میگند سیستم عامل و وقتی میخواند بگند گنو/لینوکس(همون لینوکس بگیم بهتره) میگند ویندوز لینوکس اونوقت توقع داری همه فرق بین بایت و بیت رو بدونند ؟
گرمه !!!!!