بنده مهدی بهاء در حوضه Front-End فعالیت می کنم ، همچنین به نجوم ، ریاضیات ، زیست شناسی و فناوری علاقه دارم و موفقیت روز افزون رو برای استارتآپ های ایرانی آرزومندم .
مفهوم Backward compatibility
تو دنیای نرمافزار و سختافزار مفهومی تحت عنوان backward compatibility وجود داره . این مفهوم زمانی رخ میده که یک ورژن جدید از سخت افزار یا نرم افزار میتونه با ورژن های قدیمی تر خودش سازگار باشه و بتونه از ورژن های قدیمی تر خودش استفاده کنه . به عبارت دیگر، زمانی که تو ساخت یک محصول نرمافزاری یا سختافزاری، از فناوری یا ویژگی جدیدی استفاده بشه و سیستم بتونه با ورژن جدید مثل ورژن قبلی و بدون مشکل کار کنه ، اصطلاحا میگن که این ورژن Backward Compatible هست . نقطه مقابل اون هم Backward Incompatible هست و زمانی رخ میده که ورژن فعلی با ورژن قبلی خودش ناسازگار باشه و این باعث بروز خطا و مشکلاتی بین اون دو ورژن از سختافزار یا نرمافزار میشه .
مثال :
USB 3.0
برای درک این مفهوم اکثرا USB 3.0 رو مثال میزنن ، این پورت همون پورت آبی رنگی است که امروزه روی اکثر دستگاه های جدید دیده میشه .
این نسخه از USB ها از سرعت انتقال اطلاعات بالاتری نسبت به ورژن قبلی یعنی USB 2.0 برخوردارند .
اما نکتهای که اینجا باید بهش توجه کنیم اینه که پورت های USB 3.0 علاوه بر ساپورت کردن فلشها ، کیبوردها ، موسها و دستگاههای USB 3.0 ، ورژن قبلی خودش یعنی USB 2.0 رو هم ساپورت میکنه.
به زبان سادهتر اگه ما فلشهای USB 2.0 رو به پورت های USB 3.0 روی سیستم خودمون بزنیم ، کامپیوتر فلش رو تشخیص میده .
پس اینجا میگیم که USB 3.0 قابلیت Backward Compatibility داره .
یا مثال دیگه اینه که زمانی که PlayStation 5 به بازار عرضه شد ، قابلیتی رو همراه خودش عرضه کرد که خیلی سروصدا بهپا کرد . اون زمان میگفتند این نسخه از کنسول های Sony قابلیت
Backward Compatibility رو همراه خودش عرضه کرده ، در واقع شما با این کنسول حتی میتونستید بازی های نسخه قبل یعنی PlayStation 4 رو تجربه کنید .
یا مثلا نرمافزار Word 2022 قابلیت کارکردن با فایل های ساخته شده توسط Word 2007 و ... رو داره .
فتوشاپ هم همینطور .
یا مثلا اکثر برنامه های نوشتهشده برای Windows 8 روی Windows 10 هم قابل اجراست .
و هزاران مورد این چنینی که اگه دور و بر خودمون رو با دقت نگاه کنیم متوجه انواع و اقسام Backward Compatibility ها میشیم .
خب تا اینجا فکر میکنم که این مفهوم رو کاملا متوجه شده باشید ، پس مثال بیشتر نمیزنم و اگر علاقهمند بودید میتونید مثالهای بیشتری رو تو اینترنت پیدا کنید .
در آخر هم باید بگم که بهزودی میخوایم سراغ مبحثی تحت عنوان Semantic Versioning بریم و این مفهوم Backward Compatibility پیشنیازی برای اون بحث هستش .
سخن پایانی :
اگه پینشهاد یا انتقادی دارید خوشحال میشم که من رو در جریان بزارید .
ممنون از وقتی که گذاشتید 💖🙏
مطلبی دیگر از این انتشارات
توابع پرکاربرد آرایه در PHP
مطلبی دیگر از این انتشارات
مرور ساده و سریع بر Python Types
مطلبی دیگر از این انتشارات
آشنایی با دیزاین پترنها: راهکارهای استاندارد برای حل مسائل برنامهنویسی